Software Design, Modelling, and Analysis in UML
Course type | Lecture |
---|---|
Instructors | Prof. Dr. Andreas Podelski, Bernd Westphal |
Lecture | Monday, 10:00–12:00, SR 106-04-007 Wednesday, 10:00–12:00, SR 106-04-007 |
Exercise | Wednesday, 10:00–12:00, SR 106-04-007 |
First session | Lecture 21.10.2013 Exercise tba |
Language of instruction | English |
Credits | 6 |
Exams | see below |
Course Catalog | Software Design, Modelling and Analysis in UML |
Quicklinks: News - Formalia - Plan - Links & Literature
News
- 2014-01-08: problem fixed, Lecture 13 & 14 now with sound
- 2013-12-18: recording of Lecture 13 has no sound - we're working on a fix
- 2013-12-04: exam form and date fixed (see below)
- 2013-10-28: room change - lectures and tutorials are from now on in 106-04-007 (Videokonferenzraum) - except for Monday, November 11th, 2013, then we're back in 051-00-034 once
- 2013-10-17: homepage online
Formalia
Prerequisites for admission to the final exam, form of the final exam, and everything will be announced in the first lecture.
Admission criteria
50% of the total admission (or: good will) points in the exercises are sufficient for exam admission. (For example, perfect solutions to exercise sheets 1, 3, 5, and 7 and no solutions to 2, 4, and 6 would satisfy this requirement; so would 50% of the points in each exercise).Exercise Submission Scheme
The exercise sheets are online early in order to allow you to be aware of the tasks while following the lecture. There will be an early/regular submission scheme following a pattern to be announced.
Note: The exercises will be rated on two scales: admission points (given your knowledge before the tutorial, how sensible is your proposal; "good will rating", "upper bound") and exam points (given the additional knowledge from the comments on your proposal and the tutorial, how many points would your proposal at least be worth in a written exam; "evil rating", "lower bound").
Exam
There will be oral exams on Tuesday, 11 March 2014, and Wednesday, 12 March 2014.
Note: The module result (grade, "Note") is completely determined by the exam.Resources
Slides, Exercises, and Recordings
Note: the following plan is tentativein the sense that the assignment of topics to dates is subject to change depending on the flow of the lecture. The assignment of form (lecture or tutorial) to dates is fixed. Slides will be typically only provided after the lecture.
Further note that recordings are first published on the eLectures server, the links here are only updated later. Thus please check the eLectures portal first for quickest updates (they may even support RSS).
Note: the TechSmith Screen Capture Codec seems to be necessary for playback of the recordings provided on the Electure portal.
- Mo, 21.10.: VL 01 "Introduction"
Motivation, Overview, Formalia.
(Slides (with annotations), 2-up, 6-up, no recording) - Mi, 23.10.: VL 02 "Semantical Model"
+ exercise sheet 1 online
Why (of all things) UML? Mathematical Foundation: Signature, Structure, System State.
(Slides (with annotations), 2-up, 6-up, no recording) - Mo, 28.10.: VL 03 "OCL"
Syntax of an (interesting fragment) of OCL.
(Slides (without annotations), 2-up, 6-up, Recording (no audio...)) - Mi, 30.10.: Tutorial 1
- Mo, 4.11.: VL 04 "OCL Semantics"
+ exercise sheet 2 online
Formal semantics of an (interesting fragment) of OCL over system states.
(Slides (with annotations), 2-up, 6-up, Recording) - Mi, 6.11.: VL 05 "Object Diagrams, OCL Continued"
Relating system states and object diagrams; a notion of consistency for OCL.
(Slides (with annotations), 2-up, 6-up, Recording) - Mo, 11.11.: VL 06 "Class Diagrams I"
Mapping class diagrams to (extended) signatures.
(Slides (with annotations), 2-up, 6-up, no recording) - Mi, 13.11.: Tutorial 2
- Mo, 18.11.: VL 07 "Type Systems and Visibility"
+ exercise sheet 3 online
A simple type-system for OCL; an extension to explain the effect of visibility.
(Slides (with annotations), 2-up, 6-up, Recording) - Mi, 20.11.: VL 08 "Class Diagrams II"
Associations (syntax, system state).
(Slides (with annotations), 2-up, 6-up, Recording) - Mo, 25.11.: VL 09 "Class Diagrams III"
+ exercise sheet 4 online
Associations completed, associations and OCL.
(Slides (with annotations), 2-up, 6-up, Recording) - Mi, 27.11.: Tutorial 3
- Mo, 2.12.:
VL 10 "Modelling Behaviour"
When is a class diagram a good class diagram? Constructive vs. reflective description of behaviour.
(Slides (with annotations), 2-up, 6-up, Recording) - Mi, 4.12.: VL 11 "Core State Machines I"
Basic UML state machines (syntax, system configuration, transformers, re-use semantics of create)
(Slides (with annotations), 2-up, 6-up, Recording) - Mo, 9.12.: VL 12 "Core State Machines II"
+ exercise sheet 5 online
Basic UML state machines continued (run-to-completion: discard, dispatch, commence).
(Slides (with annotations), 2-up, 6-up, Recording (no audio...)) - Mi, 11.12.: Tutorial 4
- Mo, 16.12.: VL 13 "Core State Machines III"
Basic UML state machines continued (environment interaction, error)
(Slides (with annotations), 2-up, 6-up, Recording) - Mi, 18.12.: VL 14 "Core State Machines IV"
Basic UML state machines completed (environment interaction, error)
(Slides (with annotations), 2-up, 6-up, Recording) - Mi, 8. 1.: Tutorial 5 + exercise sheet 6 online
- Mo, 13. 1.: VL 15 "Core State Machines V"
Initial states, model semantics, Rhapsody demo
(Slides (with annotations), 2-up, 6-up, Rhapsody-Project, Recording (first half no audio, sorry...)) - Mi, 15. 1.: VL 16 "Hierarchical State Machines I"
General (hierarchical) UML state machines syntax; initial and final states
(Slides (with annotations), 2-up, 6-up, Recording) - Mo, 20. 1.: VL 17 "Hierarchical State Machines II"
+ exercise sheet 7 online
Composite states.
(Slides (with annotations), 2-up, 6-up, Recording) - Mi, 22. 1.: Tutorial 6
- Mo, 27. 1.: VL 18 "Live Sequence Charts I"
Remaining pseudo-states; Dynamic Reflective Descriptions, Interactions, Sequence Diagrams, LSC syntax; Symbolic Büchi Automata; language of a model; Signal and Attribute expressions
(Slides (with annotations), 2-up, 6-up, Recording) - Mi, 29. 1.:
VL 19 "Live Sequence Charts II"
LSC abstract syntax; Symbolic Büchi Automaton-based semantics
(Slides (with annotations), 2-up, 6-up, Recording (first half, audio only...), Recording (second half)) - Mo, 3. 2.: VL 20 "Inheritance I"
Deferred Events, Behavioural Features, Passive Objects; Syntax of inheritance; Desired semantics of inheritance: Liskov Substitution Principle
(Slides (with annotations), 2-up, 6-up, Recording) - Mi, 5. 2.: Tutorial 7
- Mo, 10. 2.: VL 21 "Inheritance II"
Domain inclusion and uplink semantics, idea and principles
(Slides (with annotations), 2-up, 6-up, Recording (first half, audio only), Recording (second half)) - Mi, 12. 2.: VL 22 "Meta-Modeling" + "Wrapup + Questions"
how to read the UML standard documents
(Slides (with annotations), 2-up, 6-up, Recording (lost))
Links & Literature
- The Standard
- Unified Modeling Language (UML) Specification, Superstructure, version 2.1.2
- Unified Modeling Language (UML) Specification, Infrastructure, version 2.1.2
- Unified Modeling Language (UML) Specification, version 2.1.2, Documents Homepage
The official standardised definition of the language UML.
- OCL
- Object Constraint Language Specification, version 2.0
The official standardised definition of the language OCL. Our semantical model will be based on the one from this document. - A. Kleppe, J. Warmer: The Object Constraint Language, Second Edition, Addison-Wesley, 2003.
Good presentation of OCL syntax and semantics, in particular of the semantical model in which OCL terms are evaluated.
- Object Constraint Language Specification, version 2.0
- State Machines
- D. Harel, E. Gery: Executable Object Modeling with Statecharts, IEEE Computer, 30(7):31-42, 1997.
This is one of the first usable proposals for an executable view on UML diagrams, based on classes and state-machines. - W. Damm, B. Josko, A. Pnueli, A. Votintseva: A discrete-time UML semantics for concurrency and communication in safety-critical applications, SCP 55(1-3): 81-115, March 2005.
Operational UML Semantics for core state machines. - Damm, Josko, Pnueli, Votintseva: A Formal Semantics for a UML Kernel Language, IST/33522 Omega Technical Report, 2003.
Companion to the previous publication: how to compile hierarchical state machines into core state machines (including definitions of well-formedness, e.g., of transitions)
- D. Harel, E. Gery: Executable Object Modeling with Statecharts, IEEE Computer, 30(7):31-42, 1997.
- Sequence Diagrams
- J. Klose: Live Sequence Charts - A Graphical Formalism for the Specification of Communication Behavior, PhD thesis, Carl von Ossietzky Universität Oldenburg, 2003.
The verification-oriented dialect of LSCs. - D. Harel, R. Marelly: Come Let's Play - Scenario-based Programming Using LSCs and the Play-Engine, Springer-Verlag, 2003.
The animation-oriented dialect of LSCs
- J. Klose: Live Sequence Charts - A Graphical Formalism for the Specification of Communication Behavior, PhD thesis, Carl von Ossietzky Universität Oldenburg, 2003.
- Methodology
- B. P. Douglass: Doing Hard Time, Addison-Wesley, 1999.
Spiral-shaped development process complementing the previous paper. - B. P. Douglass: ROPES: Rapid Object-Oriented Process for Embedded Systems, i-Logix Inc., Whitepaper, 1999.
Whitepaper extract from the previous book. - O. Laitenberger, C. Atkinson: Generalizing Perspective-based Inspection to handle Object-Oriented Development Artifacts, In: Proc. ICSE '99, 494-503, IEEE CS-Press.
Reading techniques philosophy. - G. H. Travassos, F. Shull, J. Carver, V. R. Basili: Reading Techniques for OO Design Inspections, Technical Report CS-TR-4353, University of Maryland, 2002.
Concrete reading techniques. - Marc Lettrari, Efficient State Space Exploration of Reactive Object-Oriented Programs, Dissertation, Universität Oldenburg, 2005.
Checking existence of scenarios and configurations, test case generation.
- B. P. Douglass: Doing Hard Time, Addison-Wesley, 1999.
- Textbooks
- B. Oesterreich: Analyse und Design mit UML 2.1, 8. Auflage, Oldenbourg, 2006.
Standard introduction into UML notation. - H. Stoerrle: UML 2 fuer Studenten, Pearson Studium Verlag, 2005.
And another one.
(avaible as e-book via UB)
- B. Oesterreich: Analyse und Design mit UML 2.1, 8. Auflage, Oldenbourg, 2006.
- Miscellaneous
- B. Dobing, J. Parsons: How UML is used, Communications of the ACM, 49(5):109-114, 2006.
This survey supports the relevance of our choice of diagrams to be considered more closely in the lecture. - Uwe Kastens, Hans Kleine Büning: Modellierung - Grundlagen und formale Methoden, Zweite Auflage, Carl Hanser Verlag.
General Discussion of Modelling, not focusing on UML, but also considering plain set-theory, graphs, petri nets, and their use for modelling tasks.
- B. Dobing, J. Parsons: How UML is used, Communications of the ACM, 49(5):109-114, 2006.