blob: 140a607273b7c3eaca2b733508125e97cc9955a5 [file] [log] [blame]
<div id="bigbuttons">
<h3>Primary Links</h3>
<ul>
</ul>
</div>
<div id="midcolumn">
<h3>Papyrus-RT - UML-RT Modeling and code generation Tools</h3>
<div id="introText">
<p>Papyrus-RT provides an implementation of the UML-RT modeling language together with editors,
code generator for C++ and a supporting runtime system.
<p> For more details, see the <a href="/papyrus-rt/content/overview.php"> Overview section. </a> <br> </p>
</p>
</div>
<h3>Some Highlights of Papyrus-RT</h3>
<div id="feature_description">
<h4>Graphical Model Structure Editor</h4>
<p>
The Structure Editor allows the user to edit the Capsule Structure in a convenient way.
It is possible to create and arrange capsule references and ports and to create bindings and layer connections.
</p>
</div>
<div id="feature_description">
<h4>Graphical behavior Editor</h4>
<p>The behavior Editor allows the user to describe the Capsule behavior by means of a hierarchical finite state machine.
It is possible to create and arrange states, choice points, junction points and transitions using the state machine editor.
</p>
</div>
<div id="feature_description">
<h4>Code Generator</h4>
<p>A code generator will translate the UML-RT model into C++ code. This code generator
will translate all structural (e.g., capsules, protocols, and classes) and
behavioral (i.e., state machines) elements into C++ code, based on their
properties, stereotypes, stereotype properties (including those from a profile
with properties specific to C++), and runtime services elements. For the generation of
the behavioral C++ code from the state machines, the code generator will first translate
the behavior provided by each capsule's (or passive class') state machine into an intermediate
model that will then be translated to optimized code. Based on user-provided thread allocation
information, the code generator will also allocate capsules, or groups of capsules, to threads.</p>
</div>
<div id="feature_description">
<h4>C++ Runtime services support</h4>
<p>The C++ Runtime Services Library provides support for the execution of the C++ code generated from a UML-RT model. Capsule lifecycle
functions (incarnate, destroy, import, deport), message delivery and timing services are provided by the services libary and are used by both the
generated code as well as the used specifed action code which is part of the capsule behavior.
The runtime system code is distributed in source form and is an installable feature of Eclipse. A makefile in the RTS folder can be used to compile and link the RTS into
a library, which is then linked with the compiled UML-RT model.
</p>
</div>
</div>
<div id="rightcolumn">
<div class="sideitem">
<h6>Incubation</h6>
<a href="/projects/what-is-incubation.php">
<img align="middle" src="/images/egg-incubation.png" border="0" alt="Incubation" />
</a>
<p>This project is in the <a href="/projects/dev_process/incubation-phase.php">Incubation Phase</a>.</p>
</div>
<div>
<h3>Current Status</h3>
<!-- ReleaseCheck -->
<p><b>Papyrus-RT 0.7.2</b> released December 15th, 2015. See the <a href="/papyrus-rt/content/download.php">download section</a> for details.</p>
<p><b>Papyrus-RT 0.7.1</b> released October 12th, 2015.</p>
<p>See also our
<a href="https://projects.eclipse.org/projects/modeling.papyrus-rt/releases/0.7.2/plan">project plan</a>
for details of the 0.7.2 release.</p>
</div>
<div>
<h3>More...</h3>
<ul>
<li>Read the <a href="https://projects.eclipse.org/projects/modeling.papyrus-rt"> project proposal</a></li>
<li>Join the discussions at the <a href="http://www.eclipse.org/forums/eclipse.Papyrus-RT">forum</a></li>
</ul>
</div>
</div>