Beydeda / Book / Gruhn | Model-Driven Software Development | E-Book | www.sack.de
E-Book

E-Book, Englisch, 462 Seiten

Beydeda / Book / Gruhn Model-Driven Software Development


1. Auflage 2005
ISBN: 978-3-540-28554-0
Verlag: Springer Berlin Heidelberg
Format: PDF
Kopierschutz: 1 - PDF Watermark

E-Book, Englisch, 462 Seiten

ISBN: 978-3-540-28554-0
Verlag: Springer Berlin Heidelberg
Format: PDF
Kopierschutz: 1 - PDF Watermark



Abstraction is the most basic principle of software engineering. Abstractions are provided by models. Modeling and model transformation constitute the core of model-driven development. Models can be refined and finally be transformed into a technical implementation, i.e., a software system. The aim of this book is to give an overview of the state of the art in model-driven software development. Achievements are considered from a conceptual point of view in the first part, while the second part describes technical advances and infrastructures. Finally, the third part summarizes experiences gained in actual projects employing model-driven development. Beydeda, Book and Gruhn put together the results from leading researchers in this area, both from industry and academia. The result is a collection of papers which gives both researchers and graduate students a comprehensive overview of current research issues and industrial forefront practice, as promoted by OMG's MDA initiative.

Sami Beydeda is an IT officer at the Federal Finance Office (Bundesamt füer Finanzen), Germany. His research interests besides model-driven development include software testing and component-based development. He has written his PhD thesis on 'The Self-Testing COTS Components (STECC) Method'. Sami Beydeda is a program committee co-chair of TECOS 2004, TQACBS 2005, program committee member of COMPSAC 2004, SEA 2004, QATWBA 2004, QATWBA 2005, TQACBS 2005. Matthias Book is a research associate at the Chair of Applied Telematics / e-Business at the University of Leipzig in Germany. He is writing his PhD thesis on dialog flow control in web applications. His research interests include software engineering for distributed applications and especially model-driven design of web applications. Volker Gruhn is a full professor at the computer science department of the University of Leipzig, Germany. His research interests are component-based development, software processes for distributed systems, architecture of electronic commerce applications and workflow management. He has been chief technical officer of a German software house called LION from 1992 to 1996. In this position he was responsible for a software development department of 150 people. Volker Gruhn was a PC member of major software engineering conferences (ESEC95, ESEC97, ICSE2004) and several software process workshops and conferences. He was program chair of the 6th European Workshop on Software Process Technology and the 8th European Software Engineering Conference. Volker Gruhn has already organized a workshop at ICSE, the Engineering Distributed Objects Workshop during ICSE 99. In 1997 Volker Gruhn co-founded adesso AG, a German software house specialized in component-based software development. adesso AG currently has 170 employees.

Beydeda / Book / Gruhn Model-Driven Software Development jetzt bestellen!

Weitere Infos & Material


1;Preface;5
1.1;Acknowledgments;8
1.1.1;Committee Members;8
2;Contents;11
3;Introduction: Models, Modeling, and Model-Driven Architecture (MDA);13
3.1;1 Introduction;13
3.2;2 Modeling Approaches;15
3.3;3 MDA Principles;18
3.3.1;3.1 A Simple Example;20
3.3.2;3.2 Summary;21
3.4;4 Automating Generation with Patterns and Transformations;22
3.4.1;4.1 How Models Evolve;22
3.4.2;4.2 Understanding Model Transformation;23
3.4.3;4.3 Applying Model Transformations;24
3.5;5 Summary;27
3.6;6 Acknowledgements;27
4;Part I Conceptual Foundations of Model-Driven Development;29
4.1;A Systematic Look at Model Transformations;30
4.1.1;1 Foundation;30
4.1.2;2 Classification of Model Transformations;32
4.1.2.1;2.1 Fine-Grained Classification Scheme;33
4.1.2.2;2.2 System and Model Transformations;34
4.1.2.3;2.3 Model and Formalism Transformations;35
4.1.3;3 Using the Classification Scheme;36
4.1.3.1;3.1 High-level Language Compiler Transformations;37
4.1.3.2;3.2 Transformational Software Development;37
4.1.3.3;3.3 MDSD Transformations;38
4.1.3.4;3.4 Horizontal Transformations;43
4.1.4;4 Conclusion;43
4.1.5;5 Acknowledgments;44
4.2;Tool Support for Model-Driven Development of Security-Critical Systems with UML;45
4.2.1;1 Introduction;45
4.2.1.1;1.1 Overview and Background;47
4.2.2;2 UML Machines and UML Machine Systems;48
4.2.3;3 Formal Semantics for a Fragment of UML;51
4.2.3.1;3.1 Sequence Diagrams;51
4.2.3.2;3.2 Reasoning about Model Properties;53
4.2.3.3;3.3 Using External Verification Tools;54
4.2.4;4 UML and XML-Based Analysis for Critical Systems Development;55
4.2.5;5 Tools for Advanced XML-Based Processing of UML Models;56
4.2.5.1;5.1 XML-Based Data Binding with MDR;58
4.2.5.2;5.2 XML-Based UML Tools Suite;60
4.2.6;6 Related Work;64
4.2.7;7 Conclusion;64
4.3;Caste-centric Modelling of Multi-agent Systems: The CAMLE Modelling Language and Automated Tools;66
4.3.1;1 Introduction;66
4.3.2;2 Meta-model of Multi-agent Systems;68
4.3.3;3 The CAMLE Modelling Language;71
4.3.3.1;3.1 The Overall Structure of Models;71
4.3.3.2;3.2 Caste Model;71
4.3.3.3;3.3 Collaboration Model;73
4.3.3.4;3.3.1 Scenarios of Collaboration;74
4.3.3.5;3.3.2 Re.nement of Collaboration Models;75
4.3.3.6;3.4 Behaviour Model;75
4.3.3.7;3.4.1 Scenario Diagrams;76
4.3.3.8;3.4.2 Behaviour Diagrams;78
4.3.4;4 Consistency Constraints on the Models;79
4.3.4.1;4.1 Intra-model Consistency;80
4.3.4.1.1;4.1.1 Constraints on Caste Models;80
4.3.4.1.2;4.1.2 Constraints on Collaboration Models;80
4.3.4.1.3;4.1.3 Constraints on Behaviour Models;83
4.3.4.2;4.2 Inter-model Consistency;83
4.3.4.2.1;4.2.1 Consistency Between Collaboration Models and Caste Models;83
4.3.4.2.2;4.2.2 Consistency Between Behaviour Models and Caste Models;84
4.3.4.2.3;4.2.3 Consistency Between Collaboration Models and Behaviour Models;85
4.3.4.3;4.3 Discussion;86
4.3.5;5 Automatic Generation of Formal Specifications;88
4.3.5.1;5.1 The Specfication Language SLABS;88
4.3.5.2;5.2 The Overall Transformation Algorithm;89
4.3.5.3;5.3 Generation of Behaviour Descriptions;91
4.3.5.3.1;5.3.1 Recognition of Behaviour Rules;91
4.3.5.3.2;5.3.2 Translation of Rules into SLABS Format;92
4.3.5.3.3;5.3.3 Transformation Rules for Behaviour Patterns;93
4.3.5.3.4;5.3.4 Transformation Rules for Scenarios;93
4.3.5.4;5.4 Discussion;95
4.3.6;6 The CAMLE Modelling Environment;95
4.3.6.1;6.1 The Overall Architecture;95
4.3.6.2;6.2 Case Studies;97
4.3.7;7 Conclusion;98
4.3.8;8 Acknowledgements;98
4.4;Using Graph Transformation for Practical Model-Driven Software Engineering;99
4.4.1;1 Introduction;99
4.4.2;2 A Basic Introduction to the Graph Transformation Concepts;100
4.4.2.1;2.1 Directed Typed Graphs and Graph Morphisms;101
4.4.2.2;2.2 Graph Variants;101
4.4.2.3;2.3 Graph Transformation and Graph Transformation Systems Basic Principles;102
4.4.2.4;2.4 Graph Transformation Variants;104
4.4.2.5;2.5 Alternatives for a Graph Transformation Approach;104
4.4.3;3 Graph Transformations for Vertical Model Transformation;106
4.4.3.1;3.1 The Fujaba Approach;106
4.4.3.2;3.2 Comparison with other Related Approaches;113
4.4.4;4 Graph Transformations for Horizontal Model Transformation;114
4.4.4.1;4.1 The Fujaba Approach Refactoring as an Example of Horizontal Rephrasing;115
4.4.4.2;4.2 Comparison with other Related Approaches Hypergraph Transformation Approaches;116
4.4.5;5 Graph Grammars for Model Analysis and Verification;118
4.4.5.1;5.1 Correctness Criteria for Transformations;118
4.4.5.2;5.2 CheckVML: A Tool for Model Checking Graph Grammars;118
4.4.5.3;5.3 Reachability Analysis of Flattened Statecharts;122
4.4.5.4;5.4 Comparison with other Related Approaches;123
4.4.6;6 Conclusions and FutureWork;124
4.5;A Generalized Notion of Platforms for Model-Driven Development;126
4.5.1;1 Introduction;126
4.5.2;2 What Is a Platform?;128
4.5.2.1;2.1 Hardware;129
4.5.2.2;2.2 Operating System;129
4.5.2.3;2.3 Virtual Machine;129
4.5.2.4;2.4 Language Support;130
4.5.2.5;2.5 Libraries;130
4.5.2.6;2.6 Framework;130
4.5.3;3 Describing Platforms;131
4.5.3.1;3.1 Hardware;131
4.5.3.2;3.2 Operating System;131
4.5.3.3;3.3 Virtual Machine;131
4.5.3.4;3.4 Language Support;132
4.5.3.5;3.5 Library and Framework;132
4.5.4;4 Platforms and Platform Models for MDA;132
4.5.4.1;4.1 Generalized MDD Platform Model;133
4.5.4.2;4.2 Stack Example;135
4.5.5;5 Model Transformation Tools;139
4.5.6;6 Summary;142
4.5.7;7 Acknowledgements;143
5;Part II Technical Infrastructure of Model-Driven Development;144
5.1;A Tool Infrastructure for Model-Driven Development Using Aspectual Patterns;145
5.1.1;1 Introduction;145
5.1.2;2 Characteristics of MDD Tools;146
5.1.2.1;2.1 Support for Multiple Artifact Types;147
5.1.2.2;2.2 Support for Various Development Activities;148
5.1.2.3;2.3 Support for Decomposing Systems into Separate Concerns;149
5.1.2.4;2.4 A Two-Dimensional Development Approach;149
5.1.3;3 Concepts for MDD Tool Infrastructure;151
5.1.3.1;3.1 Separation of Concerns;151
5.1.3.2;3.2 Aspectual Patterns;151
5.1.3.3;3.3 Pattern Role Diagrams;153
5.1.3.4;3.4 Using Aspectual Patterns for Multiple Artifact Types;154
5.1.3.5;3.5 Composition of Aspectual Patterns;155
5.1.3.6;3.6 Identifying and Documenting Aspectual Patterns;158
5.1.3.7;3.7 Aspectual Patterns as Transformations;159
5.1.4;4 Implementation – MADE;159
5.1.4.1;4.1 MADE Toolset;159
5.1.4.2;4.2 Presenting Heterogeneous Aspectual Patterns in MADE;161
5.1.4.3;4.3 Composing Aspectual Patterns;163
5.1.4.4;4.4 Main Features of MADE;164
5.1.5;5 Supporting Different Activities;165
5.1.5.1;5.1 Feature Variability Management;166
5.1.5.2;5.2 Maintenance;170
5.1.5.3;5.3 Framework Specialization;173
5.1.5.4;5.4 Comprehension;177
5.1.6;6 Related Work;180
5.1.6.1;6.1 Aspectual Patterns;181
5.1.6.2;6.2 Separation of Concerns;181
5.1.6.3;6.3 MDD;182
5.1.6.4;6.4 Tools;182
5.1.7;7 Conclusions;183
5.1.8;8 Acknowledgements;184
5.2;Automatically Discovering Transitive Relationships in Class Diagrams;185
5.2.1;1 Introduction;185
5.2.2;2 Illustrative Example;186
5.2.3;3 Simple Abstraction;188
5.2.3.1;3.1 Semantic Rules;188
5.2.3.2;3.2 Living with Ambiguous Class Definitions;190
5.2.3.3;3.3 Other Abstraction Rules;192
5.2.3.4;3.4 The Complete List;192
5.2.4;4 Composite Abstraction;195
5.2.4.1;4.1 Path Abstraction;195
5.2.4.2;4.2 Paths among Neighboring Important Classes;196
5.2.4.3;4.3 Abstracting Cardinalities;198
5.2.4.4;4.4 Path Exploration;199
5.2.5;5 Automation and Tool Support;200
5.2.6;6 Validation;200
5.2.6.1;6.1 Validity of Abstraction Rules and Algorithm;200
5.2.6.2;6.2 Manual Abstraction Versus Automation;201
5.2.7;7 Related Work;202
5.2.8;8 Conclusion;204
5.2.9;9 Acknowledgements;204
5.3;Generic and Domain-Specific Model Refactoring Using a Model Transformation Engine;205
5.3.1;1 Introduction;205
5.3.2;2 Background: Model Transformation with GME and C-SAW;206
5.3.2.1;2.1 The Generic Modeling Environment;206
5.3.2.2;2.2 Constraint-Specification Aspect Weaver;207
5.3.3;3 Model Refactoring Browser;208
5.3.4;4 Generic Model Refactorings;210
5.3.4.1;4.1 Class Diagram Refactorings;210
5.3.4.2;4.2 GME Meta-model Refactorings;212
5.3.5;5 Domain-Specific Model Refactorings;214
5.3.5.1;5.1 Refactoring Quality of Service Models;214
5.3.5.2;5.2 Refactoring Petri nets;218
5.3.6;6 Related Work;221
5.3.7;7 Conclusions and FutureWork;222
5.3.8;8 Acknowledgements;223
5.4;A Testing Framework for Model Transformations;224
5.4.1;1 Introduction;224
5.4.2;2 Background;227
5.4.3;3 Detecting the Differences Between Models;228
5.4.3.1;3.1 Graph Representation of Models;228
5.4.3.2;3.2 Model Mapping and Difference;229
5.4.3.3;3.3 Model Comparison;230
5.4.4;4 A Framework for Model Transformation Testing;232
5.4.4.1;4.1 Test Case Constructor;232
5.4.4.2;4.2 Test Engine;233
5.4.4.3;4.3 Test Analyzer;233
5.4.5;5 Case Study: Example Application of Model Transformation Testing;234
5.4.5.1;5.1 Test Specification Definition;236
5.4.5.2;5.2 Test Case Construction;237
5.4.5.3;5.3 Test Results and Difference Indication;238
5.4.5.4;5.4 Correction of the Model Transformation Specification;238
5.4.6;6 Related Work;239
5.4.7;7 Conclusions and FutureWork;240
5.4.8;8 Acknowledgements;241
5.5;Parallax - An Aspect-Enabled Framework for Plug-in-Based MDA Refinements Towards Middleware;242
5.5.1;1 Introduction;242
5.5.2;2 Parallax and Enterprise Fondue;244
5.5.2.1;2.1 The Architecture of Parallax;247
5.5.2.2;2.2 The Parallax Core;248
5.5.3;3 The Framework of Parallax Plug-ins ;252
5.5.3.1;3.1 Code Generator Plug-ins;256
5.5.3.2;3.2 Parallax Aspect-Plug-ins;257
5.5.3.2.1;3.2.1 Concern-Oriented and Concern-on-Technology Aspect-Plug-ins;258
5.5.3.2.2;3.2.2 Concern-on-Platform Aspect-Plug-ins;261
5.5.3.3;3.3 Discussion;264
5.5.4;4 The Parallax Tool Support;264
5.5.5;5 Related Work;268
5.5.6;6 Conclusions and FutureWork;270
5.5.7;7 Acknowledgements;272
5.6;Evolution and Maintenance of MDA Applications;273
5.6.1;1 Software Evolution;273
5.6.1.1;1.1 Innovation Cycles;273
5.6.1.2;1.2 Dependency Chains;274
5.6.1.3;1.3 Maintainability;276
5.6.2;2 MDA Development Environment;276
5.6.2.1;2.1 "Funcar” Application Case Study;276
5.6.2.2;2.2 Run-time Environment;276
5.6.2.3;2.3 Development Tool Chain;277
5.6.2.4;2.4 Reference Architectures;277
5.6.2.5;2.5 Business Modeling with UML;279
5.6.2.6;2.6 Model Interchange with XMI;279
5.6.2.7;2.7 Code Generation with Velocity;280
5.6.2.8;2.8 Business Code in the Target Language Java;281
5.6.2.9;2.9 Model Transformation;282
5.6.3;3 Maintainability of MDA Applications;283
5.6.3.1;3.1 Change in the Run-time Environment;284
5.6.3.2;3.2 Evolution of the Reference Architecture;286
5.6.3.3;3.3 Change in the Development Tool Chain;286
5.6.3.4;3.4 External Evolution of UML, XMI, or MDA;287
5.6.3.5;3.5 New Requirements;288
5.6.4;4 Related Work;289
5.6.5;5 Conclusion;289
6;Part III Case Studies;291
6.1;Intents and Upgrades in Component-Based High-Assurance Systems;292
6.1.1;1 Introduction;292
6.1.2;2 Intents and Upgrades;294
6.1.2.1;2.1 Dependability and Components;294
6.1.2.2;2.2 Constructing the Correct;296
6.1.2.3;2.3 Dependable Assemblies of Correct Components;297
6.1.3;3 Intent Specifications;298
6.1.4;4 Support for Upgrades;299
6.1.4.1;4.1 Example: Unmanned Vehicle;300
6.1.5;5 From Specification to Design;302
6.1.6;6 Results and Lessons Learnt;303
6.1.6.1;6.1 Upgraded Unmanned Vehicle;303
6.1.6.2;6.2 Secure Communication Platform;304
6.1.6.3;6.3 Airbag Software;305
6.1.6.4;6.4 Final Remarks;305
6.1.7;7 Acknowledgements;306
6.2;On Modeling Techniques for Supporting Model-Driven Development of Protocol Processing Applications;307
6.2.1;1 Introduction;307
6.2.1.1;1.1 Models and Modeling Languages;308
6.2.1.2;1.2 Model-Driven Software Development Methods;309
6.2.2;2 Tool Support for MDA;310
6.2.2.1;2.1 SMW Tool;311
6.2.2.2;2.2 Scripts;311
6.2.2.3;2.3 Queries: Metrics, Constraints, and Guidelines;312
6.2.2.4;2.4 Model Transformations;315
6.2.3;3 A Design Methodology for Protocol Processing Applications;316
6.2.3.1;3.1 Functional Specification of the Application;318
6.2.3.2;3.2 From General Specifications to Specific Implementations;319
6.2.3.3;3.3 System Generation;323
6.2.4;4 Automating Model Transformations in the Methodology;324
6.2.5;5 Conclusions;329
6.2.6;6 Acknowledgements;330
6.3;An Integrated Model-Driven Development Environment for Composing and Validating Distributed Real-Time and Embedded Systems ;331
6.3.1;1 Introduction;332
6.3.2;2 An Overview of the CoSMIC and Cadena MDD Environments;334
6.3.2.1;2.1 Overview of CoSMIC;334
6.3.2.2;2.2 Overview of Cadena;337
6.3.3;3 Approaches to Integrating MDD Tools for DRE Systems;341
6.3.4;4 Demonstrating Integrated CoSMIC - Cadena Capabilities via a Robot Assembly Case Study;348
6.3.4.1;4.1 Structure and Functionality of the Robot Assembly Application;348
6.3.4.2;4.2 Key Capabilities Provided by CoSMIC and Cadena Integration for the Robot Assembly Application;350
6.3.4.3;4.3 Summary of the Robot Assembly Case Study;358
6.3.5;5 Related Work;359
6.3.6;6 Concluding Remarks;360
6.4;A Model-Driven Technique for Development of Embedded Systems Based on the DEVS Formalism;364
6.4.1;1 Introduction;364
6.4.2;2 Background;365
6.4.3;3 The CD++ Toolkit;367
6.4.4;4 Incremental development of a DEVS Simulation Model;371
6.4.5;5 Hybrid Applications: An Automated Factory Model;376
6.4.6;6 Development Improvements;382
6.4.7;7 Conclusion;383
6.4.8;8 Acknowledgements;384
6.5;Model-Driven Service Engineering;385
6.5.1;1 The MDA Idea;385
6.5.2;2 Model-Driven Development;387
6.5.3;3 Abstraction Criteria;390
6.5.4;4 Towards Model-Driven Service Engineering;391
6.5.4.1;4.1 The Nature of Services;392
6.5.4.2;4.2 Role and Actor Modeling – RAM;393
6.5.4.3;4.3 Service Modeling;395
6.5.4.4;4.4 Implementation and Platform Issues;396
6.5.4.5;4.5 RAM and MDA;397
6.5.5;5 Concluding Remarks;399
6.5.6;6 Acknowledgements;400
6.6;Practical Insights into Model-Driven Architecture: Lessons from the Design and Use of an MDA Toolkit;402
6.6.1;1 Introduction;402
6.6.2;2 The MDA Toolkit for IBM Rational XDE Java;404
6.6.2.1;2.1 Motivation;404
6.6.2.2;2.2 Key Aspects of the MDA Toolkit;404
6.6.2.3;2.3 The Role of UML Profiles;406
6.6.2.4;2.4 Packaging and Delivering MDA Toolkit Transformations;406
6.6.3;3 Lessons in the Design and Application of MDA Solutions;407
6.6.3.1;3.1 Semantic Model Connections;407
6.6.3.2;3.2 Identify Candidate Transformations;408
6.6.3.3;3.3 Document Transformation Requirements;409
6.6.3.4;3.4 Create UML Profiles;417
6.6.3.5;3.5 Develop the Transformation;419
6.6.3.6;3.6 Deploy the Transformation;423
6.6.4;4 Commentary;424
6.6.4.1;4.1 The MDA Process;424
6.6.4.2;4.2 Using MDA to Customize a Solution Framework;427
6.6.5;5 Summary and Future Directions;429
6.6.6;6 Acknowledgements;430
7;References;431
8;Index;457



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.