Abstract We present two Model Driven Engineering (MDE) tools, namely the Eclipse Modeling Framework (EMF) and Umple. We identify the structure and characteristic.

Slides:



Advertisements
Similar presentations
Integration of MBSE and Virtual Engineering for Detailed Design
Advertisements

Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Data Model driven applications using CASE Data Models as the nucleus of software development in a Computer Aided Software Engineering environment.
© 2005 by Prentice Hall Appendix 2 Automated Tools for Systems Development Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design Third Edition.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
Requirements Analysis 5. 1 CASE b505.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis CASE Computer.
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
Building software from reusable components.
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
© 2005 by Prentice Hall Appendix 2 Automated Tools for Systems Development Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F.
Overview of Eclipse Parallel Tools Platform Adam Leko UPC Group HCS Research Laboratory University of Florida Color encoding key: Blue: Information Red:
SCHOOL OF COMPUTING QUEEN’S UNIVERSITY 08/03/2013 Andrew Forward, Omar Badreddin, Timothy C. Lethbridge, and Julian Solano School of Electrical Engineering.
Annual SERC Research Review - Student Presentation, October 5-6, Extending Model Based System Engineering to Utilize 3D Virtual Environments Peter.
The Umple Model-Oriented Programming Technology: Easy-to-Use Open-Source Code Generation Code Generation 2013, Cambridge UK Timothy C. Lethbridge, University.
Principles of Object Technology Module 1: Principles of Modeling.
Model-Oriented Programming: Bridging the Model-Code Divide Modeling in Software Engineering (MiSE 2013) Omar Badreddin, Timothy C. Lethbridge University.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 1 Design with Reuse l Building software from reusable components.
Appendix 2 Automated Tools for Systems Development © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 1.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Modeling Practices in Open Source Software OSS 2013 Koper-Capodistria, Slovenia Omar Badreddin Post Doctoral Fellow, University of Ottawa
Chapter 2 The process Process, Methods, and Tools
1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments.
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
Introduction to MDA (Model Driven Architecture) CYT.
Tools for Diagrammatic Specifications Stian Skjerveggen Supervisors: Yngve Lamo, Adrian Rutle, Uwe Egbert Wolter.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
Workshop 16: An upward shift in abstraction leads to a corresponding increase in productivity. In the past this has occurred when programming languages.
Through the development of advanced middleware, Grid computing has evolved to a mature technology in which scientists and researchers can leverage to gain.
Reviewing Recent ICSE Proceedings For:.  Defining and Continuous Checking of Structural Program Dependencies  Automatic Inference of Structural Changes.
A Novel Approach to Architectural Recovery in Evolving Object- Oriented Systems PhD thesis Koen De Hondt December 11, 1998.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Selected Topics in Software Engineering - Distributed Software Development.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Umple Toolkit for Model-Oriented Programming NECSIS Webinar, May Timothy C. Lethbridge, University of Ottawa
Knowledge-oriented Maintenance at the University of Ottawa Timothy C Lethbridge KOM Banff.
Systems Analysis and Design in a Changing World, 3rd Edition
Improving Code Generation for Associations: Enforcing Multiplicity Constraints and Ensuring Referential Integrity SERA 2013SERA 2013 (August 7, 2013 in.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
March 2004 At A Glance NASA’s GSFC GMSEC architecture provides a scalable, extensible ground and flight system approach for future missions. Benefits Simplifies.
Applying a Research Prototype Tool in Industrial Practice Ottawa Carleton Institute for Computer Science Umple: a Model Oriented Programming Language University.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Teaching UML Using Umple: Applying Model-Oriented Programming in the Classroom CSEE&T 2011 Timothy C. Lethbridge, Gunter Mussbacher, Andrew Forward and.
T HE F IRST R ULE OF S OFTWARE S USTAINABILITY : D O NOT TALK ABOUT S OFTWARE S USTAINABILITY The Problem Time is a facile measurement of software sustainability.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Generating Software Documentation in Use Case Maps from Filtered Execution Traces Edna Braun, Daniel Amyot, Timothy Lethbridge University of Ottawa, Canada.
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design.
Essential Customization for Moodle Adoption in School Jeong Ah Kim', SunKyun Park 1 ' 2 Computer Education Department, Kwandong University, KOREA
Chapter 4 Automated Tools for Systems Development Modern Systems Analysis and Design Third Edition 4.1.
Survey of Tools to Support Safe Adaptation with Validation Alain Esteva-Ramirez School of Computing and Information Sciences Florida International University.
NURHALIMA 1. Identify the trade-offs when using CASE Describe organizational forces for and against adoption of CASE tools Describe the role of CASE tools.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California
ETrice Release Review | © Protos Software GmbH, Made available under the EPL v 1.0 eTrice Release Review Planned Review Date: Communcation.
Appendix 2 Automated Tools for Systems Development
What is Wrong with Models?
Modern Systems Analysis and Design Third Edition
Modern Systems Analysis and Design Third Edition
Applying a Research Prototype Tool in Industrial Practice
Model-Driven Analysis Frameworks for Embedded Systems
Chapter 4 Automated Tools for Systems Development
Modern Systems Analysis and Design Third Edition
Modern Systems Analysis and Design Third Edition
Automated Analysis and Code Generation for Domain-Specific Models
Modern Systems Analysis and Design Third Edition
Timothy C. Lethbridge, Andrew Forward, Omar Badreddin
Presentation transcript:

Abstract We present two Model Driven Engineering (MDE) tools, namely the Eclipse Modeling Framework (EMF) and Umple. We identify the structure and characteristic features of each tool. More importantly, we assess the potential impact of the tool on Open Source Software (OSS) development and process. Umple is particularly suited for OSS development due to its textual representations of UML models, and its integration with executable environment. How could EMF & Umple affect OSS development? Eclipse Modeling Framework (EMF) Conclusions Model Driven Engineering approach is aiming to simplify the software design process and promote communication between team members. However, modeling tools are still not widely adopted in OS software development. The majority of MDE tools are commercial which not support the spirit of OSS communities. Part of the evolution of Eclipse modeling projects, EMF was established as a base to support the creation of OS modeling tools. In addition, Umple modeling tool was created to promote modeling practices of software development. These two tools can be leveraged to enhance OSS development processes, promoting a structure way of design and facilitating communication between team members. For future works, empirical studies are needed to evaluate the impact of these modeling tools in OSS projects, comparing the efficiency and quality between code and model centric OSS projects. Abdullah Aldaeej University At Albany References Kim, W., Chung, S., & Endicott- Popovsky, B. (2014, October). Software architecture model driven reverse engineering approach to open source software development. In Proceedings of the 3rd annual conference on Research in information technology (pp. 9-14). ACM. Benelallam, A., Gómez, A., Sunyé, G., Tisi, M., & Launay, D. (2014). Neo4EMF, a scalable persistence layer for EMF models. In Modelling Foundations and Applications (pp ). Springer International Publishing. Guntli, C. (2010). Create a DSL in Eclipse. Tech. rep. HSR- University of Applied Science in Rapperswil. Forward, A., Badreddin, O., & Lethbridge, T. C. (2010, June). Perceptions of software modeling: a survey of software practitioners. In 5th workshop from code centric to model centric: evaluating the effectiveness of MDD (C2M: EEMDD). Forward, A., Badreddin, O., & Lethbridge, T. C. (2010, June). Umple: Towards combining model driven with prototype driven system development. In Rapid System Prototyping (RSP), st IEEE International Symposium on (pp. 1-7). IEEE. Zutterman, S. (2013). Development of a Tool for Business Architecture Modeling in Eclipse (Master thesis, Ghent University) Umple. (n.d.). Retrieved February 15, 2015, from ple/ ple/ Eclipse Modeling Framework (EMF). (n.d.). Retrieved February 18, 2015, from emf/ Literature Review Please reference this paper: 03/modeling-practices-in-open-source- software.pdf 03/modeling-practices-in-open-source- software.pdf Visual documentation in the form of models can significantly increase comprehension of an online OSS project over having textual information. (Kim, 2014) A key challenging of including visual architecture modeling in OSS projects is that Software development technologies are changing faster than OSS graphic modeling tools, and lack of visual tool supported OSS projects. (Kim, 2014) Addressing EMF scalability issues, Benelallam et al proposed a scalable persistence layer for EMF called (Neo4EMF), utilizing the efficiency of graph databases in storing and accessing graph structures. Using EMF significantly reduces the development time to generate code and makes a domain model explicit, maintaining clear visibility of the used model. (Guntli, 2010) The adoption of MDE remains much lower in software engineering, mostly used for documentation only. (Forward A et al, 2010) The Effect of Model Driven Engineering in Open Source Software Development Umple \ Different ways for defining ecore model Provide the platform specific information Holds ecore model code Hold presentation independent adapters Hold presentation code A modeling framework and code generation facility for building tools and other applications based on a structured model. Provide tools and runtime support to automatically generating code from a predefined model. Most of the code is java based; it can be extended By adding additional plug-ins to support project in other program Languages. Ecore is an EMF metamodel for defining models (Standard for data models) Web-based modeling environment (UmpleOnline) An open source project developed by a team in the University of Ottawa – Canada. A modeling tool & programming language to enable model-oriented programming. Adds UML associations, attributes, and state machines to object-oriented programming languages such as Java, C++, PHP and Ruby. UML diagrams are embedded textually with code. Models can be created using the textual or visual editors with changes reflected in both views. Third party tools (such as Eclipse plugins) can interact with Umple system via XMI. A foundation to create modeling tools for OSS projects. Embedding model elements and code artifacts within the same repository Incremental development of OS model tools Facilitate maintaining and evolving the code. Automatically generate Java code from a structure model (Ecore model) Automatically generate (java, Php, C++) code from UML models User Interfaces (UIs) for storing, displaying, and modifying structure data models Visualize source code as UML diagrams Forward et al (2010) Zutterman, S. (2013)