The eTrice Eclipse Project
Thomas Schütz & Henrik Rentz-Reichert
Protos 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
ROOM
UML2.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 ts@protos.de
Henrik Rentz-Reichert hrr@protos.de
http://www.eclipse.org/proposals/etrice
Thank you for your attention
Thomas Schütz ts@protos.de
Henrik Rentz-Reichert hrr@protos.de
http://www.eclipse.org/proposals/etrice

eTrice: a proposed Eclipse project for embedded MDSD based on ROOM

  • 1.
    The eTrice EclipseProject Thomas Schütz & Henrik Rentz-Reichert Protos Software GmbH Eclipse Summit Europe 2010, Ludwigsburg
  • 2.
    © 2010 protosSoftware GmbH 2 03.11.2010 Motivation: Why ROOM and not UML2? UML2 Meta Model ROOM Meta Model
  • 3.
    © 2010 protosSoftware 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 ROOM UML2.1
  • 4.
    © 2010 protosSoftware 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
  • 5.
    © 2010 protosSoftware 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
  • 6.
    © 2010 protosSoftware GmbH 6 03.11.2010 ROOM Editors: Statemachines hierarchical Statemachines define the dynamical behaviour of Actors
  • 7.
    © 2010 protosSoftware 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/)
  • 8.
    © 2010 protosSoftware 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)
  • 9.
    © 2010 protosSoftware GmbH 9 03.11.2010 eTrice Demo
  • 10.
    © 2010 protosSoftware 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
  • 11.
    © 2010 protosSoftware GmbH 11 03.11.2010 Thank you for your attention Thomas Schütz ts@protos.de Henrik Rentz-Reichert hrr@protos.de http://www.eclipse.org/proposals/etrice Thank you for your attention Thomas Schütz ts@protos.de Henrik Rentz-Reichert hrr@protos.de http://www.eclipse.org/proposals/etrice