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 2008):  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, OCLTools, UML2Tools). If the SysML proposal is accepted, Papyrus will use this component too.
For UML Diagrams, Papyrus aims to maximise collaboration with MDT UML2Tools project, by contributing, extending and reusing its components.
There will be two levels :
- Papyrus sub-project, acting as a "container project" (in Eclipse terms)
- Finer-grained operating projects :
The backbone is a multi-diagrams container which provides infrastructure to integrate any kind of diagrams which came from existing tools and modelers. The backbone will be independant from any diagrams technologies (GMF, GEF, RichUI, ...) For the end user, it will offer a common view on UML models.
Some connectors will be created to re-use existing editors. Some existing tools have already been identified: MDT UML2 Tools, EMF/UML2 Tree Editor, Papyrus v1.x, TopCased v2.
This project will provide full graphical editors for:
- UML Structure Diagrams
- Class Diagram
- Component Diagram
- Composite Structure Diagram
- Deployment Diagram
- Object Diagram
- Package Diagram
- UML Behavior Diagrams
- Activity Diagram
- Use Case Diagram
- State Machine Diagram
- Sequence Diagram
- Communication Diagram
- Timing Diagram
- Interaction Overview Diagram
- Others Diagrams
- Profile Diagram
For each diagram, the ultimate goal is to cover 100% of the official UML2 specification.
This project will provide full graphical editors for all SysML diagrams identified in the OMG SysML specification. As for UML, the ultimate goal is to cover 100% of the specification
This project will provide tools to help integration with other Eclipse projects. There will be key features to propose a full-featured tool for day-to-day work and team working: navigation, search, contextual view, properties, validation, model comparision and merge, preferences...
UML-DI will be supported with import and export commands to ensure interoperability with other UML tools. UML-DI metamodel reference implementation will be contributed to MDT.
Papyrus will host specific tooling on top of OMG and standards UML Profiles. These Profiles will be contributed to MDT project.
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.
Sébastien Gérard (CEA LIST): Sébastien is leading a research team investigating MDD for Distributing, Real-Time and Embedded systems development. This team is part 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).
Sébastien Gérard will be the Papyrus project leader.
In addition to this leadership, we propose to create a Papyrus Committee to ensure good collaboration about requirements and technical developments between partners involved in the development of the different component embedded within Papyrus. Following three key persons will be part of the initial Papyrus Committee:
- 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.
- Etienne Juliot (Obeo): Etienne is one the founder of Obeo, a company dedicated to model driven tools. He has a major experience on working on large UML models for information systems and embedded systems. He works with many OpenSource communities like Acceleo (http://www.acceleo.org), ATL, EMF Compare, TopCased and Papyrus. He is already an active Eclipse commiter for STP SCA project.
- 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.
Of course, the Papyrus Committee is open to new participants. Extension of the Papyrus Committee will be achieved applying the regular process defined by Eclipse for new committers, i.e., extracted from http://www.eclipse.org/projects/dev_process/Eclipse_Standard_TopLevel_Charter_v1.0.php:
"In order for a Developer to become a Committer on a particular Project overseen by the PMC, another Committer for the same Project (or component as appropriate) can nominate that Developer or the Developer can ask to be nominated. Once a Developer is nominated, the Committers for the Project (or component) will vote for a PMC-designated voting period, and that period shall be no less than one week. If there are at least 3 positive votes and no negative votes within the voting period, the Developer is recommended to the PMC for commit privileges. The PMC may waive the 3 vote minimum requirement in exceptional cases (e.g., there are fewer than 3 active committers on the project). If the PMC also approves, and the Developer signs the appropriate New Committer agreements established by the EMO (wherein, at the very least, the Developer agrees to abide by the Eclipse Intellectual Property Policy), the Developer is converted into a Committer and given write access to the source code and/or web repository for that Project (or component). Becoming a Committer is a privilege that is earned by contributing and showing discipline and good judgment. It is a responsibility that should be neither given nor taken lightly."
- Raphaël Faudou (Atos Origin)
- 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
- Papyrus V1
- Eclipse Modeling Project
- Lucas Bigeardel (EMF Search)
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