Eclipse eTrice 2.0.0 Release Review

Type: 
Release
State: 
Successful
End Date of the Review Period: 

Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.

Wednesday, September 19, 2018
Project: 
Release: 

2.0.0

Description: 

The 2.0.0 release of eTrice contains a number of major and also breaking changes

  • The internal generator model for the hierarchical finite state machines with inheritance was replaced with a much more consistent and simpler version.
  • The computation of the type of transition data is performed consistently even in the presence of triggers with different data types.
  • The name of message data was dropped since with the generalized type computation above it can't be used as parameter name in action codes anymore. The parameter name now always is 'transitionData'. This is a breaking change.
  • All detail level code (action and other user code in state machines and operations) can be specified as smart string (similar to Xtend) now. This makes the models much more readable.
  • The generator interface of eTrice will be re-designed and re-implemented. Up to the launch configurations which will also change this isn't user visible.
  • A new parser and linker for the detail level code part will be used for content assist, hover help, syntax highlighting, hyperlinking and code translation to target code in the generator.
Architectural Issues: 
  • eTrice has been built on top of the popular EMF and Xtext and the new Graphiti framework.
  • Emphasis has been laid on a simple and sound architecture. Continuous refactorings have been done to keep the architecture clear and concise.
Security Issues: 

None

Non-Code Aspects: 
  • Online documentation (Eclipse Help) is provided and available also in PDF form. The HTML pages can also be accessed from the eTrice Documentation page
  • Several Tutorials are available from basic to more advanced and comprehensive.
  • Tutorial code is shipped with the eTrice bundles and is easily installable to the user's workspace.
Usability Details: 
  • From the very beginning simplicity of use has been a major goal of the eTrice project.
  • ROOM as a modeling language allows the user to solve typical problems of the development of highly concurrent real-time systems on a higher level of abstraction.
  • All editors, textual and graphical, are simple to use and designed to support a fast development.
  • The new smart strings for detail code as well as keyword highlighting and content assist for detail code significantly facilitate editing.
End of Life: 

None

Standards: 
  • The modeling language ROOM is not standardized in a strict and formal way but was published in [1].
  • [1] defines a graphical notation which was adopted.
  • [1] also contains a textual notation. But this is incomplete and we decided to develop our own notation based on this.

[1] Bran Selic, Garth Gullekson, Paul T. Ward: Real-Time Object Oriented Modeling, New York: John Wiley, 1994 (ISBN 0-471-59917-4)

 

Communities: 

Since its start in October 2010 the project has won five additional committers and several contributors. Three Google Summer of Code a bachelor and a master student had projects related to eTrice. Talks have been given on a number of conferences. eTrice is already used as part of the tool chain in industry projects. Up to now eTrice users and developers mainly use direct communication. Therefore the newsgroup and the development mailing list are only rarely used.