blob: acc137ba52ae5c3494d7740bc0f25a8bba1b8d10 [file] [log] [blame]
<div id="midcolumn">
<div id="title">
<img alt="Papyrus-RT-Logo"
src="/papyrus-rt/content/images/Papyrus-RT-logo-full.png"
>
</div>
<div id="screenshot">
<img alt="Papyrus-RT 0.8 screenshot"
src="/papyrus-rt/content/images/Papyrus-RT-0.8-screenshot.png"
width="800" height="620"
>
</div>
<h3>Papyrus-RT - UML-RT modelling and code generation environment</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>
<p>
For more details, see the <a
href="/papyrus-rt/content/overview.php"
> Overview section</a>.
</p>
</div>
<h3>Some highlights</h3>
<div id="highlights">
<table>
<tr>
<th width="45%">
<h4>Graphical structure editor</h4>
</th>
<th width="10%"></th>
<th width="45%">
<h4>Graphical behavior editor</h4>
</th>
</tr>
<tr>
<td width="45%" valign="top">
<p align="justify">The structure editor allows the user to
edit 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>
</td>
<td width="10%"></td>
<td width="45%" valign="top">
<p align="justify">The behavior editor allows the user to
describe 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>
</td>
</tr>
</table>
</div>
<br>
<div id="highlights">
<table>
<tr>
<th width="45%"><h4>Code generator</h4></th>
<th width="10%"></th>
<th width="45%"><h4>C++ runtime services support</h4></th>
</tr>
<tr>
<td width="45%" valign="top">
<p align="justify">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>
</td>
<td width="10%"></td>
<td width="45%" valign="top">
<p align="justify">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 library and are used
by both the generated code as well as the user specifed
action code which is part of the capsule behaviour. The
runtime system code is distributed in source form as an
installable Eclipse feature. The code generator produces
both standard makefiles as well as CMakeList files to build
the generated code.</p>
</td>
</tr>
</table>
</div>
</div>
<div id="rightcolumn">
<div id="incubation" class="sideitem">
<h3>Incubation</h3>
<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 id="quicklinks" class="sideitem">
<h3>Quick Links</h3>
<ul>
<li><a href="/papyrus-rt/content/download.php">Downloads</a>
</li>
<li><a href="https://wiki.eclipse.org/Papyrus-RT/Roadmap">Papyrus-RT
Roadmap</a></li>
<li><a href="https://wiki.eclipse.org/Papyrus-RT">Wiki Main page</a>
</li>
</ul>
</div>
<div id="news>" class="sideitem">
<h3>News</h3>
<p>
<b>2017-03-23</b>: <em>Papyrus-RT 0.9.0</em> released.
Get it in the <a href="/papyrus-rt/content/download.php">downloads</a>
section. See also the <a
href="https://wiki.eclipse.org/Papyrus-RT/Releases/Neon_v0.9_Release_Notes"
>Release notes</a>.
</p>
<p>
<b>2016-03-01</b>: Altough Papyrus-RT is not part of the Eclipse
Release train, we will endeavour to align with it for the next two
releases (as seen in the <a
href="https://wiki.eclipse.org/Papyrus-RT/Roadmap"
>Papyrus-RT Roadmap</a>):</p>
<ul>
<li><a
href="https://wiki.eclipse.org/Papyrus-RT/Releases#Papyrus-RT_MVP2_.28v0.9.29_-_Better_behave.21"
>Papyrus-RT v0.9</a> is planned to be released with Neon.3 (+4)</li>
<li><a
href="https://wiki.eclipse.org/Papyrus-RT/Releases#Papyrus-RT_MVP2.1_.28v1.0.29_-_Better_behave_with_Oxygen.21"
>Papyrus-RT v1.0</a> is planned to be released with Oxygen (+4)</li>
</ul>
<p>
<b>2016-10-24</b>: <em>Papyrus-RT 0.8.0</em> released.
Get it in the <a href="/papyrus-rt/content/download.php">downloads</a>
section. See also the <a
href="https://wiki.eclipse.org/Papyrus-RT/Releases/Neon_v0.8_Release_Notes"
>Release notes</a>.
</p>
</div>
<div id="history>" class="sideitem">
<h3>History</h3>
<p>
<b>Papyrus-RT 0.9.0</b> released March 23rd, 2017.
</p>
<p>
<b>Papyrus-RT 0.8.0</b> released October 24th, 2016.
</p>
<p>
<b>Papyrus-RT 0.7.2</b> released December 15th, 2015.
</p>
<p>
<b>Papyrus-RT 0.7.1</b> released October 12th, 2015.
</p>
</div>
<div id="more" class="sideitem">
<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>