Jump to: navigation, search

UML2 Profiles Proposal

Revision as of 07:36, 7 February 2013 by Marc-florian.wendland.fokus.fraunhofer.de (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

UML2 Profiles Proposal

An Eclipse MDT Sub Project for UML2 Profiles

This proposal is presented in accordance with the Eclipse Development Process and is written to declare the project's intent and scope as well as to solicit additional participation and feedback from the Eclipse community. You are invited to join the project and to provide feedback using the MDT forum (http://www.eclipse.org/forums/index.php/f/110/).


Introduction

The modeling facilities of Eclipse are an essential part of Eclipse’s annual release trains. The Eclipse Modeling Framework and associated projects, like UML2, OCL, QVTo etc., are integrated into several tools both commercial and open source. In particular the UML2 project is one of the most important implementation of the corresponding OMG UML 2.4 specification. Within the Eclipse MDT sub-project further standard implementations are either already available, such as the Object Constraint Language (OCL) or announced, such as the Semantic Business Vocabulary and Rules (SBVR) or the Business Process Management Notation (BPMN). However, there is no centralized repository to host standardized UML profiles yet. As a result, lots of different and sometimes incompatible implementations of prominent UML profiles have been developed for different Eclipse-based tooling landscapes. This situation is about to be mitigated with the proposed Eclipse UML2 Profiles project as a sub-project of Eclipse MDT. The proposed project provides implementations of "standard" UML profiles and a repository in/from which to discover/install them.
This document will propose the scope and organization of the project. A project charter will be created to describe in more detail the principles of the project, the roles and responsibilities of its participants, and the development process.

Why Eclipse?

The Eclipse modeling comunity has steadily matured to one of the world largest modeling ecosystems for metamodeling and modeling techniques that are based on the Object Management Group's (OMG) Meta-Object Facility (MOF). Several specifications meaningful to that community have already been implemented, maintained and provided under the Eclipse Modeling umbrella, such as EMF (as de facto implementation of MOF), OCL, UML or QVT in the first place. UML itself provides sort of a dedicated metamodeling approach, based on so called UML profiles. The UML profile mechanism has been heavily exploited for standardizing a lot of profiles pertinent to different kinds of systems (service oriented architectures, real time and embedded systems, socio-tchnical systems, test systems etc.) and to different domain-specific solutions (profile for department of defense, profile for modeling business processes etc.) at the OMG in the last years. The absence of a centralized repository under the Eclipse Modeling umbrella has led to a situation where several different, slightly varying and potentialy incompatible implementations of standardized UML profiles have been developed by different users. As a result, the interchange of UML models becomes more and more complicated, even within the boundaries of the Eclipse Modeling ecosystem. There is an urgent need for the Eclipse Modeling project to treat UML profiles, as an important niche in the OMG specification catalogue with a strong relation to industrial needs, in the same way like for pure MOF-based metamodels such as UML, OCL, BPMN etc.

Project Scope

The Eclipse UML2 Profiles project will focus on the implementation and evolution of officially standardized UML profiles, based on the Eclipse MDT UML2 project. This mainly includes, but is not restricted to UML profiles adopted and maintained in particular by the Object Management Group (OMG) such as the Systems Engineering Modeling Language (SysML), UML Testing Profile (UTP) or the UML profile for Modeling and Analysis of Real-Time and Embedded Systems (MARTE).
The objective for establishing such a UML profile repository is twofold:

  1. To provide the Eclipse modeling community and tool vendors with a unique and standard-compliant implementation of UML profiles order to avoid an uncontrolled diversification of profile implementations that might cause technical incompatability among Eclipse-based tools.
  2. The project aims at maintaining each hosted profile’s lifecycle, so that an evolution of a profile within its standardizing authority (e.g. OMG) will be reflected as soon as possible within the repository to guarantee an up-to-date status of the provided profile implementation at any time
  3. To provide a central repository within the Eclipse MDT project to discover and install UML profile implementations.

Each UML profile implementation would comprise the UML-based model of the profile and its corresponding EMF-based implementation.

Out of Scope

Clearly out of scope of the UML2 Profiles sub-project is any convenience tooling or graphical support for the profile implementations. This is similar to the scope of the UML2 project, which also provides the EMF-based implementation of OMG’s UML specification solely.
Being vendor-independent is a crucial requirement for a broad acceptance of the hosted UML profiles within the Eclipse modeling community.

Architecture

The Figure 1 depicts the intended role of the UML2 Profiles project within the overall EMF technology stack.

Uml2 profiles achitecture.jpg

Vendors may leverage the profiles hosted in the UML2 Profiles project to build modeling solutions on top of both the UML2 and the UML2 Profiles project.

Relevant UML Profile Standards

The importance of supporting industry-relevant standards is critical to the success of the UML2 Profiles project. The role of the overall Eclipse MDT project in the support of industry standards is to enable their implementation and maintenance within the Eclipse community. The same principle counts for the UML2 Profiles project as a sub-project of Eclipse MDT. In order to increase an early and broad acceptance from the industry, the UML2 Profiles project should concentrate on providing relevant profiles in the realm of Software Engineering at first. The subsequent list shows the UML profiles which are considered to be most relevant to the industry.

Object Management Group (OMG) adopted UML profile

  1. Systems Engineering Modeling Language (SysML)
  2. UML Testing Profile (UTP)
  3. UML Profile for Modeling and Analysis of Real-Time and Embedded Systems (MARTE)
  4. Service-oriented Architecture Modeling Language (SoaML)
  5. Unified Profile for the Dept. of Defense Architecture Framework (DoDAF) and the Ministry of Defence Architecture Framework (MODAF)
  6. UML Profile for CORBA & CORBA Component Model (CCCMP)
  7. UML Profile for Business Process Modeling Notation (BPMN) (close to finalization at OMG)
  8. UML Profile for Modeling QoS and Fault Tolerance Characteristics and Mechanisms
  9. ...

Relations to other Projects

The UML2 Profiles project potentially provides beneficial input for other Eclipse Modeling projects, such as:

  1. UML2 project: Whereas the UML2 project is aiming at providing the Eclipse Modeling community with a standard-compliant implementation of the UML2 specification, including the native UML2 profile mechanism, the implementation of concrete profiles (other than the UML2 standard profile, which is actually part of UML2 itself) is not in the scope of the UML2 project. Developers and user would benefit from the UML2 Profile project, because the would not have to implement standardized profiles theirselves.
  2. Papyrus project: As Eclipse's dedicated rich modeling environment for MOF-based models, Papyrus reuses the implementation of the UML2 project to built a rich modeling features on top of it, including diagrams and profiles. Papyrus would benefit from the UML2 Profile project in a way, so that the developer team would not have to invest resources in the maintainance or development of a standardized UML2 profile. Instead the freed resources might be leveraged to implement graphical add-ons wihtin Papyrus to make the usage of profiles within Papyrus more convenient. Such graphical add-ons might be: dedicated diagrams, new graphical notations, conveniet properties section entries, ...
  3. Amalgam project: Once the UML2 Profile project is constituted and first UML2 profile are released, Amalgam should include those profiles in the Model Discovery UI to make their identification and installation as easy as possible. By default, UML2 profiles should not be installed, since the usage of profiles is mostly depending on a particular task. User would benefit from an integration of UML2 Profiles project and Amalgam project, because they find everything related to the UML2 implementation in the Model Discovery UI of Amalgam.

Interested Parties

  • itemis AG
  • Airbus
  • Ericsson
  • Atos
  • Lockheed Martin
  • Fachhochschule Vorarlberg
  • Softeam
  • sepp.med GmbH


Project Organization

The UML2 Profiles project represents a brand new project within the Eclipse modeling community. In order to keep track of pertinent activities within standards authorities like OMG, all proposal leaders and initial code contributors are member of the OMG or other standardizations and actively involved in the standardization work.
The UML2 Profiles project should be set up with a dedicated web site, mailing list and a versioning repository.

Project Leaders

  • Marc-Florian Wendland (Fraunhofer FOKUS)
  • Sebastien Gerard (CEA List)

Initial Contribution

There will be an initial contribution of profile implementations.

  • UML Testing Profile (UTP)
  • Service-oriented Architecture Modeling Language (SoaML)
  • UML Profile for Modeling QoS and Fault Tolerance Characteristics and Mechanisms
  • Systems Engineering Modeling Language (SysML)
  • UML Profile for Modeling and Analysis of Real-Time and Embedded Systems (MARTE)
  • Deployment and Configuration of Component-based Distributed Applications Specification (DEPL)

Initial Committers

The initial comitters are:

  • Marc-Florian Wendland (Fraunhofer FOKUS) for UTP and SoaML
  • Remi Schnekenburger (CEA List) for SysML
  • Chkokri Mraidha (CEA List) for MARTE
  • Max Bureck (Fraunhofer FOKUS) for DEPL
  • Tom Ritter (Fraunhofer FOKUS) for UML Profile for Modeling QoS and Fault Tolerance Characteristics and Mechanisms

Mentors

  • Kenn Hussey
  • Cedric Brun