| <div id="bigbuttons"> |
| <h3>Primary Links</h3> |
| <ul> |
| <li><a id="buttonDownload" href="download.php" title="Download">Eclipse |
| Distribution, Update Site, Dropins</a></li> |
| <li><a id="buttonDocumentation" href="documentation" |
| title="Documentation">Tutorials, Examples, Videos, Reference Documentation</a></li> |
| <li><a id="buttonSupport" href="support" title="Download">Bug |
| Tracker, Newsgroup, Professional Support</a></li> |
| <li><a id="buttonInvolved" href="developers" title="Getting Involved">CVS, |
| Workspace Setup, Wiki, Committers</a></li> |
| </ul> |
| </div> |
| |
| <div id="midcolumn"> |
| |
| <h3>eTrice - Real-Time Modeling Tools</h3> |
| |
| <div id="introText"> |
| <p>eTrice provides an implementation of the ROOM (Real-Time Object-Oriented Modeling) modeling language together with editors, |
| code generators for Java, C++ and C code and exemplary target middleware.<br> |
| The model is defined in textual form (Xtext) with graphical editors (Graphiti) for the structural and |
| behavioral (i.e. state machine) parts.</p> |
| </div> |
| |
| <div> |
| <!-- ReleaseCheck --> |
| <p>Just drag and drop to your Eclipse Kepler workspace: |
| <a href='http://marketplace.eclipse.org/marketplace-client-intro?mpc_install=169937' title='Drag and drop into a running Eclipse Kepler workspace to install eTrice'> |
| <img src='http://marketplace.eclipse.org/misc/installbutton.png'/> |
| </a> |
| </p> |
| </div> |
| |
| <div id="motto"> |
| <p><b>eTrice is all about the reduction of complexity:</b></p> |
| <ul> |
| <li><b>structural complexity</b> |
| <ul> |
| <li>by explicit modeling of hierarchical Actor containment and layering</li> |
| </ul> |
| </li> |
| |
| <li><b>behavioral complexity</b> |
| <ul> |
| <li>by hierarchical state machines</li> |
| </ul> |
| </li> |
| |
| <li><b>teamwork complexity</b> |
| <ul> |
| <li>because loosely coupled Actors provide a natural way to structure team work</li> |
| <li>since textual model notation allows simple branching and merging</li> |
| </ul> |
| </li> |
| |
| <li><b>complexity of concurrent & distributed systems</b> |
| <ul> |
| <li>because loosely coupled Actors are deployable to threads, processes, nodes</li> |
| </ul> |
| </li> |
| |
| <li><b>complexity of variant handling and reuse (e.g. for product lines)</b> |
| <ul> |
| <li>by composition of existing Actors to new structures</li> |
| <li>since Protocols and Ports make Actors replaceable</li> |
| <li>by inheritance for structure, behavior and Protocols</li> |
| <li>by making use of model level libraries</li> |
| </ul> |
| </li> |
| |
| <li><b>complexity of debugging</b> |
| <ul> |
| <li>model level debugging: state machine animation, data inspection and |
| manipulation, message injection, generated message sequence charts</li> |
| <li>model checking easier for model than for code (detect errors before they occur)</li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| |
| <h3>Some Highlights of eTrice</h3> |
| |
| <div id="feature_description"> |
| <h4>Textual Model Editor</h4> |
| <p>The model files are stored in a purely textual and easily readable form. |
| The DSL is created using Xtext and a fully featured editor with syntax highlighting, content assist, template proposals and |
| outline view is provided.</p> |
| <p>The models allow to import other model parts and thus allow an arbitrary granularity as well as working with modeling libraries. |
| Another great advantage is the relatively simple and understandable behavior in the case of merge conflicts. The user will be |
| able to resolve conflicts by reviewing the changes.</p> |
| <p><img src="images/text_editor.jpg" |
| alt="textual ROOM model editor" width="100%"> |
| </p> |
| </div> |
| |
| <div id="feature_description"> |
| <h4>Graphical Structure Editor</h4> |
| <p>The Structure Editor allows to edit the Actor Structure in a convenient way. |
| It is possible to create and arrange actor references and ports and to create bindings and layer connections. |
| </p> |
| <p><img src="images/structure_editor.jpg" |
| alt="graphical ROOM structure editor" width="100%"> |
| </p> |
| </div> |
| |
| <div id="feature_description"> |
| <h4>Graphical Behavior Editor</h4> |
| <p>The Behavior Editor allows to describe the Actor Behavior by means of a hierarchical finite state machine. |
| It is possible to create and arrange states, choice points, transition points and transitions. |
| </p> |
| <p><img src="images/behavior_editor.jpg" |
| alt="graphical ROOM behavior editor" width="100%"> |
| </p> |
| </div> |
| |
| <div id="feature_description"> |
| <h4>Code Generators</h4> |
| <p>Currently eTrice has two generators for ANSI-C and for Java code. A C++ generator is currently being developed. |
| We strive to achieve a good readability of the generated code.</p> |
| </div> |
| |
| <div id="feature_description"> |
| <h4>Java and C Runtime</h4> |
| <p>The Runtimes provide basic infrastructure like messaging and debug support in form of the generation of |
| sequence diagrams from the running application. Thanks to the good Java (JDT) and C (CDT) integration within Eclipse very short |
| round trip times can be achieved.</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>eTrice 0.4.0</b> is released and is available for download. See the <a href="download.php">download section</a> for details.</p> |
| <p>For the next release cycle we plan the implementation of dynamic features of ROOM. |
| See the <a href="http://projects.eclipse.org/projects/modeling.mdt.etrice/releases/next">project plan</a> for details.</p> |
| </div> |
| |
| <div id="headlines"> |
| <h3>New and Noteworthy</h3> |
| <!-- ReleaseCheck --> |
| <ul> |
| <li>31.03.2014: <a href="download.php">eTrice version 0.4</a> published</li> |
| </ul> |
| <ul> |
| <li>25.07.2013: <a href="download.php">eTrice version 0.3</a> published</li> |
| </ul> |
| <ul> |
| <li>11.10.2012: <a href="download.php">eTrice version 0.2</a> published</li> |
| </ul> |
| <ul> |
| <li>26.10.2012: <a href="http://www.eclipsecon.org/europe2012/" target="_blank">EclipseCon Europe</a> - talk on the <a href="http://www.eclipsecon.org/europe2012/sessions/etrice-summer-code" target="_blank">eTrice Summer of Code</a></li> |
| </ul> |
| </div> |
| |
| <div> |
| <h3>More...</h3> |
| <ul> |
| <li><a href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.etrice">About this project</a></li> |
| <li>Read the <a href="/proposals/etrice">proposal</a></li> |
| <li>Join the discussions at the <a href="http://www.eclipse.org/forums/eclipse.etrice">forum</a></li> |
| </ul> |
| </div> |
| |
| </div> |