Foundations of the UML 2009/10

Schedule

Type

Day

Time

Place

Start

Lecturer

V3

Mo

15:00-16:30

5052

October 19

Tu

08:15-09:45

AH IV

October 20

ワ2

Wed

17:30-19:00

6019

October 28


News

05.03.2010

New results for the exam.

01.03.2010

The repetition exam will be oral on 01.04 without having accessing to the slides or exercises.

01.03.2010

You may come on Friday (05.03) from 11:00 - 12:00 to review your exam sheets in room 4201b.

01.03.2010

You may find the results of the exam above.

15.02.2010

You are allowed to take only the slides with you in the exam on Feb. 18.

05.02.2010

Questions regarding the whole course will be answered on Feb. 11 from 10:30 to 12:00 at room 4203 and 4207.

05.02.2010

There will be **no** questions about OCL in the exam, therefore the last exercise class on Feb. 10th is canceled. You are also not required to solve Ex09, and the solutions are uploaded for reference.

25.01.2010

The tomorrow lecture will be in room 5052 at the usual time.

25.01.2010


(obsolete!) The last exercise lecture will be on 10'th of February. Questions regarding the whole course will be answered on the same date.

23.01.2010

The lecture on Monday, 25'th of January will start at 16:00.

13.01.2010

There will be no lecture on Monday January 18'th.

12.01.2010

The exam will take place on Thursday February 18 from 14:00 until 15:30 in room AH1.

23.11.2009

The finite automaton in the lecture today for the universally-3-bounded CFM is here.

10.11.2009

(Important!)

Students that want to participate in the exam need to register via the CAMPUS system. Firm deadline for registration: November 30. Bachelor students should directly contact the lecturer for exam registration.

04.11.2009

There will be *no* exercise class on 11.11. Ex.3a and 3b will be available today and on 11.11, respectively. The solutions for both will be explained on 18.11.

26.10.2009

A new version of the lecture 2 slides are available, where partial order is redefined to be reflexive.

19.10.2009

Lecture on Tuesday (20.10.2009 - at 8:15) will be held in the room 2002 located near the main entrance of the Informatik building. It is the new seminar room of the chair I11.


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

Oct 19

1

Introduction

Oct 20

2

Sequence diagrams

(updated*)

Oct 26

3

Message sequence graphs

Oct 27

4

Properties of message sequence graphs

Nov 2

5

Compositional message sequence graphs

Nov 9

6

Communicating finite-state machines

(updated^2)

Nov 16

7

Languages and subclasses of CFMs

(updated)

Nov 17

8

Realisability (1)

(1+2) updated

Nov 23

9

Realisability (2)

Nov 24

10

Regular MSCs

Nov 30

11

Realising local choice MSGs

Dec 7

12

A logic for MSCs

updated

Dec 14

13

Statecharts

Dec 15

14

Statecharts semantics

Jan 11

15

Statecharts semantics (2)

Jan 12

16

The object constraint language

Jan 25

17

Semantics of OCL expressions

Jan 26

18

Semantics of OCL constraints

(*): The slides have been updated. Please find the details in "News".

Exercise

Exercise Sheet

Solutions

Due

1

Oct. 28

2

Nov. 4

3a

Nov. 18

3b

Nov. 18

4

Nov. 25

5

Dec. 2

6a


Dec. 16

6b

Dec. 16

7

Jan. 13

8

Jan. 20

9

Feb. 10


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.


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


AltStyle によって変換されたページ (->オリジナル) /