Model-Based Design and Distributed Real-Time Systems
Lecture Notes
Real-Time and Embedded Systems Group
Wintersemester 2008/09
Lecturer: Reinhard von Hanxleden
The slides+notes version is 4-up, includes notes, and uses a
printer-friendly coloring scheme. To save paper, empty
notes are eliminated, except when they are necessary to place
subsequent (non-empty) notes below the slide to which they belong.
The slides version of the lectures is as shown in class, without
animation (only one page per slide).
The animated version of the lectures is as shown in class,
including animation (may be multiple pages per slide).
The bottom of this page contains further notes.
- Lecture 1, 14 April 2009: Introduction
(posted 16 Apr 2009, 3:00 hrs)
- Lecture 2, 16 April 2009: Distributed Real-Time Systems I
(posted 14 Apr 2009, 15:37 hrs)
- Lecture 3, 21 April 2009: The Model Railway: An Introduction to Graphical Modeling
(posted 23 Apr 2009, 14:09 hrs
)
- Lecture 4, 23 April 2009: Graphical Modeling and Automatic Layout
(posted 22 Apr 2009, 14:56 hrs
)
- Lecture 5, 28 April 2009: Distributed Real-Time Systems II Synchrony and Medium Access Control
(posted 30 Apr 2009, 11:48 hrs
)
- Lecture 6, 5 May 2009: Distributed Real-Time Systems III
(posted 08 Mai 2009, 10:55 hrs
)
- Lecture 7, 7 May 2009: Distributed Real-Time Systems IV Clock Synchronization
(posted 07 Mai 2009, 13:14 hrs
)
- Lecture 8, 12 May 2009: CAN - The Controller Area Network
(posted )
- Lecture 9, 19 May 2009: The Time-Triggered Protocol
(posted )
- Lecture 10, 26 May 2009: Concurrent Models of Computation - Process Networks
(posted )
- Lecture 11, 28 May 2009: Concurrent Models of Computation - Fixed-Point Semantics
(posted )
- Lecture 12, 01 December 2006: The Model Railway Demonstrator
(posted )
- Lecture 13, 7 June 2009: Concurrent Models of Computation - Execution Policies
(posted )
- Lecture 14, 18 June 2009: Concurrent Models of Computation - Message Passing Patterns
(posted )
- Lecture 15, 24 June 2009: Concurrent Models of Computation - Threads
(posted )
- Lecture 16, 30 June 2009: Concurrent Models of Computation - Synchronous/Reactive Models
(posted )
- Lecture 17, 7 July 2009: Statecharts I - SyncCharts
(posted )
- Lecture 18, 9 July 2009: Statecharts II - SyncCharts in C
(posted 09 Jul 2009, 12:01 hrs
)
- Introduction to Distributed Systems
- Real-Time Network Infrastructures
- Physical circuits, digital busses, virtual circuits
- Field busses
- Automotive protocols
- Real-Time Protocol Paradigms
- Event-Triggered Systems - CAN
- Time-Triggered Systems - TTP
- Hybrids - FlexRay
- To Go Further
- Real-Time Communication
- [Kopetz 1997], Chapter 7, 8
- [Veríssimo and Rodriguez 2001], Chapters 2, 11 and 13
- CAN and TTP
- The Model Railway
- Installation
- Safety and liveness requirements
- Embedded real-time systems
- Programming
- Graphical Modeling
- Basic idea
- Modeling the Railway
- Metamodel example
- Example
- Summary
- Homework 02-Due: Monday, 27 April 2009
- Creating Graphical Models
- Examples
- State of the practice
- The problem
- Layout automation
- Graph Drawing
- Hierarchical layout
- Spring embedder
- Planarization
- Orthogonal layout
- Layout of Graphical Models
- Secondary notation
- Data flow diagrams
- Summary
- To Go Further
- [DiBattista99] Giuseppe Di Battista, Peter Eades, Roberto Tamassia, and Ioannis G. Tollis. Graph Drawing: Algorithms for the Visualization of Graphs. Prentice Hall, 1999.
- Michael Kaufmann and Dorothea Wagner, editors. Drawing Graphs: Methods and Models. LNCS 2025, Springer, 2001.
- Michael Jünger and Petra Mutzel. Graph Drawing Software. Springer, 2003.
- Miro Spönemann. On the Layout of Data Flow Diagrams. Diploma thesis, 2009.
- Synchrony
- Protocol synchrony metrics
- Timer-driven protocols
- Clock-driven protocols
- Medium Access Control
- Communication channel characteristics
- CSMA, Token, Minislotting, Central Master, TDMA
- To Go Further
- Real-Time Communication
- [Kopetz 1997], Chapter 7, 8
- [Veríssimo and Rodriguez 2001], Chapters 2, 11 and 13
- Homework 03 - Due: 4 May 2009
- Clocks
- Physical clocks, Time stamping
- Failure modes
- Precision, Convergence, Accuracy
- Global time
- Distributed Observations
- Event observations
- Interval measurements
- Sparse time base
- Time Chains
- Msg latency time chains
- Distributed duration time chains
- To Go Further
- Time and Clocks: [Veríssimo and Rodrigues 2001], Chapter 2
- Distributed Observations: [Kopetz 1997], Chapter 3
- Homework 04 - Due: 11 May 2009
- Introduction
- Physical clock failure modes
- Precision and accuracy, Logical clocks
- The clock synchronization problem
- Clock Synchronization Fundamentals
- Convergence
- The synchronization condition
- Symmetric vs. asymmetric schemes
- Malicious clocks
- Clock synchronization building blocks
- Phase 1: Detect synchronization event
- Phase 2: Estimate remote clocks
- Phase 3: Compute clock adjustments
- Phase 4: Adjust clocks
- The Network Time Protocol
- NTP configurations
- Clock filter algorithm
- Performance of typical NTP servers
- To Go Further
- [Veríssimo and Rodrigues 2001], Chapter 12.8
- [Kopetz 1997], Chapters 3.4 and 3.5
- Anceaume, Emmanuelle, and Isabelle Puaut, "Performance
Evaluation of Clock Synchronization Algorithms," Institut
National de Recherche en Informatique et en Automatique (INRIA),
RR-3526, Oct. 1998, http://www.inria.fr/rrrt/rr-3526.html
- Network Time Protocol (NTP): http://www.ntp.org/
- Introduction
- Data Link Layer
- Message Priorities
- Parts of a CAN Frame
- Error Handling
- Physical Layer
- Bit Timing and Synchronization
- Physical Bit Level
- Higher Level Services
- Examples
- Homework 05 - Due: 18 May 2009, 12:00h
- Introduction
- Basic Terminology
- Event-Triggered vs Time-Triggered
- Time Division Multiple Access
- Features/Services
- Fault Tolerant Clock Synchronization
- Controller State: Acknowledgment, Clique Avoidance
- Babbling Idiot Avoidance
- Fault Tolerant Communication
- Additional Information
- The Time-Triggered Architecture
- Our Hardware
- The Development Process
- To go further
- Hermann Kopetz. Real-Time Systems: Design Principles for Distributed Embedded Applications. Kluwer Academic Publishers, 1997
- TTA-Group. Time-Triggered Protocol TTP/C High-Level Specification Document Protocol Version 1.1, 1.4.3 edition, November 2003
- TTTech company homepage: http://www.tttech.com
- Agathe Merceron. Proving "`no cliques"' in a protocol. In ACSC 01: Proceedings of the 24th Australasian conference on Computer science, pages 134-139. IEEE Computer Society, 2001
- Agathe Merceron, Monika Müllerburg and G. Michele Pinna. "`No collision"' in a protocol with n stations: A comparative study of formal proofs. In S. Gnesi and D. Latella, editors, Fourth Intern. ERCIM Workshop on Formal Methods for Industrial Critical Systems, pages 153-177, Pisa, 1999
- Roman Nossal and Roland Lang. Model-based system development - an approach to building X-by-wire applications. IEEE Micro, 22(04):56-63, July/August 2002.
- Homework 06 - Due: 25 May 2009
- Concurrent models of computation
- Process networks as an example
- Intuitive model, but many subtle corner cases
- Need a solid theory underlying it
- Orders, Partially Ordered Sets
- To go further
- B. A. Davey and H. A. Priestley.Introduction to Lattices and Order. Cambridge University Press, second edition, 2002. This book provides a concise and reasonably complete coverage of the background mathematics.
- Kahn and MacQueen (1977). Coroutines and Networks of Parallel Processes. IFIP 1977, pp. 993-998.
- Kahn (1974). The Semantics of a Simple Language for Parallel Programming.Information Processing 74: Proceedings of IFIP Congress. Stockholm, Sweden. p. 471-475. 1974.
- Manfred Broy, Gheorghe Stefanescu, The algebra of stream processing functions, Theoretical Computer Science, Volume 258, Issues 1-2, 6 May 2001, Pages 99-129, ISSN.
- Partially Ordered Sets (Posets)
- Complete Partially Ordered Sets (CPOs)
- Fixed Point Theorems
- Fixed Point Semantics
- To go further
- Chapter 8.: B. A. Davey and H. A. Priestley.Introduction to Lattices and Order. Cambridge University Press, second edition, 2002. This book provides a concise and reasonably complete coverage of the background mathematics.
- Geilen and Basten (2003). Requirements on the execution of Kahn process networks. Lecture Notes in Computer Science, Programming Languages and Systems, Volume 2618/2003, pp. 319-334, Springer Berlin / Heidelberg
- Lee and Parks. Dataflow Process Networks. Proceedings of the IEEE , vol.83, no.5, pp.773-801, May 1995
- Modellbahnhardware
- Gleisplan
- Peripherie
- Leistungselektronik
- Ansteuerung
- PC104-Rechner
- TTP Powernodes
- Vernetzung
- Interna der Steuerung
- Serielle Kommunikation
- Adressierung
- Die Bibliothek librailway
- Entwicklung von Steuerprogrammen
- Composing Actors
- Cascade Composition
- Parallel Composition
- Multiple Inputs and Outputs
- Sequential Functions
- Sources and Sinks
- Example for Fix Point Semantics
- Undecidability
- Stack Counter
- Turing Machine
- Parks' Strategy
- Topology
- To go further
- Lee and Parks (1995). Dataflow Process Networks Proceedings of the IEEE, 83(5) pp773-799.
- Brock and Ackerman (1981). Scenarios, a Model of Non-Determinate Computation, Lecture Notes in Computer Science, Formal Definition of Programming Concepts, Volume 107/1981, pp. 252-259, Springer-Verlag.
- Message Passing Interface MPI
- Vague MPI Send Semantics
- Broadcast / Gather / Scatter
- Not provided by MPI
- Sorting Trees
- Map/Reduce
- Recursion
- Dynamically Instantiated Processes
- Patterns as Higher-Order Components
- Special Function Types
- Sequential Functions
- Gustave Function
- Linear Functions
- Stable Functions
- To go further
- Lee (2009). Disciplined Message Passing. Technical Report, EECS Department, University of California, Berkeley, http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-7.html
- Gorlatch, Sergei (2004). Send-Receive Considered Harmful: Myths and Realities of Message Passing.
- Message Passing Interface Forum (2008). MPI: A Message Passing Interface standard - Version 2.1, University of Tennessee, Knoxville, Tennessee.
- Reekie, H. J. (1995). Realtime Signal Processing - Dataflow, Visual, and Functional Programming. Ph.D. Thesis, Sydney, Australia, University of Technology at Sydney.
- Ptolemy II
- Basic Abstract Syntax
- Abstract Semantics
- Process Thread Implementation
- fire, get and send
- Ports and Receivers
- Subleties, Stopping Threads
- Distributed Process Networks
- Problems with Threads
- Observer Pattern
- Mutexes are Minefields
- Models of Threads, Program, Execution
- Taxonomy of Functions
- Church's Thesis
- Turing Completeness
- Equivalence
- To go further
- Lee (2006). The Problem with Threads. Computer , vol.39, no.5, pp. 33-42, May 2006
- Lauer, H. C. and Needham, R. M. 1979. On the duality of operating system structures. SIGOPS Oper. Syst. Rev. 13, 2 (Apr. 1979), 3-19.
- Synchronous Languages
- Lustre/SCADE, Ptolemy SR Domain
- Synchronous Abstraction
- Execution Policy
- Flat CPO
- Fixed Point Theorems
- Causality Loops
- Composition
- To go further
- Stephen A. Edwards, Edward A. Lee, The semantics and execution of a synchronous block-diagram language, Science of Computer Programming, Volume 48, Issue 1, July 2003, Pages 21-42
- Frigo, M., Leiserson, C. E., and Randall, K. H. 1998. The implementation of the Cilk-5 multithreaded language. SIGPLAN Not. 33, 5 (May. 1998), 212-223.
- Benveniste, A.; Berry, G., "The synchronous approach to reactive and real-time systems," Proceedings of the IEEE , vol.79, no.9, pp.1270-1282, Sep 1991
- Finite State Machines
- Finite Automata
- Moore Machines
- Mealy Machines
- Statecharts
- Hierarchy
- Orthogonality
- Broadcast
- Compound Events
- SyncCharts (Safe State Machines)
- States
- Transitions
- Connectors
- To Go Further
- David Harel, Statecharts: A Visual Formulation for Complex
Systems, Science of Computer Programming, 8(3), June 1987,
pp. 231-274
- D. Harel, M, Politi, Modeling Reactive Systems with
Statecharts: The STATEMATE Approach, McGraw-Hill, ISBN
0-07-026205-5, 1998.
- Charles André, Semantics of SyncCharts,
- Introduction
- Explaining the Title
- Problem Statement
- Challenges
- Concurrency in SC
- Application-Level Multi-Threading
- Inspiration: Reactive Processing
- Producer-Consumer-Observer Example
- SC Thread Operators
- Thread Synchronization and Signals
- Threads - The ABRO Example
- Signals - The grcbal3 Example
- The SC Signal Operators
- Further Operators
- Assessment
- Experimental Results
- Related Work
- Conclusions
- To Go Further
- The notes here are typically posted right before or after
class. If you are curious about the whole curriculum of this class,
you can have a look at the lecture notes from the last
time this class was held.
-
The PDF-files are generated for Acrobat 5.0. If you have problems
viewing the PDF-files and are using an older version of the Acrobat
Reader, you may want to download
the current version. Also feel free to contact the lecturer/the
assistant. And there is always the option of logging on to one of the
department's workstations.
- Documents that are in the directory
http://www.informatik.uni-kiel.de/rtsys/teaching/ss09/v-model/papers
can only be accessed from machines within the network of the
institute. If you want to access them remotely, you can do so for
example via ssh.
- The lecture notes are generated with LaTeX and the beamer
class. The process of generating the various PDFs and the
following HTML overview and of uploading everything to the web server
is largely automated - which is convenient, but makes it easy to
overlook things that have gone wrong in the process. Hence, if
something appears to have gone wrong, please drop a note to Reinhard v. Hanxleden.