introduction to model driven engineering
play

INTRODUCTION TO MODEL DRIVEN ENGINEERING Transformation Definition - PowerPoint PPT Presentation

Advised reading: MDA Explained, The model-driven architecture, Anneke Kleppe, Jos Warmer, Wim Bast, Addison Wesley 1 (ETEW 681.3*D2 KLEP 2003) Chapters 1-3 Architecture and Modelling of Information Systems (D0I71A) Prof. dr. Monique Snoeck


  1. Advised reading: MDA Explained, The model-driven architecture, Anneke Kleppe, Jos Warmer, Wim Bast, Addison Wesley 1 (ETEW 681.3*D2 KLEP 2003) Chapters 1-3 Architecture and Modelling of Information Systems (D0I71A) Prof. dr. Monique Snoeck TOWARDS A COMPLETE INFORMATION SYSTEM: INTRODUCTION TO MODEL DRIVEN ENGINEERING Transformation Definition Transformation Tool 14:52

  2. 2 MDE approach  Modelling domain model: What next?  Final output  software Programmatic implementation Automatic model-to-code generation (MDE)  Model-Driven Engineering  use a platform-independent model (PIM) to define a system's functionality  Use this PIM to generate platform specific models (PSM) and then code  Model-Driven Architecture  A set of architectural concepts enabling MDE Transformation Definition Transformation Tool 14:52

  3. 3 MERODE's use of MDE = model simulation  JMermaid + Code generation tool  Used for model simulation  to automatically generate a ready-to-use software prototype  allows testing and refining the system model based on detected defects in the conceptual business model given its fully working prototype.  = Illustration of MDE. MDE can be used in general to generate (part of) the final software Transformation Definition Transformation Tool 14:52

  4. 4 Why Model Simulation ? Transformation Definition Transformation Tool 14:52

  5. 5 Requirements Code Transformation Definition Transformation Tool 14:52

  6. 6 Agenda  MDE Fundamentals  Development cycle  Building blocks  MDA Framework  Current State Transformation Definition Transformation Tool 14:52

  7. 7 Software Development Life Cycle: Current Practice Requirements Analysis Mostly Text Diagrams & Text Diagrams Design & Text Code Code Informal Formal Test Transformation Definition Transformation Tool 14:52

  8. 8 Problems with current practices Productivity   code is the driving force  XP: only coding and testing. How can an outsider understand how the code works ?  Portability  frequent new technologies  adopted because demanded, solve real problems, no support for older technologies  Complexity worsened by different versions, lack of backward compatibility Interoperability   Systems do not exist in isolation  Individual Components use best technologies, but need to interact  Maintenance and documentation  time consuming task  benefit is ‘for others’  ‘code is the documentation’ but high level documentation absolute must for complex systems Transformation Definition Transformation Tool 14:52

  9. 9 Software Development Life Cycle: MDA Practice Requirements Transformational Steps Analysis Mostly PIM Text PSM Design Code Code Test Formal Informal Transformation Definition Transformation Tool 14:52

  10. 10 MDE Development Life Cycle  PIM: Platform Independent Model  describes the system from a business perspective  PSM: Platform Specific Model  Specifies the system in terms of constructs available in a specific implementation technology  Transformational approach Transformation Transformation Tool Tool PSM PSM PIM Code PSM PSM Transformation Definition Transformation Tool 14:52

  11. 11 Compare with Zachman's Framework What How Where Who When Why Contextual/ 1 Scope Conceptual/ 2 Enterprise PIM Logical/ 3 IS Functionality Platform Physical/ 4 Design Mapping As Built/ 5 Subcontractor PSM Functioning/ 6 Code CODE Entity Input Node Organization Event Objective Transformation Definition Relationship Process Line Reporting Cycle Precedent Entity Output Node Organization Event Objective Transformation Tool 14:52

  12. 12 MDE Benefits  Productivity  less code to be written  shift of attention from code to PIM  to solving the business problem  BUT: development of transformations is hard !  Portability  PIM is by definition completely portable  effective portability depends on available transformations  Interoperability  Documentation  PIM fulfils the role of high-level documentation  Tools needed for maintaining the relationships between PIM – PSM and Code  Still documentation required for PIM, e.g. motivation of choices Transformation Definition Transformation Tool 14:52

  13. 13 MDE Benefits  Productivity  reduce code & testing  increase design effort  Requirements change  Prototype faster  detect changes sooner Detected Requirements Effort per project phase Changes 60% 50% 50% 40% 40% 30% 30% 20% 20% 10% 10% 0% 0% Transformation Definition Transformation Tool 14:52

  14. 14 MDE Benefits  Interoperability PIM First Transformation First Transformation PSM PSM PSM Bridge Second Second Transformation Transformation Code Code Code Bridge Transformation Definition Transformation Tool 14:52

  15. 15 Agenda  MDE Fundamentals  Development cycle  Building blocks  MDA Framework  Current State Transformation Definition Transformation Tool 14:52

  16. 16 MDE Required building blocks  Well-specified high-level models: precise and complete  Languages to write these high-level models  Definitions of how to transform a PIM into PSMs  custom made or publicly available  Definitions of how to transform a PSM into code  Languages to write these transformations  Tools to execute these PIM-PSM transformations  with features to tune and debug transformations  Tools to execute transformation of PSM to code Transformation Definition Transformation Tool 14:52

  17. 17 Agenda  MDE Fundamentals  Development cycle  Building blocks  MDA Framework  Current State Transformation Definition Transformation Tool 14:52

  18. 18 MDA Framework  Models Transformation Definition Transformation Tool 14:52

  19. 19 MDA Framework  Languages  Entity Relationship Modelling  UML Class Diagram  Finite State Machines  Harel State charts  Business Process Modelling Notation  UML Activity Diagram  BPEL  Petri Nets  Use Case Diagrams Transformation Definition Transformation Tool 14:52

  20. 20 MDA Framework: Models Different views in one Language (Single Different Views/Models in different languages   Model, multiple views) e.g. UML  BPMN ER UML Written in Written in Describes Describes Describes Describes System System Transformation Definition Transformation Tool 14:52

  21. 21 MDA Framework: Models  PIM versus PSM  e.g. Interaction diagram:  language independent  platform independent ?  object oriented  platform specific ?  Process-Data CRUD-Matrix  language independent  platform independent  transforms to any technology  platform independent  Models are more or less platform independent/specific Transformation Definition Transformation Tool 14:52

  22. 22 MDA Framework: Transformations  A transformation is the automatic generation of a target model from a source model according to some transformation definition  A transformation definition is a set of transformation rules  Transformation definitions are between languages  A transformation rule defines how one or more constructs in the source language can be transformed into one or more constructs in the target language Transformation Transformation Definition Definition PSM PSM PIM Code PSM PSM Transformation Transformation Tool Tool Transformation Definition Transformation Tool 14:52

  23. 23 MDA Framework: Transformations > owns Account UML < owned_by Customer Class 0.. ∗ 1..1 Diagram ID : INTEGER Balance: real Name: STRING Deposit (amount:real) Withdraw (amount: real) Class Customer Class Account Owns: Linked_list (ACCOUNT) Owned_by: CUSTOMER … … UML Class D to Eiffel Eiffel Transformation ID: INTEGER balance: REAL name: STRING Deposit (amount: real) is … … Withdraw (amount: real) is … End End Create Table Customer Create Table Account SQL UML Class D to SQL ("ID" "integer", (“Customer_id” “INTEGER”, DDL Transformation “name” “char(50)”) “balance” “DOUBLE”, …) Transformation Definition Transformation Tool 14:52

  24. 24 MDA Framework: Transformations UML withdraw(100 €) ATM Account: Collaboration 123-456789-10 Diagram ThisAccount := AccountList.Find(123-456789-10) UML Coll. D to Eiffel Eiffel Transformation ThisAccount.withdraw(100) <<SOAP-ENV:Envelope xmlns:SOAP-ENV = http://schemas.xmlsoap.org/soap/envelope/ SOAP-ENV:encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/"/> UML Coll. D to SOAP <SOAP-ENV:Body> SOAP Transformation <m:NotifyWithdraw xmlns:m="http://www.bank.com/"> <AcountID> 123-456789-10 </AccountID> <amount> 100 </amount> <currency> Euro </Currency> </m:NotifyWithdraw </SOAP-ENV:Body> Transformation Definition </SOAP-ENV:Envelope> Transformation Tool 14:52

  25. 25 Agenda  MDE Fundamentals  Development cycle  Building blocks  MDA Framework  Current State Transformation Definition Transformation Tool 14:52

  26. 26 MDA Today - http://www.omg.org/mda Transformation Definition Transformation Tool 14:52

Recommend


More recommend