Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Modeling Corner
Welcome to the Modeling Corner! On this page you will find materials contributed by the Eclipse Modeling Community. Want to contribute something? If you have a Bugzilla account, you can edit this page to add your own contribution or review others' work.
Or, you can post your contribution to Modeling @ Eclipse Marketplace.
Contents
- 1 Models
- 2 Frameworks
- 3 Tools/Utilities
- 3.1 eUML2 - UML & EMF Designer
- 3.2 eBPMN Designer
- 3.3 TOPCASED Graphical Ecore Editor
- 3.4 Acceleo
- 3.5 realMethods Framework
- 3.6 Tefkat
- 3.7 Dynamic JET Generator
- 3.8 Emfatic
- 3.9 JET-Editor
- 3.10 Marven
- 3.11 XPath Support for EMF
- 3.12 Notification Gatherer
- 3.13 Extended EMF Reflective Editor (Exeed)
- 3.14 GMF Wizards/Macros
- 3.15 Groovy EMF Builder
- 3.16 TextUML Toolkit
- 3.17 GenGMF
- 3.18 EuGENia
- 3.19 rCOS Modeler
- 3.20 Obeo Designer
- 3.21 EEF (Extended Editing Framework)
- 3.22 UML Designer
- 4 Examples
- 5 Other
Models
Atom Syndication Format in EMF
By Peter Nehrer, 2006-06-09
This project aims to provide an EMF-based model for representing the Atom Syndication Format. Its deliverables include an extensible Ecore model along with a set of generated implementation classes (both model and editing support). The Ecore model closely follows the official Atom Syndication Format Specification. Content rules that cannot be represented in the model itself are encapsulated in a set of external validators. This gives the model the ability to represent incomplete Atom documents or those that are not 100% standard compliant.
Reviews
No reviews yet. Edit this document to contribute a review.
EMF Persistency Layer using Hibernate/JPOX with support for EJB3-EAnnotations
By Martin Taal, 2006-06-08
Elver EMF Store is a persistency solution for EMF using Hibernate or JPOX/JDO 2.0. It supports automatic creation of EMF to Relational Mappings and the related database schemas. The solution also contains a runtime layer to support specific EMF features. EMF Objects can be stored and retrieved using advanced queries (HQL or JDOQL). EMF resource implementations are provided for integration with EMF Editors. The persistence logic and mapping can be controlled using EJB3-like annotations. Most of the EJB3 mapping standard is supported.
Reviews
EMF Persistency Layer using JDO/JPOX, a distribution and screenshot, by Noud deBrouwer, 2006-03-30 Zero-effort persistency. Distribution Screenshot
Sympedia GenFw Generator Framework
By Eike Stepper, 2006-02-04
Sympedia GenFw is a flexible and easy to use framework for software artifact generation. Input models can be associated with generators via extensible rule sets. Additional Content providers, generators and rules can be provided by Eclipse plugins.
Reviews
Sympedia GenFw Generator Framework Review, by Philipp W. Kutter, 2006-05-25 We have been using GenFw productively in a large project in the financial industry over the last 3 months. Originally we have chosen GenFw because it allowed to do certain things (like project specific code formatting/adding removing templates) which where not working in EMF back then. The usage of GenFw was straight forward, and it helped us nicely manage our custom JET templates. The option to do EMF without merging is something very interesting in very large projects, like the one we worked on. The developer of GenFw, Eike Stepper did a tremendous job porting his framework back from Eclipse 3.2/EMF 2.2 to Eclipse 3.1/EMF 2.1. Without this special effort, our EMF introduction would have been canceled by the management. In the meantime the two main issues with EMF (formatting, adding/removing templates) are solved, and our client was ready to move on to 3.2. Currently we investigate the usage of GenFw for pure code generation with Jet Templates, which are triggered by OCL rules. Last but not least, I would like to mention that the tutorials where great to get our people started with the framework.
XML Processing Instruction support
By Peter Nehrer, 2006-12-05
This small project provides support for modeling XML Processing Instructions in EMF. It consists of a model for representing Processing Instructions and a customized XMLResourceImpl, which handles loading and saving of PIs. Currently, Processing Instructions are not supported natively in EMF.
To add support for Processing Instructions to your model, modify your model's Resource implementation to subclass PIResourceImpl instead of XMLResourceImpl. Furthermore, add PIItemProviderAdapterFactory to your ComposedAdapterFactory instances. When a Processing Instruction is encountered in the context of a mixed-content element (or the document root), it will be added to the corresponding feature map, much like text, comments, and cdata sections.
The code was compiled against Eclipse 3.2.1 and EMF 2.2.1 in J2SE-1.4 execution environment.
Reviews
No reviews yet. Edit this document to contribute a review.
Frameworks
MetaDiff
By Mark Kofman, 2005-08-02
MetaDiff is a generic model comparison solution. Generic, in a sense, that it should make possible to compare models based on different meta-models specified by EMF. It is important to point out that result is not a tool but a framework. In addition to model comparison functionality, framework should also give a possibility to extend available comparison algorithms, and provide practical way of working with different meta-models.
Reviews
No reviews yet. Edit this document to contribute a review.
IBM Model Transformation Framework
By Catherine Griffin, 2005-01-05
The IBM Model Transformation Framework supports the development of tools that compare, merge, transform or generate text from EMF models. Samples include generation of HTML documentation from Ecore models and a bi-directional UML2.0 to XSD transformation.
Reviews
No reviews yet. Edit this document to contribute a review.
CDO Example Workspace
By Eike Stepper, 2004-10-11
CDO (Connected Data Objects) is an object persistence technology that integrates with EMF (Eclipse Modelling Framework) to transparently store objects of an arbitrary business model in a relational database system. This is an example workspace to demonstrate the basic functionality of CDO. Please visit the website for further instructions. Any feedback is greatly appreciated. Happy persisting...
Reviews
1/2 A must have for those who love EMF and distributed applications, by Seweryn Niemiec, 2006-05-18 Imagine you have the same instance of EMF model on many Eclipse platforms and machines. Editors are notified about changes made in other editors. Additionally you get model persistence in relational database. New version utilizes non-blocking IO and has well prepared, ready to use example of distributed EMF Editor and CDO Resource Browser.
Tools/Utilities
eUML2 - UML & EMF Designer
By yves yang, 2007-2-10
eUML2 for Java is a powerful UML modeler designed for Java developer in eclipse. The main features are:
- Real-time code/model synchronization
- UML2.1 compliant and support of OMG XMI
- Advanced reversed engineering
- Powerful true dependency analyze tools
- JDK 1.4 and 1.5 support
- Customizable template support.
It provides an EMF native graphic editors with 2 diagrams and the Java code generation driving through class diagram directly. In the version 2.2.0 of Free edition, it is possible to export UML model to EMF.
Reviews
No reviews yet. Edit this document to contribute a review.
eBPMN Designer
By yves yang, 2007-2-10
eBPMN Designer is a high extensible and intuitive graphic tools for BPMN modeling. It implements:
- Full object model of the specification BPMN 2.0
- Facility to design Embedded sub-processses
- Type conversion.
- Connectivity control and advice.
- Powerful modeling assistance for creation and insertion.
- Download
- Visit Site
- Web demo
- Screenshot
Reviews
No reviews yet. Edit this document to contribute a review.
TOPCASED Graphical Ecore Editor
By David Sciamma, 2006-05-09
TOPCASED provides a graphical ecore editor:
- Wizard to create new ecore diagram from scratch or from an existing ecore model
- Handle multi-diagrams
- Tree or overview outline with full edition capabilities
- Image export
- Dedicated documentation view
- ...lots of new features are coming TOPCASED is an opensource project licensed under EPL.
- Download
- Visit Site
Reviews
TopcaseD Review, by Philipp W. Kutter, 2008-01-08 We use the TopcaseD ECore editor since years, and at the moment we run version 1.2 under Eclipse 3.4M4 and EMF 2.4. Everything works perfectly, and we are looking forward to migrate to the successor of the TopcaseD ECore editor, the forthcomming official Eclipse MDT Ecore editor. Congratulations to the TopcaseD project both for their product, and the successful integration with the mainstream Eclipse projects! We hope to see more industry players to contribute to Eclipse in the future.
Acceleo
By Jonathan Musset, 2006-04-25
Acceleo is a pragmatic implementation of the Object Management Group (OMG) MOF Model to Text Language (MTL) standard. You do not need to be an expert to start using the plug-ins and create your first code generator : using the provided example projects and the powerful completion feature of the Acceleo editor, it is very easy to get started and understand the basic principles. Acceleo is the result of several man-years of R&D started in the French company Obeo. Junction between the OMG MTL standard, its team's experience with industrial code generation and the latest research advances into the M2T field, it offers outstanding advantages : High ability to customize, Interoperability, Easy kick off, Traceability Management, and many more!
Reviews
Acceleo Review, by Adelino, 2006-05-21 After doing the quick start tutorial found on the Acceleo web site, I am very impressed by the simplicity and quality of this plug-in. Acceleo allows with a few clicks to generate code from an EMF model using one or more JET-like templates.
realMethods Framework
By Tyler Winston, 2006-01-30
Quickly generate multi-tier design pattern based J2EE applications from one or more ECore files. Includes complete support for Struts, Hibernate, Ant, Axis Web Services, and more. Portal and AJAX support are coming soon.
Reviews
No reviews yet. Edit this document to contribute a review.
Tefkat
By michael lawley, 2005-06-22
Tefkat is an implementation of a fully-declarative model transformation language for EMF.
Tefkat features include:
- support for multiple source and target models,
- models based on Ecore, MOF2, UML2, and those derived from XML Schema,
- a built-in editor,
- a source-level debugger, and
- generation of trace models linking source and target elements. 2006/04/04: Tefkat is
now Open Source!
Reviews
Way Cool, by Simon Pope, 2005-07-16 I`ve been waiting for a public version of TEFKAT with much anticipation.
Dynamic JET Generator
By Joel Cheuoua, 2004-12-10
This is an Eclipse plugin, based on EMF and JET templates, whose goal is to ease the process of automating the code generation process. Using Merlin JET Generator, you'll be able not only to dynamically generate code from your EMF Genmodel, but also yo can have a better control on the generation thanks to a customizable mapping capability between the JET templates and any Genmodel elements
Reviews
1/2 Dynamic JET Generator Review, by Ed Merks, 2005-06-01 I highly recommend the JET editor if you are doing editing of JET templates. It's cool!
Great .jet editor, by J366rg von Frantzius, 2005-04-06 The included .jet editor has very good syntax highlighting and some code completion, better than JETEditor. Works with Eclipse 3.1 M5 (0.4.6 unfortunately is broken with 3.1 M6).
Emfatic
By Chris Daly, 2004-11-10
Emfatic is a language for representing EMF Ecore models in a simple textual form.
There are currently several different ways to construct and modify EMF Ecore models, including annotated Java, XML Schema, Unified Modeling Language (UML) tools, and the EMF model editor. The advantage of Emfatic is that it represents an entire Ecore model in a single source file and it uses a Java-like syntax familiar to many programmers.
Emfatic comprises several Eclipse plug-ins, which include an editor and a parser for the language. The Eclipse plug-ins add actions that allow Emfatic source code to be compiled into an Ecore model and also allow Ecore models to be decompiled into Emfatic source code.
Reviews
1/2 Emfatic Review, by Felix Leipold, 2006-06-12 Emfatic is a nice and clear way to express emf meta models. It's way less cluttered than annotated interfaces. I'd love to see it in the standard emf distribution, perhaps with autobuild emf->ecore.
Emfatic Review, by Rui Figueira, 2004-12-14 very cool! Auto-completion would be nice, however :D
JET-Editor
By Alexander Rupsch, 2004-10-03
Editor for JET-templates. It is intended to support the development of JET-templates in a quality which is adequate to other eclipse language support.
Reviews
1/2 JET-Editor Review, by Ed Merks, 2004-11-23 It's very cool and definitely makes templates easier to read and write.
Must have!, by Jorg von Frantzius, 2004-10-05 Working on complex .jet sources without this editor can drive you nuts. Made my JET coding life much easier.
Marven
By Alexander Rupsch, 2004-10-03
Marven is a model based generator implemented as eclipse plugin. It is based on EMF JET-templates and the UML 2.0 metamodel implementation for eclipse. It comes with a comprehensive example to generate EJBs out of UML-models.
Reviews
No reviews yet. Edit this document to contribute a review.
XPath Support for EMF
By Peter Nehrer, 2006-02-16
This software component provides support for using the XPath language to navigate arbitrary EMF models. Jaxen is used as the underlying XPath engine, with a custom document model adapter that allows it to navigate EMF object graphs using XPath constructs.
Reviews
No reviews yet. Edit this document to contribute a review.
Notification Gatherer
By Constantine A Plotnikov (on behalf of IBM ATS), 2004-10-07
The Notification Gatherer component is a simple utility component that automates listening to events that happen in EMF object graph. Such code usually is not very complex, but it is quite error prone because a lot of small things should be done in a lot of places. So, from our experience, the component enhances clarity of the code and reduces number of bugs. The component is a reimplementation of the idea that was previously implemented in NSMDF and NSUML open source projects. These projects have an idea that is similar to EMF one, but their APIs significantly differ from EMF API. The plug-in is submitted as patch to EMF team. URL points to corresponding RFE.
Reviews
No reviews yet. Edit this document to contribute a review.
Extended EMF Reflective Editor (Exeed)
By Dimitrios Kolovos, 2006-14-02
Exeed is a tree-based EMF model editor for editing models of arbitrary ECore metamodels. It has been implemented on top of the built-in reflective EMF editor and provides features such as customizable labels and icons for model elements both in the tree view and in the properties view. To implement customized editors using the built-in EMF tools, one needs to generate one editor for each ECore metamodel and then customize the generated code. By contrast, in Exeed customization is achieved using specific EAnnotations in the ECore metamodel itself and thus, it is not required to generate and customize one editor for every ECore metamodel. Exeed has been developed in the context of the Epsilon GMT component and is open-source software.
Reviews
No reviews yet. Edit this document to contribute a review.
GMF Wizards/Macros
By Dimitrios Kolovos, 2007-14-09
This extension enables users to write and execute wizards/macros that automate complex modelling tasks in GMF editors. The extension has been implemented atop GMF and thus, it works with existing GMF-based editors (e.g. the ECore and UML2 editors) without needing to customize/re-generate them. Wizards are defined using an OCL-based task-specific imperative language (Epsilon Wizard Language) which is a part of the Epsilon GMT component and provide support for user input and integration with the GMF editing stack to enable users undo/redo the effects of wizards on the edited models.
Reviews
No reviews yet. Edit this document to contribute a review.
Groovy EMF Builder
By Joern Dinkla, 2007-28-11
The Groovy programming language allows the creation of domain specific languages with its "BuilderSupport" class. This is used by EMFBuilder to create a language defined by an Ecore EFactory. Because UML2 uses EMF, UML2 models can be created using the EMFBuilder, too.
This allows a direct representation of the model in the Groovy language to programmatically create or process Ecore/EMF models.
Reviews
No reviews yet. Edit this document to contribute a review.
TextUML Toolkit
By Rafael Chaves - abstratt.com, 2008-08-01
The TextUML Toolkit is a free IDE for UML modeling that uses a textual notation. Features:
- instant validation and model generation
- syntax highlighting, code formatter, outline
- class diagram visualization
- textual renderer for existing UML models
- UML2-based
Links
Reviews
No reviews yet. Edit this document to contribute a review.
GenGMF
By Enrico Schnepel, 2009-07-05
GenGMF is a GMF model generator. It allows the easy creation of GMF based editors. Like in GMF the editor in described in an editor model. Interactive wizards support the iterative construction of the complete model. The common layout of a group of figures is modeled in a template which could be instantiated for several meta model elements. Instantiation means that you could vary e.g. the background color of the figure without modeling a new figure like in GMF.
Links
Reviews
No reviews yet. Edit this document to contribute a review.
EuGENia
By Dimitris Kolovos, 2009-10-18
EuGENia is a tool that automatically generates the .gmfgraph, .gmftool and .gmfmap models needed to implement a GMF editor from a single annotated Ecore metamodel. EuGENia provides high-level annotations that shield you from the complexity of GMF and lowers the entrance barrier for creating your first GMF editor. While EuGENia is very useful for getting started with GMF, it doesn't stop there and can be used all the way to the final polished version of your editor.
Links
- EuGENia documentation
- EuGENia tutorial and supported annotations
- Screencast demonstrating EuGENia in action
Reviews
No reviews yet. Edit this document to contribute a review.
rCOS Modeler
By Volker Stolz, March 2011.
The rCOS Modeler supports component-based model driven software development using the rCOS (Refinement of Component and Object Systems) method. It provides an UML-like multi-view and multi-notational modeling and a design platform with the ability to add plug-ins.
The tool supports the rCOS method in model construction, analysis, verification and correctness preservable transformations; and it generate verifiable code from design models.
The special features of the tool include:
- In the requirements phase, it facilitates both the development process and the persistence of formal verification artifacts in the model: a use case is specified as a rCOS contracts of a components in multiple views, including a sequence diagram for the interaction protocol between the actors and the component, a state diagram for the reactive behaviour of the component, the UTP specification of the designs of the methods provided by the component, and a class diagram for definitions of the objects and data types.
- In the design phase, use case components are designed by model transformations implementing proved OO refinement rules and design patterns, and then decomposed and composed into a component-based model of a logical design architecture.
- Consistency of the different views of the requirements models and interface compatibilities can be checked by using model checking tools like FDR.
- It supports the generation of skeletons Java sourcecode out of the whole design which results in an executable prototype.
The tool is implemented on top of the Eclipse platform using a UML profile, ensuring compatibility with other UML-based software engineering tools.
Reviews
No reviews yet. Edit this document to contribute a review.
Obeo Designer
By Freddy Allilaire, March 2012.
Obeo Designer is an innovative solution to create and customize graphicals modelers and MDA studios. Obeo Designer provides a settings tool to create Domain Specific Modeling:
- choose if you want to use your DSL, UML, BPMN or any other standard to store your models
- define what will be displayed, the graphical aspects, tool palettes and their associated behaviors, ...
- assemble these various representations in "viewpoints" dedicated for users actions (performance analysis, component design, policy control, ...)
- Add code generators, model transformations and validators
Obeo Designer is based on GMF, but it simplifies the creation of new designers with an interpreted engine. You don't need anymore to be an Eclipse expert to create your own modeling environment and your own diagrams.
Main customisable parts of Obeo Designer are:
- Choose of serialised format for your models (EMF)
- Viewpoint customisation (dynamic GMF)
- Code generation (Acceleo)
- Models transformation(ATL)
- Code / models traceability and synchronisation (Obeo Traceability)
- Collaborative work (CDO and EMF Compare)
Links
Reviews
No reviews yet. Edit this document to contribute a review.
EEF (Extended Editing Framework)
By Freddy Allilaire, March 2012.
EEF provides a generative component and runtime infrastructure for developing advanced components to ease the EMF based model editing. It is composed of three parts:
- A runtime containing a set of advanced widgets and a generic and extensible MVC architecture
- Standard metamodels allowing the definition of models that will parameterize the actual editing components that are to be generated
- An Acceleo module generating a standard architecture extending the framework's runtime.
The generated elements can be integrated in any SWT/JFace components to ease the EMF model based editing.
Links
Reviews
No reviews yet. Edit this document to contribute a review.
UML Designer
By Freddy Allilaire, March 2012.
UML Designer provides a set of common diagrams to work with UML 2.1 models. The intent is to provide an easy way to make the transition from UML to domain specific modelling. This way users can continue to manipulate legacy UML models and start working with DSL. Users can even re-use the provided representations and work in a total transparence on both UML and DSL models at the same time. This product is not yet compatible with Eclipse Indigo. This module used the standard UML2 metamodel provided by Eclipse Foundation and it implements the following generic UML diagrams:
- Package Hierarchy
- Class Diagam
- Component Diagram
- Object Diagram
- Composite Structure
- Use Case Diagram
- Activity Diagram
- State Machine
- Sequence Diagram
Links
Reviews
No reviews yet. Edit this document to contribute a review.
Examples
EMF Eclipse Forms Editor
By Steve Blass, 2004-10-04
This example demonstrates how to convert a generated EMF editor to an Eclipse Forms based editor by changing the generated editor to extend FormEditor rather than MultipageEditorPart and using addPages() rather than createPages(). In particular this example implements Master/Details form editing of the libary model presented in the EMF overview documentation.
Reviews
1/2 EMF Eclipse Forms Editor Update, by Steve Blass, 2004-10-26 The form editor example has been revised. The new version is a stand alone plugin delivering a Master/Details editor able to edit arbitrary EMF models.
EMF Eclipse Forms Editor Review, by Mark Diggory, 2004-10-13 Great example, I might recommend packaging the source as a plugin projects so it can be reused without going through the process of setting up each plugin project just to get the source compiling. Great job.
EMF Eclipse Forms Editor Review, by Kiran, 2004-10-07 Hi Steve, This is a very good example which helped me a lot.
Sandwich Pattern
By Philipp W. Kutter, 2004-10-04
Frameworks on top of EMF: the Sandwich Pattern - see http://www.montages.com/index.php?lbl=sandwich for details
Reviews
No reviews yet. Edit this document to contribute a review.
Other
Lightweight Modeling
By Ronald, 2006-04-30
This article on TheServerSide brought my attention to EMF. It might be interesting to others (newbies like me?).
Reviews
No reviews yet. Edit this document to contribute a review.
EMF / GEF Shapes Example
By Chris Aniszczyk, 2005-06-17
This takes the GEF Shapes example and replaces its custom model with an EMF based one.
Reviews
No reviews yet. Edit this document to contribute a review.