Model-Driven Development
in Practice
Prof. Dr. Kurt Geihs
University of Kassel, Germany
EECS Department
Distributed Systems
Lecturer
Name Prof. Dr. Kurt Geihs Address Distributed Systems
EECS Department
University of Kassel
Wilhelmsh?her Allee 73
D-34121 Kassel
Germany
Phone+49 561 804-6275 Telefax+49 561 804-6277
E-mail geihs@uni-kassel.de WWW www.vs.uni-kassel.de
Where we are ... http://www.vs.uni-kassel.de
Who we are ...
University of Kassel
14 Departments: Natural Sciences,
Engineering, Humanities, Art
17000 students, 320 profs, 2000 staff
EECS Faculty at University of Kassel, Germany
26 professors / 12 in Computer Science
Verteilte Systeme (“Distributed Systems”) endowed chair of Deutsche Bank and B.Braun (since 11/04) currently 1 post doc, 8 Ph.D. students, staff, students …
What we do ...
Software for Distributed Systems
Teaching
Distributed Systems, Operating Systems,
Internet Application Technology,
Software Agents …
For students of Computer Science,
Electrical Engineering, Mechatronics …
What we do ...
Software for Distributed Systems
General Research Interests
Self-management, autonomy, adaptivity in distributed systems
(e.g. context-aware adaptive mobile applications, soccer robots)
Development methodology for distributed applications
(e.g. model-driven development, genetic programming for sensor
networks)
Semantic interoperability for service-oriented architectures
(e.g. QoS-aware service brokering, service composition, service
management)
Recent Research Projects
EpisemAction
Mobile Agents for Decentralised Network
Management
Mobile Adaptive Applications Quality-Controlled Component Systems
Middleware Services for Knowledge Management
Automated Service Matching in SOA
Distributed Genetic
Programming Framework Mobile Adaptive Applications In Ubiquitous Computing Environments
Autonomous Soccer Robots
dgpf
Course Objectives
Learn about model-driven development … Why?
What is it?
What are the benefits?
How can I use it?
Where is it going to?
Literature
Copies of slides
Books
Thomas Stahl, Markus Voelter, Krzysztof Czarnecki; Model-Driven Software Development: Technology, Engineering, Management; Wiley (2006)
Michael Guttman, John Parodi; Real-Life MDA: Solving Business Problems with Model Driven Architecture; Morgan Kaufmann (2006) MDA Guide: https://www.doczj.com/doc/9f18156029.html,/mda
… many more …
Papers
additional references will be mentioned during the course
1.Motivation
2.Foundations
3.Case Study 1: Soccer Robots
4.Case Study 2: Adaptive Applications
5.Conclusions and Outlook
Reasons for Failure of S/W Projects
Lack of application domain knowledge
developer: “Love this programming tool”
Fluctuating and conflicting requirements
user: “What I say is not what I want”
Complexity of computing environment
heterogeneity, scale, dynamics, extra-functional requirements … Communication and coordination breakdowns formal specifications versus intuitive requirements
Different objectives
user versus manager versus operator versus developer
MDD is another flicker of hope to improve the situation!
Model-Driven Architecture
Co-existence of different middleware platforms CORBA, J2EE, J2ME, .NET, .NET Compact Framework, Web
Services, Message Queuing, Event-based, …
Diversity of application requirements
functional and non-functional
Heterogeneity of system environments
from Grid Computing to Ambient Intelligence
OMG proposes
Model-Driven Architecture (MDA)
( OMG = Object Management Group)
MDA-Related OMG Standards
Modelling:UML (Unified Modeling Language) UML is defined using MOF
Metamodelling: MOF (Meta-Object Facility)
standard metamodeling framework
MDA’s basic mechanism for defining various modelling lang. Model interchange: XMI (XML Meta-Data Interchange) standard way of mapping objects to XML
used to serialize UML models (import / export)
Diagram interchange
Action semantics
…
Models are important
Models are a must in many
engineering disciplines
architecture
mechanical engineering
...
Software models capture design information that is usually absent from code and lost during development Basis for
system generation
analysis and simulation
test generation
documentation generation
…