Schedule

Type

Day

Time

Place

Start

Lecturer

V3

Mo

13:15-14:45

AH IV

October 15

Di

10:00-11:30

5056

October 16

Ü2

Wed

15:45-17:15

AH VI

October 24

  


News

  • 27.03.2013 A list carrying final grades for the second exam is uploaded.
  • 26.03.2013 A list carrying student ids, points gained in the second exam and scheme for the grades is now online. The login is the same as for the solutions.
  • 19.03.2013 The exam on the 22nd will take place at AH II and starts at 8:30 am. The revision of the exam is on the 27th from 3:00 P.M to 3:30 P.M in room 5052.
  • 20.2.2013 The list with the points is now updated.
  • 14.2.2013 The scheme for the grades is now available:

Mark

#Students

>=47,5

<=50

1

1

2,27%

>=45

<47,5

1,3

1

2,27%

>=42,5

<45

1,7

1

2,27%

>=40

<42,5

2

3

6,82%

>=36,5

<40

2,3

5

11,36%

>=34

<36,5

2,7

3

6,82%

>=31,5

<34

3

2

4,55%

>=29

<31,5

3,3

8

18,18%

>=27,5

<29

3,7

5

11,36%

>=24,5

<27,5

4

7

15,91%

>=0

<24,5

5

8

18,18%

  • 13.2.2013 A list with the student numbers and the points reached in the exam is now online. The login is the same as for the solutions. A list with the marks will follow later.
  • 5.2.2013 The exam tomorrow starts at 2p.m and takes places in AH I and AH II. All Master SSE write in AH I and all Master Informatik write in AH II.
  • 4.2.2013 A list of all students that have qualified for the exam can be found here. The login is the same as for the solutions.
  • 1.2.2013 Solution of the old exam is uploaded.
  • 31.1.2013 The inspection of the exam will on the 19th of February from 10a.m. to 11a.m in room 5056.
  • 10.1.2013 A flaw in the slides of Lecture 9 has been fixed.  Slide 10 (new), 16 and 17 are affected.  For safe realisability, it suffices to require closure under inference for prefixes of L only.
  • 10.1.2013 Solution of exercise sheet 7 has been uploaded.
  • 10.1.2013 Everybody who has more than 30% of the points in exercises so far is eligible for the final exam.
  • 7.1.2003 The premise in the formula on slide 26 has slightly changed
  • 2.1.2013 Exercise Sheet 7 has been uploaded.
  • 21.12.2012 There was a flaw in the definition of connectedness of MSCs; this has been fixed in the slides of Lecture 11.  Merry Xmas!
  • 20.12.2012 The slides of lecture 11 have been updated.  Slides 35-38 have been updated in the following sense:
    • The definition of nbp(v) has been adapted.
    • Slide 36, point 4.2: it has been added that w is a final vertex.
    • The second rule of slide 38 is applicable by taking an edge in G.
    The algorithm is *not* applicable to Yannakakis' example, as that CMSG is not local-choice, due to the branch from the second to third vertex. In fact, on slide 34 we have restricted the theorem to MSGs, as also
    for local-choice CMSGs some problems arise.
  • 30.11.2012 The proofs of theorems discussed during lecture 8 and 9 can be found in
  • 26.11.2012 The slides of today's lecture have been updated.
  • 19.11.2012 There now is a twitter tweet for the lecture, name is RWTHFUML.
  • 19.11.2012 Some of the types on slide 28 of the lecture 5 have been fixed: ?(pi,pj,al) should be ?(pj,pi,al).
  • 05.11.2012 Regarding exercise2 task 3.1.b: A communication graph is a graph representing which process sends messages to which other processes.
  • 05.11.2012 Additional information about CFMs, introduced in todays lecture, can be found in Prof. Thomas script about applied automata theory (Angewandte  Automatentheorie). It is available on the following website. A video of this lecture (number 19 from 2003) can be found here.
  • 29.10.2012 The first video of the lecture is online and can be found here.
  • 25.10.2012 The next exercise sheet will be available on the 31st of October and the next exercise class will take place on the 7th of November.
  • 25.10.2012 Please note that we will not accept assignments that are only handed in by one person. If you do not have a partner please write me an email and come to the lecture on Tuesday.

  • Content and motivation

    The Unified Modelling Language (UML) --- more generally, model-driven engineering --- plays an important role in modern software design.  The UML basically consists of a set of different notations, each notation focused on a specific aspect of the software system at hand.  The aim of this course is to consider some major fragments of the UML: sequence diagrams, hierachical state machines (also known as Statecharts), and the OCL (short for Object Constraint Language).



    • Sequence diagrams specify the interaction patterns between the system components and are a popular elicitation technique for requirements engineering.



    • Hierachical state machines and message passing automata are used to describe the behaviour of system components, and are intensively used during the system's design phases, e.g., in the fields of avionics and automotive industry.


    • Finally, the OCL allows to specify properties of system components, ranging from pre- and postconditions to invariants and more complex properties.


    Aims of this course

    The aim of this course is to treat the theoretical underpinnings of the aforementioned UML fragments.  In particular, we will present the theories required to:

    1. Clarify and make precise the semantics of the (treated fragments of the) UML;
    2. Reason about the basic properties of UML models;
    3. Algorithms to allow for the verification of such properties on UML models

    It is our firm belief (and experience) that a solid theoretical underpinning is of prime importance to obtain automated tools (such as MSCan) that produce reliable, i.e, verifiable results.


    Prerequisites

    Although the name UML might suggest differently, this is a theoretical course!  That is, a solid basis in algorithms and data structures, automata theory, and a bit of theoretical complexity theory is needed to be able to follow this course.

    The course will cover for instance, formal semantics (how to precisly lay down the meaning of UML diagrams) and formal verification (is checking certain properties on UML diagrams decidable, and if so, efficiently decidable).


    Basic knowledge of the undergraduate courses of the first two years (Vordiplom):

    • Automata Theory
    • Mathematical Logic
    • Discrete Mathematics
    • Complexity Theory


    Further information

    The course will be entirely given in English. The slides and other course material will also be in English.  There are no lecture notes (yet); the course material will consist of slides.  An examination will take place at the end of the course.


    Slides and exercise sheets

    Date

    Lecture

    Subject

    Slides

    15.10

    1

     Introduction

     

     

    16.10

    2

    Sequence Diagrams

    22.10

    3

    Message Sequence Graphs

    29.10

    4

    Properties of Message Sequence Graphs

    30.10

    5

    Compositional Message Sequence Graphs

    5.11

    6

    Communicating Finite State Machines

     

    Communicating Finite State Machines(slides)

    19.11

    7

    Languages and Subclasses of CFMs

    26.11

    8

    Realisability

    27.11

    9

    Safe Realisability

    4.12

    10

    Regular MSCs

    10.12

    11

    Realising Local Choice MSGs

    17.12

    12

    A Logic for MSCs

    updated

    18.12

    13

    Continue...

    7.1

    14

    Continue...

    8.1

    15

    Introduction to State-charts

    14.1

    16

    Statechart Semantics (1)

    21.1

    17

    Statechart Semantics (2)

    28.1

    18

    Exam

    29.1

    Exam Solution

    Exercise

    Exercise Sheet

    Solutions

    Due

    1

    24.10

    2

    07.11

    3

    14.11

    4

    28.11

    5

    05.12

    6

    19.12

    7

    9.1

    8

    23.1

    9

    30.1


    Additional background literature

    Jos Warmer and Anneke Kleppe, Object Constraint Language, The: Precise Modeling with UML. Addison Wesley, 2001.

    D. Harel and M. Politi, Modeling Reactive Systems with Statecharts: The STATEMATE Approach, McGraw-Hill, 1998.

    Benedikt Bollig - Formal Models of Communicating Systems, Springer, 2006 (Chapter 7, 8 and 9)

    (The course will however be mainly based on recent scientific papers.)