I00154 (I00154)
Analysis of Embedded Systems*
< 2006/2007 > 05-02-2007 t/m 01-07-2007 () L
Informatica - Master variant C (2003) Thematische specialisatie Embedded systems (6 ec) Keuze informatica (6 ec)
Informatica - Master variant E (2003) Keuze informatica (6 ec)
Informatica - Master variant MT (2005) Thematische specialisatie Embedded systems (6 ec) Embedded systems (6 ec) Keuze informatica (6 ec) (6 ec)
Informatica - Master variant O (2003) Thematische specialisatie Embedded systems (6 ec) Keuze informatica (6 ec)
Informatica - Master variant O (2005) Thematische specialisatie Embedded systems (6 ec) Keuze informatica (6 ec)
Informatica - Master na HBO Artificial Intelligence variant MT (2004) Keuze informatica (6 ec)
Informatica - Master na HBO Artificial Intelligence variant O (2004) Keuze informatica (6 ec)
Informatica - Master na HBO Computer Security variant MT (2003) Keuze informatica (6 ec)
Informatica - Master na HBO Computer Security variant O (2004) Keuze informatica (6 ec)
Informatica - Master na HBO Embedded Systems variant MT (2003) Thematische specialisatie (6 ec)
Informatica - Master na HBO Embedded Systems variant O (2004) Thematische specialisatie (6 ec) Keuze informatica (6 ec)
Informatica - Master na HBO Information Systems variant MT (2003) Keuze informatica (6 ec)
Informatica - Master na HBO Information Systems variant O (2004) Keuze informatica (6 ec)
Informatica - Master na HBO Software Construction variant MT (2003) Keuze informatica (6 ec)
Informatica - Master na HBO Software Construction variant O (2004) Keuze informatica (6 ec)
omvang
6 ec (168 uur) : 30 uur plenair college, 0 uur groepsgewijs college, 0 uur computerpracticum, 0 uur 'droog' practicum, 30 uur gesprekken met de docent, 84 uur onderling overleg met medestudenten (werkgroepen, projectwerk e.d.), 24 uur zelfstudie
investering
6 ec * 28 u/ec + #std * (1 + 6ec * 0.15 u/student/ec)
inzet tentatief

examinator
afdeling
tijdbesteding

prof. dr. Frits Vaandrager
sws
185u.

speciale web-site
/~fvaan/PV/

 

Motivation/Overview: As our daily lives depend increasingly on digital systems, the reliability of these systems becomes a concern of overwhelming importance, and as the complexity of the systems grows, their reliability can no longer be sufficiently controlled by the traditional approaches of testing and simulation. It becomes essential to build mathematical models of these systems, and to use (algorithmic) analysis methods to explore these models. During recent years there has been enormous progress in the areas of hardware and software verification and analysis. In this course an overview will be presented of mathematical techniques for the specification and analysis of embedded systems. The application of these techniques will be illustrated on industrial sized examples taken from the areas of embedded real-time systems, distributed algorithms and protocols. Participants learn how to make formal models, and how to analyze them using state-of-the-art techniques and tools.

Leerdoelen

General Objectives: After successful completion of the course, participants are able to:

  • recognize situations in which the applications of formal methods for specification and verification may be useful,
  • model distributed algorithms and protocols (or more generally: reactive systems) as networks of automata,
  • formalize desired properties of these algorithms and protocols in terms of automata or temporal logic, and
  • use state-of-the-art proof techniques and computer tools for the analysis of embedded systems and protocols of "average" complexity.
Specific Objectives: More specifically, at the end of the course participants:
  • are able to derive and manually prove invariants of (networks of) automata defined in precondition/effect style,
  • are able to use model checking tools for checking of invariant properties,
  • are familiar with both the theory and application of the I/O automaton model; are able to use this model for the modelling of simple reactive systems at different levels of abstraction,
  • are familiar with concepts such as fairness, safety en liveness, are able to describe properties of reactive systems as a conjunction of safety and liveness properties,
  • are familiar with simulation relation based proof techniques for refinement, are able to prove refinement relations using these techniques,
  • are familiar with linear and branching time temporal logics, and with (symbolic) model checking algorithms, are able to describe properties of reactive systems in temporal logic,
  • are familiar with extensions of the I/O automata model for modelling of real-time, hybrid and probabilistic automata, are familiar with the use of model checking tools for real-time and hybrid systems.

Onderwerpen

Theory: I/O automata model, invariant proof techniques, safety and liveness properties, fairness, temporal logic, (symbolic) model checking, simulation proof techniques, timed automata, hybrid automata, probabilistic automata.
Tools: SMV, Uppaal, PRISM
Applications: Various controller synthesis and resource allocation problems from the embedded systems area, real-time operating systems, distributed algorithms and protocols: leader election algorithms (e.g. Firewire), mutual exclusion algorithms (e.g. Zeroconf), communication protocols for physical and datalink layer (e.g. Biphase Mark and Bluetooth).

Toelichting

See the course web-page for additional information.

Werkvormen

Participants are supposed to spend approximately 168 hours (=6ec) on this course: during 14 weeks they will need about 6 hours per week to attend+prepare classes (2 hours lectures, 2 hours problem session, 2 hours reading and working on exercises at home). In addition they will need about 28 hours for each of the three larger homework assignments (to be made in small groups of 2 or 3 participants) based on which their participation in the course will be evaluated. Participants are expected to be present during the lectures and the problem sessions.

Vereiste voorkennis

Familiarity with propositional and predicate logic, finite automata, basic complexity theory, and basic (graph) algorithms is assumed. For instance, you should know what a tautology is, how to formally prove a formula in predicate logic, how to determinize a finite automaton, what is the time complexity of sorting, and how to find the strongly connected components of a graph. The mathematics and theory courses from our bachelor curriculum will certainly provide enough background (frequently, I will refer to topics that have been previously addressed during the bachelor courses courses such as Discrete Wiskunde, Talen, Beweren en Bewijzen, Inleiding in de Complexiteitstheorie, Logica). If you are not familiar with the concepts, please see the instructor.

Tentaminering

Grades will be awarded on the basis of three larger homework assignments, which participants may do on their own of in groups of at most three So instead of a final exam this course has "integrated examination". The final score is obtained as the average of the scores for the three assignments. If the final score is 5 or below, participants will be offered the opportunity to make a 4th homework assignment. The final score will then be the average of the 3 highest scores (so the lowest score may be dropped).

Combinatiemogelijkheden

The course on Analysis of Embedded Systems is part of the embedded systems theme.

Literatuur

The course material consists of hand-outs, sheets, and recent papers from the literature. These will be made available electronically via the course page or distributed during the course. A detailed list of references and links is available.


Evaluatie: studentenquêtes ; geen docentevaluatie bekend Rendement: 2 begonnen, echt meegedaan, geslaagd met 1e kans, geslaagd totaal
Q: