Contents

1 Introduction
 1.1 eTrice Overview
  1.1.1 What is eTrice?
  1.1.2 Reduction of Complexity
 1.2 Introduction to the ROOM Language
  1.2.1 Scope of ROOM
  1.2.2 Basic Concepts
  1.2.3 Execution Models
2 Tutorials
 2.1 Working with the tutorials
 2.2 Setting up the Workspace for Java Projects
  2.2.1 Create Library, Tutorial and Simulator Projects
  2.2.2 Perform Setup Test
 2.3 Setting up the Workspace for C Projects
  2.3.1 Create Library, Tutorial and Simulator Projects
  2.3.2 Perform Setup Test
 2.4 HelloWorld for Java
  2.4.1 Scope
  2.4.2 Create a new model from scratch
  2.4.3 Create a state machine
  2.4.4 Build and run the model
  2.4.5 Open the Message Sequence Chart
  2.4.6 Summary
 2.5 HelloWorld for C
  2.5.1 Scope
  2.5.2 Create a new model from scratch
  2.5.3 Create a state machine
  2.5.4 Create a launch configuration to start the C code generator
  2.5.5 Generate the code
  2.5.6 Setup the C build
  2.5.7 Build and run the model
  2.5.8 Open the Message Sequence Chart
  2.5.9 Summary
 2.6 Tutorial Ping Pong (Java and C)
  2.6.1 Scope
  2.6.2 Create a new model from scratch
  2.6.3 Create a new protocol
  2.6.4 Create the Actor Structure
  2.6.5 Implement the Behavior
  2.6.6 Summary
3 ROOM Concepts
 3.1 Actors
  3.1.1 Description
  3.1.2 Motivation
  3.1.3 Notation
  3.1.4 Details
 3.2 Protocols
  3.2.1 Description
  3.2.2 Motivation
  3.2.3 Notation
 3.3 Ports
  3.3.1 Description
  3.3.2 Motivation
  3.3.3 Notation
 3.4 DataClass
  3.4.1 Description
  3.4.2 Notation
 3.5 Layering
  3.5.1 Description
  3.5.2 Notation
 3.6 Finite State Machines
  3.6.1 Description
  3.6.2 Motivation
  3.6.3 Notation
  3.6.4 Examples
4 eTrice Features
 4.1 Automatic Diagram Layout with KIELER
  4.1.1 Overview
  4.1.2 Performing Automatic Layout
  4.1.3 Layout Options
  4.1.4 Configuring Layout Options
  4.1.5 Special Layout Options
  4.1.6 Further References
 4.2 eTrice Models and Their Relations
  4.2.1 The ROOM Model
  4.2.2 The Config Model
  4.2.3 The Physical Model
  4.2.4 The Mapping Model
5 eTrice Tool Developer’s Reference
 5.1 Architecture
  5.1.1 Editor and Generator Components
  5.1.2 Runtimes
  5.1.3 Unit Tests
 5.2 Component Overview
  5.2.1 Room Language Overview
  5.2.2 Config Language Overview
  5.2.3 Aggregation Layer Overview
  5.2.4 Generator Overview