1 / 14

Formal Techniques in Software Engineering 3de BAC Informatica

Formal Techniques in Software Engineering 3de BAC Informatica. Chapter 1 Introduction. Contents. Manual Coding vs. Code Generation MDA vs. MDE Terminology Transformations Tool architecture Properties Meta Modeling 4-layer metamodeling architecture.

Download Presentation

Formal Techniques in Software Engineering 3de BAC Informatica

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Formal Techniques in Software Engineering3de BAC Informatica Chapter 1 Introduction Introduction

  2. Contents • Manual Coding vs. Code Generation • MDA vs. MDE • Terminology • Transformations • Tool architecture • Properties • Meta Modeling • 4-layer metamodeling architecture Based on "MDA Explained — The Model Driven Architecture: Practice and Promise" (Anneke Kleppe, Jos Warmer and Wim Bast) Introduction

  3. requirements analysis design coding testing deployment Manual Coding • Manual steps • shortcuts • Traceability ? • Platform • Multiple targets • Rapidly evolving • Portability ? • Interoperability ? Introduction

  4. Code Generation requirements analysis design • Automatic • parameters • currentlysemi-automatic coding In theory … • Traceability • Portability • Interoperability testing deployment Introduction

  5. Target Software Systems • Enterprise Information System • reusable components • customer database, order-processing, bookkeeping, … • parametrisation ! • large scale • interoperability • Web-based systems • rapidly evolving targets • portability • … Introduction

  6. MDA = Model Driven Architecture Industrial Standard Object Management Group OMG = tool vendor organization ! UML at the core standardization PIM Platform independent model PSM Platform specific model MDE = Model Driven Engineering Community of model-centric development Model can be any formalism classes, entity-relationship petri-nets, state machines ... Also verification Transformation can be anything Rewrite rules Graph rewriting MDA vs. MDE Introduction

  7. "Model" is overloaded example for artist person posing for artist person showing clothes (catwalk) replica of item on smaller scale (miniature) drawing of an item(design of a house, ...) mathematical formulas for prediction/estimation … All models share properties an abstraction of a subject that exists in reality model ≠ the subject it models leave out details, scale, ... model can be used to produce something in reality especially in engineering disciplines Model Introduction

  8. Software Model • In software engineering • model = abstraction of (software) system • description of system in language with well-defined syntax and well-defined semantics • Well-defined ? Suitable for automated interpretation lang- uage is written in describes model system Introduction

  9. PIM PSM Code Transformation • Transformation = automatic generation of target model from a source model, accoding to a transformation definition • Transformation Definition = a set of transformation rules that describe how to translate a model in a source language into a model in the target language • Requires control over which rules to apply • Transformation Rule = a description of how to map one or more constructs in the source language into one or more constructs in the target language Introduction

  10. Tool Architecture model editor model validator repository models model transformer transformation definitions code parser code files transformation definition editor code editor code generator Introduction

  11. Control conditions, looping parameters prompting the user Traceability generate links source to target target to source ripple changes over traceability links Incremental Consistency small change=> small regeneration Bidirectionality forward and reverse generation code reverse engineering Transformations — Properties Introduction

  12. lang- uage model Meta Modeling • model written in language with well-defined syntax and semantics • suitable for automated interpretation ?=> model transformation ! meta lang- uage is written in meta model is defined by is written in system describes Introduction

  13. The 4-layer metamodel architecture Introduction

  14. lang- uage lang- uage PIM PSM The MDA Framework meta language extends transformation definition language is written in is written in is written in transformation definition is written in is written in is defined by model transformer Introduction

More Related