- 1 Introduction
- 2 Background
- 3 Scope
- 4 Relationship with Other Eclipse Projects/Components
- 5 Project architecture
- 6 Organization
- 7 Tentative Plan
- 8 Links
This proposal consists in an open source UML & SysML graphical editor under the Eclipse Model Development Tools (MDT) project. It is in the Project Proposal Phase (as defined in the Eclipse Development Process document) and is written to declare its intent and scope. This proposal is written to solicit additional participation and input from the Eclipse community. You are invited to comment on and/or join the project. Please send all feedback to the Model Developer Tools (eclipse.modeling.mdt) newsgroup.
The initial contribution pdf document will be soon available [here].
Standardized by the Object Management Group, the Unified Modeling Language, or UML, is today one of the most generalist modeling language for software development. All over the world, numerous industrial and research projects are already using it, and it is taught in most computer sciences schools and universities. SysML represents a symmetrical effort for system engineering, even if the language itself is a little younger. Together, those two languages regroup a huge and global user community.
If some UML tools are mature enough for industrial use, almost none of them are distributed under open source licenses. This situation raises some tools durability and control problems for industrialists. Research projects are also impacted, as most proprietary products do not allow them to study their internals, to modify or to extend them easily. The Eclipse platform is therefore a first choice platform to develop such tools, due to its existing generic and UML modeling components, its licensing schema and its modeling community.
For instance Eclipse platform offers powerful frameworks (already extended to UML) like EMF, EMF Search, EMF Compare components, GMF, and some already developed UML diagrams editors. UML tools project would take a major advantage to be built and integrated with these components as it would dramatically speed up the UML & SysML tools development and keep its architecture modular. This project would therefore become a focal point with respect to UML & SysML. As Topcased, Papyrus & Moskitt open source modeling projects contributors and in an effort to optimize development forces on EMF modeling space, we would like to contribute some of our existing features to Eclipse modeling project. Among these features, UML & SysML graphical editor come as our top priority. This collaboration/merge takes place in our long term strategy, aiming to optimize development resources on EMF modeling space and improve modeling tools.
UML & SysML Tools goals can be detailed in higher level specifications :
- To make easier UML & SysML edition
- Support and respect 100% of the OMG standards
- Rely on GMF runtime for common look & feel
- Support multi diagrams
- Support industrial needs like version management & team work
- To integrate with existing generic tools
- To make a durable architecture
- Based on GMF generation as far as possible
- Open, to support diagram editors developed with different technologies
This project will provide the glue around valuable UML & SysML diagram editors (GMF based or not) and other MDE tools. It will also offer support for UML & SysML profiling mechanisms.
For each type of diagrams, we will consider the existing editors, and will integrate the best available, as far as the consistency of the product is saved (licensing, concepts, look & feel, etc.). For example, the editors of the current MDT UML Tools project, aiming to extensively generate independent UML diagram editors using GMF, will be therefore reused when it makes sense. Of course, some diagram editors will have to be specifically developed, as no satisfying alternative exists (timing diagram for example). As we intend to use GMF each time it will be the best solution, we will also contribute to its development and improvement.
At last, the architecture of this project will be open, allowing end users to extend or modify it easily.
In brief, this project intends to be a focal point for UML & SysML, providing an integration and extension means for:
- diagrams editors
- profiles design and support mechanisms
- generic modeling tools (search, validate, etc.)
UML & SysML Tools features are organized into different topics:
- Diagram editors
- Diagram editors integration
- EMF Search integration
- EMF Validation integration
The primary focus will be completeness w.r.t. both UML & SysML support, and their profile mechanism, support for collaborative work, capability to be included in qualified industrial process.
Our second focus is about solution flexibility & openness, that should allow diagram extensibility, so that we can complete diagrams in an iterative way. The GUI of the project will be customizable, in order to define for example new palettes, properties views or also new specific outlines. All these customizations will be defined in the context of a UML & SysML profile design.
Relationship with Other Eclipse Projects/Components
This proposal intends to rely on the new release of the Eclipse Development Process (if applied in June):  Papyrus will be defined as a sub-project under the Eclipse Model Development Tools (MDT) Project, and will integrate its components/sub-projects (e.g. UML2, UML2Tools).
There will be two levels :
- Papyrus sub-project, acting as a "container project" (in Eclipse terms)
- Finer-grained operating projects :
- backbone (the diagram container) = infrastructure to support multidiagrams with an API to integrate any kind of diagram (GMF, UML tools, GEF...). The backbone should be independant from any diagrams technologies.
- MTD diagram adaptor : a layer on top of MDT diagrams to make them conform to the backbone API
- Other UML diagrams outside of MDT : contributions of other diagrams to be developed directly in Papyrus Eclipse sub-project
- Facilities (navigation, contextual view, properties, validation, model comparision and merge, preferences...) : all things to integrate in order to have a full-featured tool
- XMIDI reference implementation, with import and export commands to ensure interoperability with other UML tools.
The initial committers will initially focus on providing an open, well documented API and framework. Our agile development process will follow eclipse.org's standards for openness and transparency. Our goal is to provide the infrastructure and APIs needed to allow the integration/generation of additional diagram editors. We also plan to help improving the Eclipse platform by submitting patches and extension point suggestions. The initial team will consist of several part-time resources.
Project Leadership Candidatures
- Javier Muñoz (Integranova) : Javier is a projects manager in Integranova. He is technically leading the MOSKitt project (http://www.moskitt.org), which aims to develop an Eclipse-based free case tool. Javier is finishing his Phd in the Technical University of Valencia, which proposes a model driven method with code generation capabilities for the development of pervasive systems.
- Sébastien Gérard (CEA LIST) : Sébastien is leading the Accord research team (investigating MDD for Distributing, Real-Time and Embedded systems development) of the Laboratory of Model Drive Engineering for Embedded Systems (LISE) of the CEA LIST. He is the initiator and leader of the initial Papyrus project. As the CEA representative at OMG, he is an active contributor to OMG specifications (especially on UML, SysML and MARTE which he is the FTF chair).
- Raphaël Faudou (ATOS Origin) : Experienced software architect, Raphaël is in charge of innovation and method definition for Atos Origin Toulouse (France). He is the representative of Atos Origin for the TOPCASED project (http://www.topcased.org) and is very active in the field of the Model driven engineering.
- Thibault Landré (Atos Origin)
- Chokri Mraidha (CEA LIST)
- Rémi Schnekenburger (CEA LIST)
- David Servat (CEA LIST)
- Yann Tanguy (CEA LIST)
- Patrick Tessier (CEA LIST)
- Gabriel Merin (Integranova)
- Cédric Dumoulin (LIFL)
- Etienne Juliot (Obeo)
- Javier Cano (Prodevelop)
- Dave Carlson (XMLmodeling.com)
- Sébastien Gabel (CS)
- TBD (Anyware Technologies)
- Emilien Perico (Atos Origin)
We propose sources under EPL for initial contribution. This initial contribution consists in a open framework, allowing to integrate diagram editors independently of their implementation technology, and in some diagram editors.
|org.eclipse.papyrus.backbone||The integrator backbone|
|org.eclipse.papyrus.multidiagram||Provide multidiagram base editor for GEF and GMF, independent from UML|
|org.eclipse.papyrus.scribe.core||Hand coded diagrams core|
|org.eclipse.papyrus.scribe.diagrams||Hand coded diagrams|
|org.eclipse.papyrus.uml2tools||Utilities to integrate UML2 Tools diagrams|
|org.eclipse.papyrus.uml2tools.diagrams||UML2 Tools diagrams declarations|
|org.eclipse.papyrus.gmf||Utilities to integrate other GMF diagrams|
|org.eclipse.papyrus.gmf.diagrams||Other GMF diagrams declarations|
- ALSTOM Transport
- Anyware Technologies
- ATOS Origin
- CEA LIST
- Conselleria de Infraestrucuras of the Generalitat Valenciana
- Continental Corporation
- ST Microelectronics
- Technical University of Valencia
- Eclipse Modeling Project
The software and system engineering community (in particular in America and Europe) will be the primary user base. Today, 10% of industrial projects are using UML and this is constantly increasing. Concerning SysML, the market is at the beginning but very promising. In this context, an open source full featured UML & SysML editor will probably be welcome.
The project will also inherit the ongoing communities of Moskitt, Papyrus and TOPCASED UML & SysML users (around 30 000 downloads / month).
- Initial contribution in June 2008
- Initial code
- CVS/SVN repository
- Follow the Eclipse 2009 release train
- Airbus: http://www.airbus.com
- ALSTOM Transport: http://www.transport.alstom.com/home/
- Anyware Technologies: http://www.anyware-tech.com/en/index.html
- ATOS Origin: http://www.atosorigin.com
- CEA LIST: http://www-list.cea.fr/gb/index_gb.htm
- CS: http://uk.c-s.fr/
- LIFL: http://www.lifl.fr/index.en.html
- MDT UML Tools: http://www.eclipse.org/modeling/mdt/?project=uml2tools
- MOSKitt: http://www.moskitt.org/eng/
- Obeo: http://www.obeo.fr/?&lang=en
- Papyrus: http://www.papyrusuml.org
- ST Microelectronics: http://www.st.com
- TOPCASED: http://www.topcased.org