The eTrice Eclipse Project
Thomas Schütz & Henrik Rentz-ReichertProtos Software GmbH
Eclipse Summit Europe 2010, Ludwigsburg
© 2010 protos Software GmbH 2 03.11.2010
Motivation: Why ROOM and not UML2?
UML2 Meta Model
ROOM Meta Model
© 2010 protos Software GmbH 3 03.11.2010
Motivation: Why ROOM and not UML2?
UML2 is too complex for some/most projects
UML2 tools are very costly to build and maintain
UML2 was not designed for embedded systems
UML2 is not very specific about semantics
0
100
200
300
400
500
600
700
Classifiers Classes Structural Features References Attributes Operations
ROOMUML2.1
© 2010 protos Software GmbH 4 03.11.2010
Scope of eTrice
provide an implementation of the modeling language Real Time Object Oriented Modeling (ROOM)
build ready to use editors for ROOM models (textual and graphical)
create code generators and portable target runtime libraries for Java, C++, and C (and …)
provide built-in support for model level debugging of the running target software: state machine animation, data inspection and manipulation and message injection
provide built-in possibilities for sequence diagram creation from the running software
support heterogenous distributed systems out of the box
eTrice is a Modeling Toolset for eventdriven, distributed embedded systems
© 2010 protos Software GmbH 5 03.11.2010
Hierarchical Components called Actors define the Structure of a System
ROOM Editors: Actors & Ports
Ports are the only Interfaces of an actor and define a specific role in its environment.
Graphical Editors(Graphiti)
Textual Editors(XText)
Models can be edited with graphical or textual editors
© 2010 protos Software GmbH 6 03.11.2010
ROOM Editors: Statemachines
hierarchical Statemachines define the dynamical behaviour of Actors
© 2010 protos Software GmbH 7 03.11.2010
Model Level Debugging: MSC Generator
The events can be logged on the target to create Message Sequence Charts (MSC) of the running application
Logs can be viewed with Trace2UML (http://trace2uml.tigris.org/)
© 2010 protos Software GmbH 8 03.11.2010
Project Plan: Current Status
Organizational:
incubation phase
gathering of community
Technical:
precursor tool Trice since 1998 -> new implementation with Eclipse
prototype: ROOM grammar for static structure and behaviour
XText editors
codegenerator and middleware for Java
first graphical editor (Actor Structure)
© 2010 protos Software GmbH 9 03.11.2010
eTrice Demo
© 2010 protos Software GmbH 10 03.11.2010
Project Plan: Next Steps
Organizational:
initial contribution in November
gathering community
Technical:
Version 0.1 in January or February
Support for modeling of Structure, Behavior and Inheritance (also for FSMs)
Generators and Middleware for Java
Later: Generators and Middleware for C++ and C
First industry pilot project until july 2011, maybe earlier
© 2010 protos Software GmbH 11 03.11.2010
Thank you for your attention
Thomas Schütz [email protected]
Henrik Rentz-Reichert [email protected]
http://www.eclipse.org/proposals/etrice
Thank you for your attention
Thomas Schütz [email protected]
Henrik Rentz-Reichert [email protected]
http://www.eclipse.org/proposals/etrice