1
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 Literature Review • Please reference this paper: https://obahy.files.wordpress .com/2013/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 Umple \ Different ways for defining ecore model Provide the platform specific information Holds ecore model code Hold presentation independent adapters Hold presentatio n 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)

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

Embed Size (px)

Citation preview

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

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)

ConclusionsModel 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

Literature Review

• Please reference this paper: https://obahy.files.wordpress.com/2013/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)

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)

Omar Badreddin
(I would like to see Umple above EMF)Add reference to Umple online: ww.Try.Umple.orgI would remove the architecture image, and focus on the interface image (the one on the right)Add that Umple is developed using Umple, and it is open sourced, and it is the first open source project where contributions are done in models and code.