Software Design, Modelling and Analysis in UML (Vorlesung)
Quicklinks: News - Dates and Times - Formalia - Links & Literature - Plan - Prerequisites
News
- 2009-11-19: exam date proposal - Monday, 8th of March, 2010, morning. Please enter any objections into the Doodle polls (see below).
- 2009-11-17: this uml.sty comprises the quick-and-dirty LaTeX macros that I use to typeset the class and object diagrams in the lecture, this uml.tex is an example for how to use it.
(Disclaimer: Both come without any support or warranty.) - 2009-11-17: Please mail me your username/login name/account name for the faculty pool system - these name will obtain access to a terminal server which is running Telelogic Rhapsody, the UML modelling tool we'll use for some later exercises
- 2009-11-10: Please choose exam dates: favourable days - unfavourable days - you don't need to insert your real name, just the initials maybe
- 2009-10-23: recording of lecture 01 online - if you have any comments on the recordings, in particular what is cut out and what is left in, feel free to mail me (= Bernd).
- 2009-10-23: eLectures module online - note that you can rate individual lectures by assigning 0 to 5 "stars"; you may use this if you want to, but if you assign few "stars" keep in mind that we can't make things better if we don't know what is bad (so: talk to us then). And recall that there will be a mid-term evaluation of the course.
- 2009-10-20: Postprocessing of the lecture 01 recording is delayed for technical reasons. If you were not able to attend the first lecture and want to consider
the recording, please contact B. Westphal, then we can provide an
intermediate solution.
-
2009-09-24:
- 2009-09-24: course homepage online
Dates and Times
Lectures and Tutorials are scheduled according to the plan at the end of this page.
Exercises pipeline:
- Tuesday, day N: Exercises sheet online
- Monday, day N+6, 9:00: Early submission
- Tuesday, day N+7, 9:00: Late submission + Tutorial
- Thursday, day N+16: Corrected submissions handed out
Formalia
Prerequisites for admission to the final exam and form of the final exam will be announced in the lecture.
Brief summary of the preliminary plan:
- Sufficient criterion for exam admission: 50% of the total admission points in the exercises (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).
- Exam: by default a written exam of the usual form and duration, for bachelor students and on individual request (e.g. time conflicts for visiting students), oral exams can be negotiated; if the number of candidates for a written exam drops below a certain threshold, only oral exams will be offered.
- The module result ("Note") is completely determined by the exam.
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").
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.
- 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.
Tentative Plan
- Di, 20.10.: VL 01 "Motivation"
Overview, Formalia.
(Slides (with annotations), 2-up, Recording) - Do, 22.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, Recording) - Di, 27.10.: VL 03 "OCL"
Syntax of an (interesting fragment) of OCL and formal semantics over system states.
(Slides (with annotations), 2-up, Recording) - Do, 29.11.: VL 04 "Object Diagrams"
A notion of consistency for OCL; relating system states and object diagrams.
(Slides (with annotations), 2-up, Recording) - Di, 3.11.: Tutorial 1
- Do, 5.11.: VL 05 "Class Diagrams I"
+ exercise sheet 2 online
Mapping class diagrams to (extended) signatures.
(Slides (with annotations), 2-up, Recording) - Di, 10.11.: VL 06 "Type Systems and Visibility"
A simple type-system for OCL; an extension to explain the effect of visibility.
(Slides (with annotations), 2-up, Recording) - Do, 12.11.: VL 07 "Class Diagrams II"
Associations.
(Slides (with annotations), 2-up, Recording) - Di, 17.11.: Tutorial 2
- Do, 19.11.: VL 08 "Class Diagrams III"
+ exercise sheet 3 online
Associations continued.
(Slides (with annotations), 2-up, Recording) - Di, 24.11.: VL 09 "Modelling Structure"
When is a class diagram a good class diagram?
(Slides (with annotations), 2-up, Recording) - Do, 26.11.: VL 10 "Constructive Behaviour"
Difference between reflective and constructive descriptions of behaviour, basic UML state machines
(Slides (with annotations), 2-up, Recording) - Di, 1.12.: Tutorial 3
- Do, 3.12.: VL 11 "Core State Machines I" + exercise sheet 4 online
Basic UML state machines continued
(Slides (with annotations), 2-up, Recording) - Di, 8.12.: VL 12 "Core State Machines II"
(Slides (with annotations), 2-up, Recording) - Do, 10.12.: VL 13 "Hierarchical State Machines I"
(Slides (with annotations), 2-up, Recording) - Di, 15.12.: Tutorial 4
- Do, 17.12.: VL 14 "Hierarchical State Machines II"
+ exercise sheet 5 online
(Slides (with annotations), 2-up, Recording) - Di, 22.12.: VL 15 "tba"
(Slides (with annotations), 2-up, Recording) - Do, 7. 1.: VL 16 "Reflective Behaviour: LSC I"
(Slides (with annotations), 2-up, Recording) - Di, 12. 1.: Tutorial 5
- Do, 14. 1.: VL 17 "Live Sequence Charts II"
+ exercise sheet 6 online
(Slides (with annotations), 2-up, Recording) - Di, 19. 1.: VL 18 "Real-Time UML"
(Slides (with annotations), 2-up, Recording) - Do, 21. 1.: VL 19 "Components"
(Slides (with annotations), 2-up, Recording) - Di, 26. 1.: Tutorial 6
- Do, 28. 1.: VL 20 "Inheritance"
+ exercise sheet 7 online
(Slides (with annotations), 2-up, Recording) - Di, 2. 2.: VL 21 "Meta-Modeling"
(Slides (with annotations), 2-up, Recording) - Do, 4. 2.: VL 22 "Putting it all together: MDA, MDSE"
(Slides (with annotations), 2-up, Recording) - Di, 9. 2.: Tutorial 7
- Do, 11. 2.: VL 23 "Wrapup + Questions"
(Slides (with annotations), 2-up, Recording)
Prerequisites
Courses "Informatik III" (Theoretical Computer Science Basics) and "Softwaretechnik" recommended.
- Instructors: Andreas Podelski | Bernd Westphal
- Times & Locations: Tue, 09:00 - 11:00, SR 00 007 (MMR) Geb. 106 | Thu, 11:00 - 12:00, SR 00 007 (MMR) Geb. 106
- Tutors: O. Mitevski | X. Wu
- Times & Locations of tutorials: Thu, 12:00 - 13:00, SR 00 007 (MMR) Geb. 106
