blob: 7ff58311b3a7cc3ececae6ecc207a03e8b0e44f2 [file] [log] [blame]
<!--
This document is provided as a template along with some guidance for creating
your project proposal. This is just a template. Feel free to change it as
you see fit (add sections, remove section). We feel, however, that the
suggestions represented in this document represent the reasonable minimum
amount of information to move forward.
Please keep the formatting in this document simple. Please do not edit
this document in Microsoft Word as it adds huge piles of markup that make
it difficult to restyle.
More information is available here:
http://wiki.eclipse.org/Development_Resources/HOWTO/Pre-Proposal_Phase
Direct any questions about this template to emo@eclipse.org
-->
<html>
<head>
<!--
Include the title here. We will parse it out of here and include it on the
rendered webpage. Do not duplicate the title within the text of your page.
-->
<title>Eclipse UML Profiles Repository</title>
</head>
<!--
We make use of the 'classic' HTML Definition List (dl) tag to specify
committers. I know... you haven't seen this tag in a long while...
-->
<style>
dt {
display: list-item;
list-style-position: outside;
list-style-image:
url(/eclipse.org-common/themes/Phoenix/images/arrow.gif);
margin-left: 16px;
}
dd {
margin-left: 25px;
margin-bottom: 5px;
}
</style>
<body>
<p>
The Eclipse UML Profiles Repository project is a proposed open source project under the
<a href="http://www.eclipse.org/projects/project.php?id=modeling">Modeling
Top-level Project</a>.
</p>
<!--
The communication channel must be specified. Typically, this is the
"Proposals" forum. In general, you don't need to change this.
-->
<p>
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 <a
href="http://www.eclipse.org/forums/eclipse.proposals">Eclipse
Proposals</a> Forum.
</p>
<h2>Scope</h2>
<!--
All projects must have a well-defined scope. Describe, concisely, what
is in-scope and (optionally) what is out-of-scope. An Eclipse project
cannot have an open-ended scope.
-->
<p>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:</p>
<ol>
<li>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.</li>
<li>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</li>
<li>To provide a central repository within the Eclipse MDT
project to discover and install UML profile implementations.</li>
</ol>
<p>Each UML profile implementation would comprise the UML-based
model of the profile and its corresponding EMF-based implementation.</p>
<p>
<b>Out of Scope</b>
</p>
<p>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.</p>
<h2>Description</h2>
<!--
Describe the project here. Be concise, but provide enough information that
somebody who doesn't already know very much about your project idea or domain
has at least a fighting chance of understanding its purpose.
-->
<p>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 &quot;standard&quot; UML profiles and a repository
in/from which to discover/install them.</p>
<p>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.</p>
<p>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.</p>
<p>Object Management Group (OMG) adopted UML profiles</p>
<ul>
<li>Systems Engineering Modeling Language (SysML)</li>
<li>UML Testing Profile (UTP)</li>
<li>UML Profile for Modeling and Analysis of Real-Time and
Embedded Systems (MARTE)</li>
<li>Service-oriented Architecture Modeling Language (SoaML)</li>
<li>Unified Profile for the Dept. of Defense Architecture
Framework (DoDAF) and the Ministry of Defence Architecture Framework
(MODAF)</li>
<li>UML Profile for CORBA &amp; CORBA Component Model (CCCMP)</li>
<li>UML Profile for Business Process Modeling Notation (BPMN)
(close to finalization at OMG)</li>
<li>UML Profile for Modeling QoS and Fault Tolerance
Characteristics and Mechanisms</li>
</ul>
<p>Figure 1 depicts the intended role of the UML2 Profiles project
within the overall EMF technology stack.</p>
<p>
<img src="uml2arch.jpg" width="480px"
alt="UML2 Profiles Technology Stack" />
</p>
<p>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:
<ol>
<li>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.</li>
<li>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, ...</li>
<li>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.</li>
</ol>
</p>
<h2>Why Eclipse?</h2>
<!--
Answer these two questions: What value does this project bring to the Eclipse
community? What value do you expect to obtain from hosting your project at Eclipse?
What value do you get by having your project at Eclipse over and above the value
of hosting at Eclipse Labs?
-->
<p>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.</p>
<p>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.</p>
<p>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.</p>
<h2>Initial Contribution</h2>
<!--
Projects are expected to arrive at Eclipse with existing code.
Describe the existing code that will be contributed to the project. Please provide
a couple of paragraphs describing the code with modest detail, including important
information like code ownership (who holds the copyright?), and some consideration
of community that exists around the code. Include a listing of third-party libraries
and associated licenses.
-->
<p>There will be an initial contribution of profile
implementations.</p>
<ul>
<li>UML Testing Profile (UTP)</li>
<li>Service-oriented Architecture Modeling Language (SoaML)</li>
<li>Systems Engineering Modeling Language (SysML)</li>
<li>UML Profile for Modeling and Analysis of Real-Time and
Embedded Systems (MARTE)</li>
<li>Deployment and Configuration of Component-based Distributed
Applications Specification (DEPL)</li>
</ul>
<h2>Legal Issues</h2>
<!--
Please describe any potential legal issues in this section. Does somebody else
own the trademark to the project name? Is there some issue that prevents you
from licensing the project under the Eclipse Public License? Are parts of the
code available under some other license? Are there any LGPL/GPL bits that you
absolutely require?
-->
<p>None.</p>
<h2>Committers</h2>
<!--
List any initial committers that should be provisioned along with the
new project. Include affiliation, but do not include email addresses at
this point.
-->
<p>The following individuals are proposed as initial committers to
the project:</p>
<dl>
<dt>Marc-Florian Wendland, Fraunhofer FOKUS</dt>
<dd>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.</dd>
<dt>Remi Schnekenburger, CEA LIST</dt>
<dd>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)</dd>
<dt>Chokri Mraidha, CEA LIST</dt>
<dd>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)</dd>
<dt>Max Bureck, Fraunhofer FOKUS</dt>
<dd>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)
</dl>
<p>We welcome additional committers and contributions.</p>
<!--
Describe any initial contributions of code that will be brought to the
project. If there is no existing code, just remove this section.
-->
<p>The MARTE and SysML profiles are contributions from the Eclipse Papyrus
project.</p>
<h2>Project Leads</h2>
<ul>
<li>Marc-Florian Wendland, Fraunhofer FOKUS</li>
<li>S&eacute;bastien Gerard, CEA LIST</li>
</ul>
<h2>Mentors</h2>
<!--
New Eclipse projects require a minimum of two mentors from the Architecture
Council. You need to identify two mentors before the project is created. The
proposal can be posted before this section is filled in (it's a little easier
to find a mentor when the proposal itself is public).
-->
<p>The following Architecture Council members will mentor this
project:</p>
<ul>
<li>Kenn Hussey</li>
<li>Cedric Brun</li>
</ul>
<h2>Interested Parties</h2>
<!--
Provide a list of individuals, organisations, companies, and other Eclipse
projects that are interested in this project. This list will provide some
insight into who your project's community will ultimately include. Where
possible, include affiliations. Do not include email addresses.
-->
<p>The following individuals, organisations, companies and projects
have expressed interest in this project:</p>
<ul>
<li>itemis AG</li>
<li>Airbus</li>
<li>Ericsson</li>
<li>Atos</li>
<li>Lockheed Martin</li>
<li>Fachhochschule Vorarlberg</li>
<li>Softeam</li>
<li>sepp.med GmbH</li>
<li>Eclipse Papyrus</li>
<li>Eclipse UML2</li>
</ul>
<h2>Project Scheduling</h2>
<!--
Describe, in rough terms, what the basic scheduling of the project will
be. You might, for example, include an indication of when an initial contribution
should be expected, when your first build will be ready, etc. Exact
dates are not required.
-->
<p>All above mentioned profile implementations are planned to be
available from the beginning of November, 2012 at the latest.</p>
<h2>Changes to this Document</h2>
<!--
List any changes that have occurred in the document here.
You only need to document changes that have occurred after the document
has been posted live for the community to view and comment.
-->
<table>
<tr>
<th>Date</th>
<th>Change</th>
</tr>
<tr>
<td>26-June-2012</td>
<td>Document created</td>
</tr>
<tr>
<td>18-July-2012</td>
<td>Added Project Lead; Updated Image</td>
</tr>
</table>
</body>
</html>