| <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="40%"> | |
| <h4>Graphical structure editor</h4> | |
| </th> | |
| <th width="20%"></th> | |
| <th width="40%"> | |
| <h4>Graphical behavior editor</h4> | |
| </th> | |
| </tr> | |
| <tr> | |
| <td width="40%"> | |
| <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="20%"></td> | |
| <td width="40%"> | |
| <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="40%"><h4>Code generator</h4></th> | |
| <th width="20%"></th> | |
| <th width="40%"><h4>C++ runtime services support</h4></th> | |
| </tr> | |
| <tr> | |
| <td width="40%"> | |
| <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="20%"></td> | |
| <td width="40%"> | |
| <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 used specifed action code which is part of the capsule | |
| behavior. 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 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.8.0</b> planned release October 24th, 2016. | |
| </p> | |
| <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> |