Eclipse UML Profiles Repository

The project has been created. Please visit the project page.

Eclipse UML Profiles Repository

The Eclipse UML Profiles Repository project is a proposed open source project under the Modeling Top-level Project.

This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the Eclipse community. Please send all feedback to the Eclipse Proposals Forum.

Scope

The Eclipse UML Profiles Repository 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 incompatibility 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.

Description

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 UML Profiles Repository 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.

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 profiles

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

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

UML2 Profiles Technology Stack

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. Additionally, 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 themselves.
  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 maintenance or development of a standardized UML2 profile. Instead the freed resources might be leveraged to implement graphical add-ons within Papyrus to make the usage of profiles within Papyrus more convenient. Such graphical add-ons might be: dedicated diagrams, new graphical notations, convenient 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.

Why Eclipse?

The Eclipse modeling community 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-technical 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 potentially 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.

Initial Contribution

There will be an initial contribution of profile implementations.

  • UML Testing Profile (UTP)
  • Service-oriented Architecture Modeling Language (SoaML)
  • 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)

Legal Issues

None.

Committers

The following individuals are proposed as initial committers to the project:

Marc-Florian Wendland, Fraunhofer FOKUS
Marc-Florian Wendland will contribute an implementation of the OMG UML Testing Profile (UTP) and the Service-oriented Modeling Language (SoaML) in this new project.
Remi Schnekenburger, CEA LIST
Remi Schnekenburger is part of the Eclipse Papyrus development team for several years now. He will provide the implementation of the System Engineering Modeling Language (SysML)
Chokri Mraidha, CEA LIST
Chokri Maidrha is part of the Eclipse Papyrus development team for several years now. He will provide the implementation of the Modeling and Analysis of Real-Time and Embedded Systems (MARTE)
Max Bureck, Fraunhofer FOKUS
Max Bureck has suggested several patches for known issues mainly in the Eclipse Modeling domain. He will provide the implementation of the Deployment and Configuration of Component-based Distributed Applications Specification (DEPL)

We welcome additional committers and contributions.

The MARTE and SysML profiles are contributions from the Eclipse Papyrus project.

Project Leads

  • Marc-Florian Wendland, Fraunhofer FOKUS
  • Sébastien Gerard, CEA LIST

Mentors

The following Architecture Council members will mentor this project:

  • Kenn Hussey
  • Cedric Brun

Interested Parties

The following individuals, organisations, companies and projects have expressed interest in this project:

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

Project Scheduling

All above mentioned profile implementations are planned to be available from the beginning of November, 2012 at the latest.

Changes to this Document

Date Change
26-June-2012 Document created
18-July-2012 Added Project Lead; Updated Image