Skip to main content

eTrice Overview

What is eTrice?​

eTrice provides an implementation of the ROOM modeling language (Real Time Object Oriented Modeling) together with editors, code generators for C code and exemplary target middleware.

The model is defined in textual form (Xtext) with graphical viewers (Sprotty) for the structural and behavioral (i.e. state machine) parts.

Reduction of Complexity​

eTrice is all about the reduction of complexity:

  • structural complexity
    • by explicit modeling of hierarchical Actor containment, layering and inheritance
  • behavioral complexity
    • by hierarchical state machines
  • teamwork complexity
    • because loosely coupled Actors provide a natural way to structure team work
    • since textual model notation allows simple branching and merging
  • complexity of concurrent & distributed systems
    • because loosely coupled Actors are deployable to threads, processes, nodes
  • complexity of variant handling and reuse (e.g. for product lines)
    • by composition of existing Actors to new structures
    • since Protocols and Ports make Actors replaceable
    • by inheritance for structure, behavior and Protocols
    • by making use of model level libraries
  • complexity of debugging
    • model level debugging: state machine animation, data inspection and manipulation, message injection, generated message sequence charts
    • model checking easier for model than for code (detect errors before they occur)