Jump to: navigation, search

Difference between revisions of "MDT/Papyrus-Proposal"

< MDT
m (Project architecture)
m (UML-DI)
Line 94: Line 94:
  
 
=== UML-DI ===
 
=== UML-DI ===
UML-DI reference implementation, with import and export commands to ensure interoperability with other UML tools.
+
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 ===
 
=== UML Profiles ===

Revision as of 09:06, 14 May 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): [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, UML2Tools).

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 adaptors

Some connectors will be created to re-use existing editors. Some existing tools have already been identify: 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.

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, 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 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.
  • 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.

Proposed organisation: Sébastien Gérard is proposed to be Papyrus container project leader. And we propose to create a Papyrus Committee to ensure good collaboration about requirements and technical develpments between partners.

Committers

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

Developer Community

  • 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