Contents

1 eTrice Overview
 1.1 What is eTrice?
 1.2 Reduction of Complexity
2 Introduction to the ROOM Language
 2.1 Scope of ROOM
  2.1.1 Where does it come from?
  2.1.2 Which kind of SW-Systems will be addressed?
  2.1.3 What is the relation between OOP and ROOM?
  2.1.4 What are the benefits of ROOM?
  2.1.5 Which consequences must be taken into account?
 2.2 Basic Concepts
  2.2.1 Actor, Port, Protocol
  2.2.2 Hierarchy in Structure and Behavior
  2.2.3 Layering
  2.2.4 Run to Completion
 2.3 Execution Models
  2.3.1 Communication Methods
  2.3.2 Execution Methods
  2.3.3 Execution Models
3 Working with the eTrice Tutorials
4 Setting up the Workspace for Java Projects
5 Tutorial HelloWorld for Java
 5.1 Scope
 5.2 Create a new model from scratch
 5.3 Create a state machine
 5.4 Build and run the model
 5.5 Open the Message Sequence Chart
 5.6 Summary
6 Tutorial Blinky (Java)
 6.1 Scope
 6.2 Create a new model from scratch
 6.3 Add two additional actor classes
 6.4 Create a new protocol
 6.5 Import the Timing Service
 6.6 Finish the model structure
 6.7 Implement the Behavior
 6.8 Summary
7 Tutorial Sending Data (Java)
 7.1 Scope
 7.2 Create a new model from scratch
 7.3 Add a data class
 7.4 Create a new protocol
 7.5 Create MrPing and MrPong Actors
 7.6 Define Actor Structure and Behavior
  7.6.1 Define MrPongs behavior
  7.6.2 Define MrPing behavior
 7.7 Define the top level
 7.8 Generate and run the model
 7.9 Summary
8 Tutorial Pedestrian Lights (Java)
 8.1 Scope
 8.2 Setup the model
 8.3 Why does it work and why is it safe?
9 Setting up the Workspace for C Projects
 9.1 Testing the environment
 9.2 Building the C runtime system
10 Tutorial HelloWorld for C
 10.1 Scope
 10.2 Create a new model from scratch
 10.3 Create the HelloWorld model
 10.4 Create a launch configuration to start the C code generator
 10.5 Generate the code
 10.6 Setup the include path
 10.7 Build and run the model
 10.8 Summary
11 Tutorial Remove C-Comment ( C )
 11.1 Scope
 11.2 Create a new model from scratch
 11.3 Create your own data type
 11.4 Create the model
 11.5 Generate, build and run the model
 11.6 Summary
12 ROOM Concepts
 12.1 Actors
  12.1.1 Description
  12.1.2 Motivation
  12.1.3 Notation
  12.1.4 Details
 12.2 Protocols
  12.2.1 Description
  12.2.2 Motivation
  12.2.3 Notation
 12.3 Ports
  12.3.1 Description
  12.3.2 Motivation
  12.3.3 Notation
 12.4 DataClass
  12.4.1 Description
  12.4.2 Notation
 12.5 Layering
  12.5.1 Description
  12.5.2 Notation
 12.6 Finite State Machines
  12.6.1 Description
  12.6.2 Motivation
  12.6.3 Notation
  12.6.4 Examples
13 Automatic Diagram Layout with KIELER
 13.1 Overview
 13.2 Performing Automatic Layout
 13.3 Layout Options
 13.4 Configuring Layout Options
  13.4.1 The Layout View
  13.4.2 Preference Page
 13.5 Special Layout Options
  13.5.1 Layout Algorithm
  13.5.2 Diagram Type
 13.6 Further References
14 eTrice Features
 14.1 Codegenerators
  14.1.1 Java Generator
  14.1.2 C++ Generator
  14.1.3 C Generator
15 Codegenerators
16 Runtimes
17 eTrice Models and Their Relations
 17.1 The ROOM Model
 17.2 The Config Model
 17.3 The Physical Model
 17.4 The Mapping Model
18 eTrice Developer’s Reference
 18.1 Architecture
  18.1.1 Editor and Generator Components
  18.1.2 Runtimes
  18.1.3 Unit Tests
 18.2 Component Overview
  18.2.1 Room Language Overview
  18.2.2 Config Language Overview
  18.2.3 Aggregation Layer Overview
  18.2.4 Generator Overview