Eclipse eTrice 0.4.0

Release Date
Deliverables

The release deliverables consist of the following items:

  • eTrice modeling tools (includes runtime, sources, tutorial and documentation) (ZIP file download and update site).
  • eTrice Java code generator, middleware and model library.
  • eTrice ANSI-C code generator, middleware and model library.
  • eTrice C++ code generator, middleware and model library.
  • eTrice tests (no download, executed in central Hudson build)
Compatibility

There will be additional features in models and code generators, leading to limited compatibility.

Internationalization

eTrice aims at real-time and embedded developers. All texts come by default in English only, no internationalization is planned.

Target Environments

In order to remain up-to-date, each Eclipse release targets reasonably current versions of the underlying operating environments. The eTrice project depends upon the Platform and other projects, which are mostly "pure" Java. The 0.4.0 release of the eTrice Project is written and compiled against the Kepler APIs, and targeted to run on version 1.6 of the Java Runtime Environment, Standard Edition. eTrice will be tested and validated against a subset of target environments listed for the platform.

Name Date Description
0.4.0M1 2013/10/21 The first milestone contains the dynamic actors in the ROOM model. This feature is fully supported by the Java code generator.
0.4.0M2 2013/12/20 consolidation and minor features
0.4.0M3 2014/01/31 consolidation and minor features
Themes

Dynamic Actors

In ROOM [1] there is the possibility to have optional actor instances. This could be a single actor which is created at runtime by its parent actor's behavior. The type of this actor is also determined at runtime which makes this feature very powerful. Another possibility is to have an array of optional actors. In this case also the array size may vary at runtime. [1] Bran Selic, Garth Gullekson, Paul T. Ward: Real-Time Object Oriented Modeling, New York: John Wiley, 1994 (ISBN 0-471-59917-4)
  • let genmodel create binding information on the class level [418185] (target milestone: 0.4.0M1)
  • make SAPs available in optional actors [417395] (target milestone: 0.4.0M1)
  • nest runtime binding creation as deep as possible [418424] (target milestone: 0.4.0M1)
  • OptionalActorInterfaceBase base doesn't resolve internal ports of the optional actor [417914] (target milestone: 0.4.0M1)
  • replicated array of optional actor has issues with timing service [419341] (target milestone: 0.4.0M1)
  • Introduce DynamicsType in grammar [412084] (target milestone: 0.4.0M1)
  • Use hatched style for optional actors [412086] (target milestone: 0.4.0M1)
  • In the instance tree optional actors will be represented as actor-interfaces which are leafs [412094] (target milestone: 0.4.0M1)
  • Let Java generator and runtime support dynamic actors [413297] (target milestone: 0.4.0M1)
  • extend MSC instrumentation to record also creation and deletion of instances [413557] (target milestone: 0.4.0M1)
  • add first example for dynamic actors [413559] (target milestone: 0.4.0M1)
  • write documentation for the dynamic actor example [413631] (target milestone: 0.4.0M1)
  • add category for examples and tutorials, add new example [413635] (target milestone: 0.4.0M1)
  • create an example that allows to investigate memory leaks of dynamic actor creation and deletion [413665] (target milestone: 0.4.0M1)
  • Create more examples for dynamic actors [414282] (target milestone: 0.4.0M1)
  • add more unit tests for dynamic actors [414283] (target milestone: 0.4.0M1)
  • add a possibility to let dynamic actors store and restore their data [414477] (target milestone: 0.4.0M1)
  • extend persistence mechanism to treat also nested dynamic actors [414790] (target milestone: 0.4.0M1)
  • add unit test for InterfaceItemBroker [414961] (target milestone: 0.4.0M1)
  • introduce a radio or combo for the refType of an ActorRef [412389] (target milestone: 0.4.0M1)
No items.

Consolidation of Existing Features: Model Editors, Generators and Runtimes (Java and C)

Existing features will be consolidated. Some minor features are missing in the C generator, others are missing in the Java generator. We will add more test to get a better coverage of tested features. We will also do some re-factorings and round-offs where appropriate.
  • provide quick fix for "Destructor must have class name" [414398] (target milestone: 0.4.0M1)
  • rename some attributes and references, use unordered groups [414560] (target milestone: 0.4.0M1)
  • factor out common grammar part defining rules for literals [416648] (target milestone: 0.4.0M1)
  • it is not possible to create a binding in a LogicalSystem [416856] (target milestone: 0.4.0M1)
  • pull annotations and documentation up to core.common.Base [417170] (target milestone: 0.4.0M1)
  • Check of protocol class semantics doesn't work as expected [417433] (target milestone: 0.4.0M1)
  • internal ports are not treated correctly during generator model creation [417898] (target milestone: 0.4.0M1)
  • optional actor classes are missing [417899] (target milestone: 0.4.0M1)
  • attributes of enum type should be configurable [421818] (target milestone: 0.4.0M2)
  • test tutorials with Linux [413728] (target milestone: 0.4.0M1)
  • The etrice documentation pdf contents isn’t readable in adobe reader v9+ for windows. [425468] (target milestone: 0.4.0M2)
  • Setup test launch projects are missing. [425469] (target milestone: 0.4.0)
  • pull up standard options to base class [406009] (target milestone: 0.4.0M1)
  • remove duplicate code in FileSystemHelpers and RoomExtensions [406010] (target milestone: 0.4.0M1)
  • undefined base class trigger if base class has no state machine [414788] (target milestone: 0.4.0M1)
  • refined transition code isn't generated [415236] (target milestone: 0.4.0M1)
  • usercode2 of base class is also added to derived class [415237] (target milestone: 0.4.0M1)
  • ref members of a DataClass shouldn't be deep copied [417910] (target milestone: 0.4.0M1)
  • integrate manual tex file includes into model documentation [420815] (target milestone: 0.4.0M2)
  • empty state machine leads to code with compile error [421552] (target milestone: 0.4.0M2)
  • generator crashes with NPE if generated as library but contains LogicalSystem and SubSystem [422442] (target milestone: 0.4.0M2)
  • in derived protocol classes base class headers have to be included [422593] (target milestone: 0.4.0M2)
  • operations in data classes aren't translated in data classes [422594] (target milestone: 0.4.0M2)
  • code translation has problems with nesting [431601] (target milestone: 0.4.0)
  • unify etMemory.h [406870] (target milestone: 0.4.0M2)
  • check thread of message service before trying to join [417912] (target milestone: 0.4.0M1)
  • improve logging of timer messages [419343] (target milestone: 0.4.0M1)
  • adjust Java tutorial and documentation for physical and mapping model [419438] (target milestone: 0.4.0M1)
  • add icons and texts to Xtext based DSLs where missing [400663] (target milestone: 0.4.0)
  • Let Empty eTrice Java Project wizard also create physical and mapping models [413831] (target milestone: 0.4.0M1)
  • disable removal of transition labels in behavior diagrams [414648] (target milestone: 0.4.0M1)
  • newly created interface port is misplaced [417823] (target milestone: 0.4.0)
  • jumping from text to diagram fails if selection has zero length [419378] (target milestone: 0.4.0M1)
  • diagrams referencing archived models can't be edited [422318] (target milestone: 0.4.0M2)
  • use physical and mapping model [412334] (target milestone: 0.4.0M1)
  • center eTrice logo on title page [413799] (target milestone: 0.4.0M1)
  • let runtime only use IMessageService and make no further assumptions [414661] (target milestone: 0.4.0M1)
  • Generator settings not switched back to defaults [415044] (target milestone: 0.4.0M1)
  • renaming of .room file makes existing diagrams unusable [348214] (target milestone: 0.4.0M2)
  • more detailed choicepoint testcases [402432] (target milestone: 0.4.0M2)
  • put all GAs in place and only toggle visibility if necessary [413800] (target milestone: 0.4.0M1)
  • generator for documentation [366905] (target milestone: 0.4.0)
  • update of bend points wrong if base diagram has different offset [404875] (target milestone: 0.4.0M1)
No items.

Minor New Features

We will implement a couple of minor new features and improvements.
  • Introduce rules that allow the definition of annotations [412093] (target milestone: 0.4.0M1)
  • add quick fix support for annotations and their definitions [416646] (target milestone: 0.4.0M1)
  • implement instance configuration for replicated actors [417990] (target milestone: 0.4.0M1)
  • allow instance to thread mappings also for replicated actors [418003] (target milestone: 0.4.0M1)
  • target type of ExternalType should be a string in single.double quotes to avoid keyword problems [422349] (target milestone: 0.4.0M2)
  • add documentation for JDT and Maven build support [420648] (target milestone: 0.4.0M2)
  • add annotation that lets generator use a custom actor base class [416710] (target milestone: 0.4.0M1)
  • generate thread mappings only if explicitly mapped [418474] (target milestone: 0.4.0M1)
  • in the case of manual behavior dispatch to methods per ifitem.msg [419741] (target milestone: 0.4.0M1)
  • create a Maven Mojo that wraps the Java generator [421434] (target milestone: 0.4.0M2)
  • add possibility to store.restore an actor's extended state using POJOs [422044] (target milestone: 0.4.0M2)
  • generate a readme.txt in the doc-gen folder [422356] (target milestone: 0.4.0M2)
  • if no explicit type is specified then an EnumerationType should be generated as enum [422443] (target milestone: 0.4.0M2)
  • write MSC for data driven ports with enumeration data [422692] (target milestone: 0.4.0M2)
  • implement a means to log data driven ports during execution [422859] (target milestone: 0.4.0M2)
  • let new wizard also create a launch configuration for the generated application [418988] (target milestone: 0.4.0M1)
  • add wizard to create a new set of models [419660] (target milestone: 0.4.0M1)
  • for C projects the new model files wizard should add include paths [419819] (target milestone: 0.4.0M1)
  • make CDT dependency optional [420133] (target milestone: 0.4.0M2)
  • add Maven support for Java projects [420608] (target milestone: 0.4.0M2)
  • add a preference to make Maven the preferred build type for new projects [421838] (target milestone: 0.4.0M2)
  • allow import from models archived in jars on the class path [422156] (target milestone: 0.4.0M2)
  • enums as Primitive Types that can be used as Attributes for Operations and Messages [392072] (target milestone: 0.4.0M2)
  • add convenience methods for external ports and implemented SPPs [412641] (target milestone: 0.4.0M1)
No items.