Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "MDT/Papyrus-Proposal"

< MDT
(Developer Community)
 
(24 intermediate revisions by 6 users not shown)
Line 49: Line 49:
  
 
==Relationship with Other Eclipse Projects/Components==
 
==Relationship with Other Eclipse Projects/Components==
This proposal intends to rely on the new release of the Eclipse Development Process (if applied in June): [http://www.eclipse.org/projects/dev_process/development_process.php#]
+
This proposal intends to rely on the new release of the Eclipse Development Process (if applied in June 2008): [http://www.eclipse.org/projects/dev_process/development_process.php#]
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).
+
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.
  
 
==Project architecture==
 
==Project architecture==
Line 56: Line 59:
 
* Papyrus sub-project, acting as a "container project" (in Eclipse terms)
 
* Papyrus sub-project, acting as a "container project" (in Eclipse terms)
 
* Finer-grained operating projects :
 
* 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
+
=== Backbone ===
** Other UML diagrams outside of MDT : contributions of other diagrams to be developed directly in Papyrus Eclipse sub-project
+
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.
** 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.
+
=== Backbone connectors ===
 +
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.
 +
 
 +
=== UML Diagrams ===
 +
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.
 +
 
 +
=== SysML Diagrams ===
 +
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
 +
 
 +
=== Facilities ===
 +
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 ===
 +
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.
 +
 
 +
=== UML Profiles ===
 +
Papyrus will host specific tooling on top of OMG and standards UML Profiles. These Profiles will be contributed to MDT project.
  
 
==Organization==
 
==Organization==
Line 67: Line 112:
 
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.
 
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====
+
===Project Leader===
 +
 
 +
'''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 ([http://www.papyrusuml.org]).  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.
 +
 
 +
===Papyrus Committee===
 +
 
 +
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:
  
* '''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.
+
* '''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.
  
* '''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).
+
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:
  
* '''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.
+
"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."
  
 
====Committers====
 
====Committers====
  
 +
* Raphaël Faudou (Atos Origin)
 
* Thibault Landré (Atos Origin)
 
* Thibault Landré (Atos Origin)
 
* Chokri Mraidha (CEA LIST)
 
* Chokri Mraidha (CEA LIST)
Line 113: Line 169:
 
* ALSTOM Transport
 
* ALSTOM Transport
 
* Anyware Technologies
 
* Anyware Technologies
* ATOS Origin
+
* ArgoEclipse
 +
* Atos Origin
 
* CEA LIST
 
* CEA LIST
 
* Conselleria de Infraestrucuras of the Generalitat Valenciana
 
* Conselleria de Infraestrucuras of the Generalitat Valenciana
Line 124: Line 181:
 
* Technical University of Valencia
 
* Technical University of Valencia
 
* XMLmodeling.com
 
* XMLmodeling.com
 +
* Zeligsoft, Inc.
  
 
===Developer Community===
 
===Developer Community===
  
 +
* Papyrus V1
 
* Acceleo
 
* Acceleo
 
* Eclipse Modeling Project
 
* Eclipse Modeling Project
Line 134: Line 193:
 
=== Individual Community ===
 
=== Individual Community ===
  
* Lucas Bigeardel [http://www.eclipse.org/modeling/emft/search(EMF Search)]
+
* Lucas Bigeardel [http://www.eclipse.org/modeling/emft/?project=search#search (EMF Search)]
  
 
===User Community===
 
===User Community===
Line 156: Line 215:
 
* ALSTOM Transport: http://www.transport.alstom.com/home/
 
* ALSTOM Transport: http://www.transport.alstom.com/home/
 
* Anyware Technologies: http://www.anyware-tech.com/en/index.html
 
* Anyware Technologies: http://www.anyware-tech.com/en/index.html
* ATOS Origin: http://www.atosorigin.com
+
* Atos Origin: http://www.atosorigin.com
 
* CEA LIST: http://www-list.cea.fr/gb/index_gb.htm
 
* CEA LIST: http://www-list.cea.fr/gb/index_gb.htm
 
* CS: http://uk.c-s.fr/
 
* CS: http://uk.c-s.fr/

Latest revision as of 11:23, 8 October 2008

Introduction

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].

Background

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
    • Compare
    • Search
    • Validation
  • To make a durable architecture
    • Based on GMF generation as far as possible
    • Open, to support diagram editors developed with different technologies

Scope

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): [1] 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.

Project architecture

There will be two levels :

  • Papyrus sub-project, acting as a "container project" (in Eclipse terms)
  • Finer-grained operating projects :

Backbone

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.

Backbone connectors

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.

UML Diagrams

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.

SysML Diagrams

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

Facilities

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

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.

UML Profiles

Papyrus will host specific tooling on top of OMG and standards UML Profiles. These Profiles will be contributed to MDT project.

Organization

Initial Committers

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 Leader

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 ([2]). 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.

Papyrus Committee

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."

Committers

  • 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)

Contributors

  • Sébastien Gabel (CS)
  • TBD (Anyware Technologies)
  • Emilien Perico (Atos Origin)

Code Contributions

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.backboneThe integrator backbone
org.eclipse.papyrus.multidiagramProvide multidiagram base editor for GEF and GMF, independent from UML
org.eclipse.papyrus.scribe.coreHand coded diagrams core
org.eclipse.papyrus.scribe.diagramsHand coded diagrams
org.eclipse.papyrus.uml2toolsUtilities to integrate UML2 Tools diagrams
org.eclipse.papyrus.uml2tools.diagramsUML2 Tools diagrams declarations
org.eclipse.papyrus.gmfUtilities to integrate other GMF diagrams
org.eclipse.papyrus.gmf.diagramsOther GMF diagrams declarations

Interested Parties

  • AIRBUS
  • ALSTOM Transport
  • Anyware Technologies
  • ArgoEclipse
  • Atos Origin
  • CEA LIST
  • Conselleria de Infraestrucuras of the Generalitat Valenciana
  • Continental Corporation
  • CS
  • Integranova
  • Obeo
  • Prodevelop
  • ST Microelectronics
  • Technical University of Valencia
  • XMLmodeling.com
  • Zeligsoft, Inc.

Developer Community

  • Papyrus V1
  • Acceleo
  • Eclipse Modeling Project
  • Moskitt
  • TOPCASED

Individual Community

User Community

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).

Tentative Plan

  • Initial contribution in June 2008
    • Initial code
    • Website
    • Newsgroup
    • CVS/SVN repository
    • Bugzilla
  • Follow the Eclipse 2009 release train

Links

Back to the top