Formal Methods of
Software Engineering:
MDA with AndroMDA
Dirk Müller
Winter Semester 2007/08
University of Applied Sciences Fulda
Organisational Issues
● counts: 4 SWS (2+2; lecture + exercise course)
– 5 credit points
● lecturer: Dirk Müller
● contact:
– dmueller [at] informatik.uni-marburg.de
– phone: 06421-282-1541
– www.informatik.uni-marburg.de/~dmueller
● time and place: on Thursdays, 17:10 – 20:30
lecture room E107 and computer pool E121
11/10/07 Dirk Müller: FMoSE, WS 2007/08 2/18
01-Introduction
Semester Schedule
I. Thu 11/10/2007 X. Thu 13/12/2007
Introduction
More Details about
II. Thu 18/10/2007
XI. Thu 20/12/2007
AndroMDA
III. Thu 25/10/2007 Christmas holidays
IV. Thu 01/11/2007 XII. Thu 03/01/2008
Business Applications
V. Thu 08/11/2007 XIII. Thu 10/01/2008
VI. Thu 15/11/2007 with AndroMDA
XIV. Thu 17/01/2008
VII. Thu 22/11/2007 XV. Thu 24/01/2008
Systematisation
VIII. Thu 29/11/2007 XVI. Thu 31/01/2008
IX. Thu 06/12/2007 XVII. Thu 07/02/2008
(St. Nicholas' Day)
Thu 14/02/2008
test in written form
11/10/07 Dirk Müller: FMoSE, WS 2007/08 3/18
01-Introduction
Organisational Issues
●
Master of Electronic Business, 1st semester
● prerequisites (official): fundamental knowledge in
– Software Engineering
– Automata Theory and Formal Languages
– Computability and Complexity Theory
● credit criteria: several exercises with sufficient
success, only then final test in written form
● language: English
● on-line material: O:\Mueller (Novell Server Drive)
11/10/07 Dirk Müller: FMoSE, WS 2007/08 4/18
01-Introduction
Goals
● aims at a deeper understanding of Software
Engineering concepts, in particular Model
Driven Architecture as main focus (also limits)
● ability to assess the relevance of models, meta-
models and formal techniques in the software
development process (also comparisons etc.)
● ability to put into praxis the learned approaches:
business applications with UML and AndroMDA
11/10/07 Dirk Müller: FMoSE, WS 2007/08 5/18
01-Introduction
Style
● slides at “O:\Mueller“, but attention: minor
corrections and changes possible after session
●
1st unit lecture, than 2nd unit exercise course
● interposed questions are encouraged to pose
● literature mainly in German, but you should be
able to read it and get the main points at least
11/10/07 Dirk Müller: FMoSE, WS 2007/08 6/18
01-Introduction
Contents
● description techniques: views, models, meta-models
● Unified Modelling Language (UML) as basis
● Model Driven Architecture/Development (MDA/MDD)
● Platform Independent Model (PIM)
● Platform Specific Model (PSM)
● model transformations (M2M and M2C)
● Object Constraint Language (OCL) for checking?
● tools and development environments
11/10/07 Dirk Müller: FMoSE, WS 2007/08 7/18
01-Introduction
Literature
(in alphabetical order)
● “Model-driven software development” : with 5 tables
Sami Beydeda, Matthias Book, Volker Gruhn (eds.) - Berlin [u.a.] : Springer, 2005
● “AndroMDA” Chad Brandon, Matthias Bohlen, Wouter Zoons
Version: 3.0RC1, Release Date: Mar 27, 2005
http://www.codezoo.com/pub/component/286
● “Analyse und Design mit UML 2 : objektorientierte Softwareentwicklung” ; [inkl. Poster
mit UML-Notationsübersicht & OEP-Vorgehensübersicht]”
Oestereich, Bernd . - 7., aktualisierte Aufl. - München [u.a.] : Oldenbourg, 2005
● “UML 2 glasklar : Praxiswissen für die UML-Modellierung und -Zertifizierung”
Chris Rupp, Stefan Queins, Barbara Zengler; 2. , überarb. und erw. Aufl. -
München [u.a.] : Hanser, 2005
● “Modellgetriebene Softwareentwicklung : Techniken, Engineering,
Management” Stahl, Thomas . - 2., aktualisierte und erw. Aufl. - Heidelberg :
dpunkt-Verlag, 2007; HINT: 1st ed. has appeared in English translation as well
● “Software-Engineering mit UML und dem Unified Process” Wolfgang Zuser ; Thomas
Grechenig ; Monika Köhle; 2., überarb. Aufl. - München [u.a.]: Pearson Studium, 2004
11/10/07 Dirk Müller: FMoSE, WS 2007/08 8/18
01-Introduction
Session I:
Introduction to MDD
Fulda, 11/10/07
11/10/07 Dirk Müller: FMoSE, WS 2007/08 9/18
01-Introduction
Introduction to MDD
●
6thStandish Group Report 2006 on SW projects,
http://www.sdtimes.com/article/story-20070301-01.html (download 21/08/2007, David Rubinstein, 2007)
SW projects
– 35 % successful 100,0%
90,0%
80,0%
– 46 % challenged 70,0%
60,0%
(cost or time overruns)
outright failures
challenged
50,0%
successful
40,0%
– 19 % “outright failures” 30,0%
20,0%
10,0%
0,0%
1994 2006
● other statistics: Lines of Code per working day,
varies from 10 to 16 LOC (better: Source LOC)
http://www.torsten-horn.de/techdocs/sw-dev-process.htm#Vorbemerkungen
(download 21/08/2007, Torsten Horn, 2001-2007)
● on a good way, but still a lot to do
11/10/07 Dirk Müller: FMoSE, WS 2007/08 10/18
01-Introduction
Software Development Processes
● Waterfall Model
● Spiral Model
● V-Model
● Unified Process
● Agile Software Development
● Extreme Programming (XP)
● Top-down vs. Bottom-up design
● etc.
11/10/07 Dirk Müller: FMoSE, WS 2007/08 11/18
01-Introduction
Models in SW Development
● very important
● internal communication (colleagues) idea
and external (to customers)
concretion
● models of sth. vs. models for sth.
● several modelling languages model
(Petri Nets, SysML, BPML, ...)
but UML is the standard one
abstraction
● problem: model-code coherency
reality (system)
11/10/07 Dirk Müller: FMoSE, WS 2007/08 12/18
01-Introduction
The Concept “Model”
● a smaller copy
● a simplified version of sth. complex
● a perfect example (paradigm)
● an interpretation of an axiomatic system which
fulfils all the given axioms (in logics)
● so. who is paid for wearing fashion
● etc.
11/10/07 Dirk Müller: FMoSE, WS 2007/08 13/18
01-Introduction
The Principle of MDD
domain-specific
generator
model program
application-specific
11/10/07 Dirk Müller: FMoSE, WS 2007/08 14/18
01-Introduction
Desired Advantages of MDD
● reducing development times
● rapid prototypes => presentation to customers
● easier change to new technologies/platforms
● decoupling of domain and platform knowledge,
i.e. less technical knowledge for SW developers
● model-code coherency
● well-defined SW architecture
● up-to-date documentation
11/10/07 Dirk Müller: FMoSE, WS 2007/08 15/18
01-Introduction
Model Driven Architecture
● AndroMDA
● modelling with
UML
● generator is
capable of
generating code
for different
platforms
11/10/07 Dirk Müller: FMoSE, WS 2007/08 16/18
01-Introduction
Generation of Business
Applications
● Presentation Layer:
Struts, JSF
● Business Layer: Java
Beans, Spring
● Data Access Layer:
Hibernate
● Data Stores: e.g.
MySQL
11/10/07 Dirk Müller: FMoSE, WS 2007/08 17/18
01-Introduction
Summary
● course is mainly based on slides presented in
the session and afterwards put on-line
● several modelling lang., most important: UML
● potentials and limits of MDD
● realisation with different tools, central one:
AndroMDA
● coming up next week: Software Development
Processes
11/10/07 Dirk Müller: FMoSE, WS 2007/08 18/18
01-Introduction