blob: 9de779e7acc2f32d9fdb2f14377b080c7b48330b [file] [log] [blame]
<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>