Model driven software engineering for web applications [Elektronische Ressource] / Andreas Kraus
408 pages
English

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris

Model driven software engineering for web applications [Elektronische Ressource] / Andreas Kraus

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus
408 pages
English
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus

Description

Model Driven Software Engineering for Web Applications Andreas Kraus Dissertation zur Erlangung des akademischen Grades des Doktors der Naturwissenschaften an der Fakultät für Mathematik, Informatik und Statistik der Ludwig-Maximilians-Universität München vorgelegt am 23.04.2007 Model Driven Software Engineering for Web Applications Tag der Einreichung: 23.04.2007 Tag des Rigorosums: 04.07.2007 Berichterstatter Prof. Dr. Rolf Hennicker (Ludwig-Maximilians-Universität, München) Prof. Dr. Antonio Vallecillo (Universidad de Malaga, Spanien) 2 Model Driven Software Engineering for Web Applications Summary Model driven software engineering (MDSE) is becoming a widely accepted approach for developing complex applications and it is on its way to be one of the most promising para-digms in software engineering. MDSE advocates the use of models as the key artifacts in all phases of the development process, from analysis to design, implementation and testing. The most promising approach to model driven engineering is the Model Driven Architec-ture (MDA) defined by the Object Management Group (OMG). Applications are modeled at a platform independent level and are transformed to (possibly several) platform specific implementations.

Sujets

Informations

Publié par
Publié le 01 janvier 2007
Nombre de lectures 35
Langue English
Poids de l'ouvrage 2 Mo

Extrait




Model Driven Software Engineering for
Web Applications


Andreas Kraus





Dissertation

zur Erlangung des akademischen Grades
des Doktors der Naturwissenschaften
an der Fakultät für Mathematik, Informatik und Statistik
der Ludwig-Maximilians-Universität München


vorgelegt am 23.04.2007 Model Driven Software Engineering for Web Applications












Tag der Einreichung: 23.04.2007
Tag des Rigorosums: 04.07.2007

Berichterstatter

Prof. Dr. Rolf Hennicker
(Ludwig-Maximilians-Universität, München)

Prof. Dr. Antonio Vallecillo
(Universidad de Malaga, Spanien)
2 Model Driven Software Engineering for Web Applications
Summary
Model driven software engineering (MDSE) is becoming a widely accepted approach for
developing complex applications and it is on its way to be one of the most promising para-
digms in software engineering. MDSE advocates the use of models as the key artifacts in
all phases of the development process, from analysis to design, implementation and testing.
The most promising approach to model driven engineering is the Model Driven Architec-
ture (MDA) defined by the Object Management Group (OMG). Applications are modeled
at a platform independent level and are transformed to (possibly several) platform specific
implementations. Model driven Web engineering (MDWE) is the application of model
driven engineering to the domain of Web application development where it might be par-
ticularly helpful because of the continuous evolution of Web technologies and platforms.
However, most current approaches for MDWE provide only a partial application of the
MDA pattern. Further, metamodels and transformations are not always made explicit and
metamodels are often too general or do not contain sufficient information for the automatic
code generation. Thus, the main goal of this work is the complete application of the MDA
pattern to the Web application domain from analysis to the generated implementation, with
transformations playing an important role at every stage of the development process. Ex-
plicit metamodels are defined for the platform independent analysis and design and for the
platform specific implementation of dynamic Web applications. Explicit transformations
allow the automatic generation of executable code for a broad range of technologies. For
pursuing this goal, the following approach was chosen.
A metamodel is defined for the platform independent analysis and for the design of the
content, navigation, process and presentation concerns of Web applications as a conserva-
tive extension of the UML (Unified Modeling Language) metamodel, together with a cor-
responding UML profile as notation. OCL constraints ensure the well-formedness of mod-
els and are checked by transformations. Transformations implement the systematic evolu-
tion of analysis and design models. A generic platform for Web applications built on an
open-source Web platform and a generic runtime environment is proposed that represents a
family of platforms supporting the combination of a broad range of technologies. The
transformation to the platform specific models for this generic platform is decomposed
along the concerns of Web applications to cope in a fine-grained way with technology
changes. For each of the concerns a metamodel for the corresponding technology is de-
fined together with the corresponding transformations from the platform independent de-
sign models. The resulting models are serialized to code by means of serialization trans-
formations.
3 Model Driven Software Engineering for Web Applications

4 Model Driven Software Engineering for Web Applications
Zusammenfassung
Die modellgetriebene Softwareentwicklung (MDSE) entwickelt sich zu einem der vielver-
sprechendsten Paradigmen für die Entwicklung komplexer Anwendungen. Modelle spielen
dabei die zentrale Rolle in allen Phasen des Entwicklungsprozesses, von Analyse und Ent-
wurf bis zur Implementierung. Die Model Driven Architecture (MDA) ist der derzeit er-
folgversprechendste Ansatz zur modellgetriebenen Softwareentwicklung. Anwendungen
werden dabei auf einer plattformunabhängigen Ebene modelliert und durch Transformatio-
nen in eine plattformspezifische Implementierung überführt. Die modellgetriebene Web-
Anwendungsentwicklung (MDWE) wendet das Prinzip der modellgetriebenen Software-
entwicklung auf den Bereich der Web-Anwendungen an, wo sich dieser Ansatz als beson-
ders nützlich erweist, gegeben durch die andauernde Weiterentwicklung von Web-
Technologien und –Plattformen.
Die meisten aktuellen MDWE-Ansätze setzen den MDA-Ansatz allerdings nur teilweise
um. Ferner werden die verwendeten Metamodelle und Transformationen oft nicht explizit
definiert, und die Metamodelle sind oft zu allgemein oder enthalten nicht ausreichend In-
formationen zur automatischen Code-Generierung. Daher ist das Hauptziel dieser Disserta-
tion die umfassende Übertragung des MDA-Ansatzes auf den Bereich der Web-
Anwendungsentwicklung, von der Analyse bis zur Implementierung, wobei Transformati-
onen eine entscheidende Rolle in jeder Phase des Entwicklungsprozesses spielen. Explizite
Metamodelle werden definiert für die Analyse, den plattformunabhängigen Entwurf und
die plattformspezifische Implementierung. Eindeutig definierte Transformationen ermögli-
chen die automatische Code-Generierung für ein Vielzahl von Web-Technologien. Um
dieses Ziel zu erreichen wurde der folgende Ansatz gewählt.
Für die Analyse und für den plattformunabhängigen Entwurf der Inhalts-, Navigations-,
Prozess- und Präsentationsebenen einer Web-Anwendung wird ein Metamodell als eine
konservative Erweiterung des UML-Metamodells (Unified Modeling Language) definiert.
Ein entsprechendes UML-Profil dient dabei als Notation. OCL-Constraints, die durch
Transformationen überprüft werden, stellen die Wohlgeformtheit der Modelle sicher. ationen implementieren auch die systematische Entwicklung der Analyse- und
Entwurfsmodelle. Eine generische Plattform ermöglicht eine Aufspaltung der Transforma-
tion plattformunabhängiger Modelle in einzelne Transformationen für die verschiedenen
Ebenen einer Web-Anwendung. Für jede Ebene wird dazu ein Metamodell für die entspre-
chende Implementierungstechnologie und eine entsprechende Transformation definiert,
wodurch eine Vielzahl von Technologien kombiniert werden kann. Die resultierenden Mo-
delle werden dann durch Serialisierungstransformationen in Code umgewandelt.
5 Model Driven Software Engineering for Web Applications












Acknowledgments
First of all, I would like to thank my two supervisors Rolf Hennicker and Antonio
Vallecillo, and Martin Wirsing. Then, thanks go to my colleagues, especially Nora Koch
and Alexander Knapp for the fruitful discussions on Web engineering topics, and to Mat-
thias Ludwig and Stephan Janisch for the time working together in the GLOWA-Danube
project. Finally, I thank all of my students and all the people from abroad I have been
working together over the last years.
My special thanks go to Sabine, our families and friends for their support and patience.

This work has been supported by the German BMBF-project GLOWA-Danube.
6 CONTENT

1 Introduction ________________________________________________________ 13
1.1 Problem Statement ______________________________________________ 14
1.2 Approach ______________________________________________________ 14
1.3 Introduction to the DANUBIA Case Study __________________________ 19
1.4 Organization of the Work ________________________________________ 20
2 Model Driven Software Engineering ____________________________________ 21
2.1 Model Driven Architecture (MDA)_________________________________ 23
2.1.1 Model Types________________________________________________ 24
2.1.1.1 Computation Independent Models (CIM) _______________________ 25
2.1.1.2 Platform Independent Models (PIM) ___________________________ 25
2.1.1.3 Specific Models (PSM) ______________________________ 25
2.1.1.4 Platform Models (PM) ______________________________________ 26
2.1.2 Transformation Types_________________________________________ 26
2.1.2.1 Model Type Transformations _________________________________ 26
2.1.2.2 Model Instance Transformations 27
2.2 Object Management Group Meta Architecture ______________________ 27
2.2.1 Metamodel Layering 28
2.2.2 Meta Object Facility (MOF)____________________________________ 29
2.2.3 Unified Modeling Language (UML) _____________________________ 30
2.2.4 UML Extensions_____________________________________________ 31
2.3 Transformation Approaches ______________________________________ 32
2.3.1 Classification _______________________________________________ 32
2.3.1.1 Hard-Coded Transformations_________________________________ 33
2.3.1.2 Model-To-Code Approaches 33
2.3.1.3 Direct-Manipulation Approaches ______________________________ 34
2.3.1.4 Relational Approaches ________________

  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents