Hilfe Warenkorb Konto Anmelden
 
 
   Schnellsuche   
     zur Expertensuche                      
Model-Driven Software Development
  Großes Bild
 
Model-Driven Software Development
von: Sami Beydeda, Matthias Book, Volker Gruhn
Springer-Verlag, 2005
ISBN: 9783540285540
462 Seiten, Download: 5699 KB
 
Format:  PDF
geeignet für: Apple iPad, Android Tablet PC's Online-Lesen PC, MAC, Laptop

Typ: A (einfacher Zugriff)

 

 
eBook anfordern
Inhaltsverzeichnis

  Preface 5  
     Acknowledgments 8  
        Committee Members 8  
  Contents 11  
  Introduction: Models, Modeling, and Model-Driven Architecture (MDA) 13  
     1 Introduction 13  
     2 Modeling Approaches 15  
     3 MDA Principles 18  
        3.1 A Simple Example 20  
        3.2 Summary 21  
     4 Automating Generation with Patterns and Transformations 22  
        4.1 How Models Evolve 22  
        4.2 Understanding Model Transformation 23  
        4.3 Applying Model Transformations 24  
     5 Summary 27  
     6 Acknowledgements 27  
  Part I Conceptual Foundations of Model-Driven Development 29  
     A Systematic Look at Model Transformations 30  
        1 Foundation 30  
        2 Classification of Model Transformations 32  
           2.1 Fine-Grained Classification Scheme 33  
           2.2 System and Model Transformations 34  
           2.3 Model and Formalism Transformations 35  
        3 Using the Classification Scheme 36  
           3.1 High-level Language Compiler Transformations 37  
           3.2 Transformational Software Development 37  
           3.3 MDSD Transformations 38  
           3.4 Horizontal Transformations 43  
        4 Conclusion 43  
        5 Acknowledgments 44  
     Tool Support for Model-Driven Development of Security-Critical Systems with UML 45  
        1 Introduction 45  
           1.1 Overview and Background 47  
        2 UML Machines and UML Machine Systems 48  
        3 Formal Semantics for a Fragment of UML 51  
           3.1 Sequence Diagrams 51  
           3.2 Reasoning about Model Properties 53  
           3.3 Using External Verification Tools 54  
        4 UML and XML-Based Analysis for Critical Systems Development 55  
        5 Tools for Advanced XML-Based Processing of UML Models 56  
           5.1 XML-Based Data Binding with MDR 58  
           5.2 XML-Based UML Tools Suite 60  
        6 Related Work 64  
        7 Conclusion 64  
     Caste-centric Modelling of Multi-agent Systems: The CAMLE Modelling Language and Automated Tools 66  
        1 Introduction 66  
        2 Meta-model of Multi-agent Systems 68  
        3 The CAMLE Modelling Language 71  
           3.1 The Overall Structure of Models 71  
           3.2 Caste Model 71  
           3.3 Collaboration Model 73  
           3.3.1 Scenarios of Collaboration 74  
           3.3.2 Re.nement of Collaboration Models 75  
           3.4 Behaviour Model 75  
           3.4.1 Scenario Diagrams 76  
           3.4.2 Behaviour Diagrams 78  
        4 Consistency Constraints on the Models 79  
           4.1 Intra-model Consistency 80  
              4.1.1 Constraints on Caste Models 80  
              4.1.2 Constraints on Collaboration Models 80  
              4.1.3 Constraints on Behaviour Models 83  
           4.2 Inter-model Consistency 83  
              4.2.1 Consistency Between Collaboration Models and Caste Models 83  
              4.2.2 Consistency Between Behaviour Models and Caste Models 84  
              4.2.3 Consistency Between Collaboration Models and Behaviour Models 85  
           4.3 Discussion 86  
        5 Automatic Generation of Formal Specifications 88  
           5.1 The Specfication Language SLABS 88  
           5.2 The Overall Transformation Algorithm 89  
           5.3 Generation of Behaviour Descriptions 91  
              5.3.1 Recognition of Behaviour Rules 91  
              5.3.2 Translation of Rules into SLABS Format 92  
              5.3.3 Transformation Rules for Behaviour Patterns 93  
              5.3.4 Transformation Rules for Scenarios 93  
           5.4 Discussion 95  
        6 The CAMLE Modelling Environment 95  
           6.1 The Overall Architecture 95  
           6.2 Case Studies 97  
        7 Conclusion 98  
        8 Acknowledgements 98  
     Using Graph Transformation for Practical Model-Driven Software Engineering 99  
        1 Introduction 99  
        2 A Basic Introduction to the Graph Transformation Concepts 100  
           2.1 Directed Typed Graphs and Graph Morphisms 101  
           2.2 Graph Variants 101  
           2.3 Graph Transformation and Graph Transformation Systems Basic Principles 102  
           2.4 Graph Transformation Variants 104  
           2.5 Alternatives for a Graph Transformation Approach 104  
        3 Graph Transformations for Vertical Model Transformation 106  
           3.1 The Fujaba Approach 106  
           3.2 Comparison with other Related Approaches 113  
        4 Graph Transformations for Horizontal Model Transformation 114  
           4.1 The Fujaba Approach Refactoring as an Example of Horizontal Rephrasing 115  
           4.2 Comparison with other Related Approaches Hypergraph Transformation Approaches 116  
        5 Graph Grammars for Model Analysis and Verification 118  
           5.1 Correctness Criteria for Transformations 118  
           5.2 CheckVML: A Tool for Model Checking Graph Grammars 118  
           5.3 Reachability Analysis of Flattened Statecharts 122  
           5.4 Comparison with other Related Approaches 123  
        6 Conclusions and FutureWork 124  
     A Generalized Notion of Platforms for Model-Driven Development 126  
        1 Introduction 126  
        2 What Is a Platform? 128  
           2.1 Hardware 129  
           2.2 Operating System 129  
           2.3 Virtual Machine 129  
           2.4 Language Support 130  
           2.5 Libraries 130  
           2.6 Framework 130  
        3 Describing Platforms 131  
           3.1 Hardware 131  
           3.2 Operating System 131  
           3.3 Virtual Machine 131  
           3.4 Language Support 132  
           3.5 Library and Framework 132  
        4 Platforms and Platform Models for MDA 132  
           4.1 Generalized MDD Platform Model 133  
           4.2 Stack Example 135  
        5 Model Transformation Tools 139  
        6 Summary 142  
        7 Acknowledgements 143  
  Part II Technical Infrastructure of Model-Driven Development 144  
     A Tool Infrastructure for Model-Driven Development Using Aspectual Patterns 145  
        1 Introduction 145  
        2 Characteristics of MDD Tools 146  
           2.1 Support for Multiple Artifact Types 147  
           2.2 Support for Various Development Activities 148  
           2.3 Support for Decomposing Systems into Separate Concerns 149  
           2.4 A Two-Dimensional Development Approach 149  
        3 Concepts for MDD Tool Infrastructure 151  
           3.1 Separation of Concerns 151  
           3.2 Aspectual Patterns 151  
           3.3 Pattern Role Diagrams 153  
           3.4 Using Aspectual Patterns for Multiple Artifact Types 154  
           3.5 Composition of Aspectual Patterns 155  
           3.6 Identifying and Documenting Aspectual Patterns 158  
           3.7 Aspectual Patterns as Transformations 159  
        4 Implementation – MADE 159  
           4.1 MADE Toolset 159  
           4.2 Presenting Heterogeneous Aspectual Patterns in MADE 161  
           4.3 Composing Aspectual Patterns 163  
           4.4 Main Features of MADE 164  
        5 Supporting Different Activities 165  
           5.1 Feature Variability Management 166  
           5.2 Maintenance 170  
           5.3 Framework Specialization 173  
           5.4 Comprehension 177  
        6 Related Work 180  
           6.1 Aspectual Patterns 181  
           6.2 Separation of Concerns 181  
           6.3 MDD 182  
           6.4 Tools 182  
        7 Conclusions 183  
        8 Acknowledgements 184  
     Automatically Discovering Transitive Relationships in Class Diagrams 185  
        1 Introduction 185  
        2 Illustrative Example 186  
        3 Simple Abstraction 188  
           3.1 Semantic Rules 188  
           3.2 Living with Ambiguous Class Definitions 190  
           3.3 Other Abstraction Rules 192  
           3.4 The Complete List 192  
        4 Composite Abstraction 195  
           4.1 Path Abstraction 195  
           4.2 Paths among Neighboring Important Classes 196  
           4.3 Abstracting Cardinalities 198  
           4.4 Path Exploration 199  
        5 Automation and Tool Support 200  
        6 Validation 200  
           6.1 Validity of Abstraction Rules and Algorithm 200  
           6.2 Manual Abstraction Versus Automation 201  
        7 Related Work 202  
        8 Conclusion 204  
        9 Acknowledgements 204  
     Generic and Domain-Specific Model Refactoring Using a Model Transformation Engine 205  
        1 Introduction 205  
        2 Background: Model Transformation with GME and C-SAW 206  
           2.1 The Generic Modeling Environment 206  
           2.2 Constraint-Specification Aspect Weaver 207  
        3 Model Refactoring Browser 208  
        4 Generic Model Refactorings 210  
           4.1 Class Diagram Refactorings 210  
           4.2 GME Meta-model Refactorings 212  
        5 Domain-Specific Model Refactorings 214  
           5.1 Refactoring Quality of Service Models 214  
           5.2 Refactoring Petri nets 218  
        6 Related Work 221  
        7 Conclusions and FutureWork 222  
        8 Acknowledgements 223  
     A Testing Framework for Model Transformations 224  
        1 Introduction 224  
        2 Background 227  
        3 Detecting the Differences Between Models 228  
           3.1 Graph Representation of Models 228  
           3.2 Model Mapping and Difference 229  
           3.3 Model Comparison 230  
        4 A Framework for Model Transformation Testing 232  
           4.1 Test Case Constructor 232  
           4.2 Test Engine 233  
           4.3 Test Analyzer 233  
        5 Case Study: Example Application of Model Transformation Testing 234  
           5.1 Test Specification Definition 236  
           5.2 Test Case Construction 237  
           5.3 Test Results and Difference Indication 238  
           5.4 Correction of the Model Transformation Specification 238  
        6 Related Work 239  
        7 Conclusions and FutureWork 240  
        8 Acknowledgements 241  
     Parallax - An Aspect-Enabled Framework for Plug-in-Based MDA Refinements Towards Middleware 242  
        1 Introduction 242  
        2 Parallax and Enterprise Fondue 244  
           2.1 The Architecture of Parallax 247  
           2.2 The Parallax Core 248  
        3 The Framework of Parallax Plug-ins 252  
           3.1 Code Generator Plug-ins 256  
           3.2 Parallax Aspect-Plug-ins 257  
              3.2.1 Concern-Oriented and Concern-on-Technology Aspect-Plug-ins 258  
              3.2.2 Concern-on-Platform Aspect-Plug-ins 261  
           3.3 Discussion 264  
        4 The Parallax Tool Support 264  
        5 Related Work 268  
        6 Conclusions and FutureWork 270  
        7 Acknowledgements 272  
     Evolution and Maintenance of MDA Applications 273  
        1 Software Evolution 273  
           1.1 Innovation Cycles 273  
           1.2 Dependency Chains 274  
           1.3 Maintainability 276  
        2 MDA Development Environment 276  
           2.1 "Funcar” Application Case Study 276  
           2.2 Run-time Environment 276  
           2.3 Development Tool Chain 277  
           2.4 Reference Architectures 277  
           2.5 Business Modeling with UML 279  
           2.6 Model Interchange with XMI 279  
           2.7 Code Generation with Velocity 280  
           2.8 Business Code in the Target Language Java 281  
           2.9 Model Transformation 282  
        3 Maintainability of MDA Applications 283  
           3.1 Change in the Run-time Environment 284  
           3.2 Evolution of the Reference Architecture 286  
           3.3 Change in the Development Tool Chain 286  
           3.4 External Evolution of UML, XMI, or MDA 287  
           3.5 New Requirements 288  
        4 Related Work 289  
        5 Conclusion 289  
  Part III Case Studies 291  
     Intents and Upgrades in Component-Based High-Assurance Systems 292  
        1 Introduction 292  
        2 Intents and Upgrades 294  
           2.1 Dependability and Components 294  
           2.2 Constructing the Correct 296  
           2.3 Dependable Assemblies of Correct Components 297  
        3 Intent Specifications 298  
        4 Support for Upgrades 299  
           4.1 Example: Unmanned Vehicle 300  
        5 From Specification to Design 302  
        6 Results and Lessons Learnt 303  
           6.1 Upgraded Unmanned Vehicle 303  
           6.2 Secure Communication Platform 304  
           6.3 Airbag Software 305  
           6.4 Final Remarks 305  
        7 Acknowledgements 306  
     On Modeling Techniques for Supporting Model-Driven Development of Protocol Processing Applications 307  
        1 Introduction 307  
           1.1 Models and Modeling Languages 308  
           1.2 Model-Driven Software Development Methods 309  
        2 Tool Support for MDA 310  
           2.1 SMW Tool 311  
           2.2 Scripts 311  
           2.3 Queries: Metrics, Constraints, and Guidelines 312  
           2.4 Model Transformations 315  
        3 A Design Methodology for Protocol Processing Applications 316  
           3.1 Functional Specification of the Application 318  
           3.2 From General Specifications to Specific Implementations 319  
           3.3 System Generation 323  
        4 Automating Model Transformations in the Methodology 324  
        5 Conclusions 329  
        6 Acknowledgements 330  
     An Integrated Model-Driven Development Environment for Composing and Validating Distributed Real-Time and Embedded Systems 331  
        1 Introduction 332  
        2 An Overview of the CoSMIC and Cadena MDD Environments 334  
           2.1 Overview of CoSMIC 334  
           2.2 Overview of Cadena 337  
        3 Approaches to Integrating MDD Tools for DRE Systems 341  
        4 Demonstrating Integrated CoSMIC - Cadena Capabilities via a Robot Assembly Case Study 348  
           4.1 Structure and Functionality of the Robot Assembly Application 348  
           4.2 Key Capabilities Provided by CoSMIC and Cadena Integration for the Robot Assembly Application 350  
           4.3 Summary of the Robot Assembly Case Study 358  
        5 Related Work 359  
        6 Concluding Remarks 360  
     A Model-Driven Technique for Development of Embedded Systems Based on the DEVS Formalism 364  
        1 Introduction 364  
        2 Background 365  
        3 The CD++ Toolkit 367  
        4 Incremental development of a DEVS Simulation Model 371  
        5 Hybrid Applications: An Automated Factory Model 376  
        6 Development Improvements 382  
        7 Conclusion 383  
        8 Acknowledgements 384  
     Model-Driven Service Engineering 385  
        1 The MDA Idea 385  
        2 Model-Driven Development 387  
        3 Abstraction Criteria 390  
        4 Towards Model-Driven Service Engineering 391  
           4.1 The Nature of Services 392  
           4.2 Role and Actor Modeling – RAM 393  
           4.3 Service Modeling 395  
           4.4 Implementation and Platform Issues 396  
           4.5 RAM and MDA 397  
        5 Concluding Remarks 399  
        6 Acknowledgements 400  
     Practical Insights into Model-Driven Architecture: Lessons from the Design and Use of an MDA Toolkit 402  
        1 Introduction 402  
        2 The MDA Toolkit for IBM Rational XDE Java 404  
           2.1 Motivation 404  
           2.2 Key Aspects of the MDA Toolkit 404  
           2.3 The Role of UML Profiles 406  
           2.4 Packaging and Delivering MDA Toolkit Transformations 406  
        3 Lessons in the Design and Application of MDA Solutions 407  
           3.1 Semantic Model Connections 407  
           3.2 Identify Candidate Transformations 408  
           3.3 Document Transformation Requirements 409  
           3.4 Create UML Profiles 417  
           3.5 Develop the Transformation 419  
           3.6 Deploy the Transformation 423  
        4 Commentary 424  
           4.1 The MDA Process 424  
           4.2 Using MDA to Customize a Solution Framework 427  
        5 Summary and Future Directions 429  
        6 Acknowledgements 430  
  References 431  
  Index 457  


nach oben


  Mehr zum Inhalt
Kapitelübersicht
Kurzinformation
Inhaltsverzeichnis
Leseprobe
Blick ins Buch
Fragen zu eBooks?

  Medientyp
  eBooks
  eJournal
  alle

  Navigation
Belletristik / Romane
Computer
Geschichte
Kultur
Medizin / Gesundheit
Philosophie / Religion
Politik
Psychologie / Pädagogik
Ratgeber
Recht
Reise / Hobbys
Sexualität / Erotik
Technik / Wissen
Wirtschaft

  Info
Hier gelangen Sie wieder zum Online-Auftritt Ihrer Bibliothek
© 2008-2024 ciando GmbH | Impressum | Kontakt | F.A.Q. | Datenschutz