SlideShare a Scribd company logo
1 of 35
Documenting Stepwise Model Refinement using
              Executable Design Decisions


                            Matthias Biehl
                     Embedded Control Systems
                    Royal Institute of Technology
                        Stockholm, Sweden




Matthias Biehl                                       1
• What kind of models are considered?

         • Implementation: EMF-based models, independent of metamodel
         • Case study: models of the HW and SW architecture of automotive embedded
           systems




  • What kind of evolution challenges are addressed?

         • Documentation of design decisions for models
         • Linking documentation to the affected model elements
         • Consistency between design decision documentation and model




Matthias Biehl                                                                       2
Example: Documentation of
                         Design Decisions for Models




           Double redundancy to
         improve the reliability of a
          safety critical component


Matthias Biehl                                         3
Requirements for Documentation of
                    Design Decisions for Models

  • Explicit documentation of the design decision, for example by a
    textual description.
  • Applicable for an arbitrary metamodel: it should not be necessary
    to change existing metamodels to document design decisions.
  • Link between the design decision documentation and the model: a
    link between the design decision documentation, the context of the
    design decision and the model elements affected by the design
    decision
  • Low capture overhead: the effort for linking to the documentation
    to the model should be low.
  • Consistency between the design decision documentation and the
    model: the change described by the design decision should be
    actually be realized in the model.



Matthias Biehl                                                           4
Stepwise Refinement


                       M0
                        d1


                       M1




                                           Explanation

                                                 Model
                                       M

                                       d        Design Decision




Matthias Biehl                                                    5
Lack of Design Decision Documentation

                                 M0
                                  d1


                                 M1
                                  d2

                                 …
                                  dn

                                                  Explanation
                                 Mn
                                                       Artifact
                                              M

                                              d        Design Decision




Matthias Biehl                                                           6
Design Decision Capture Problem

            • Additional cost and effort for documenting design
              decisions, no immediate benefit [10]
            • Documentation is not always performed in practice [18]
            • Knowledge vaporization
            • Model inconsistencies, erosion, aging, architectural drift
            • Problems during maintenance




Matthias Biehl                                                             7
How to deal with the
                            design decision capture problem?



                 (a)        M0              (b)      M0                 (c)        M0
                                                     d1                            d1


                            M1                      M1                             M1
                       artifact based,          artifact based             executable
                       e.g. SVN, CVS          + design decision          design decisions
                                               documentation




                             Red    = needs to be specified and changed manually


Matthias Biehl                                                                              8
Formalization: Stepwise Model Refinement
                      with Executable Design Decisions

    • Design Decisions as executable specification is both
           • descriptive documentation
           • constructive tool for creation of the artifact

           M0               M0     initial architecture, can be empty
            d1


           M1               M1 = d1(M0)
            d2

           …
            dn


           Mn               Mn = (dn dn-1 … d1 )(M0)


Matthias Biehl                                                          9
Mapping between
                 Design Decisions and Model Transformations

                     Model Mi            maps to          Source Model Mi
                                         maps to
                      Context                                  LHS



                      Design             maps to              Model
                     Decision                             Transformation



                     Outcome             maps to               RHS
                    Model Mi+1           maps to         Target Model Mi+1



  • Requirements for Model Transformation Language/Engine
         • Model-to-Model: input and output of the transformation are models
         • Endogeneous: metamodels of source and target are identical
         • In-Place: create the target model by modifying specific parts in the source model

Matthias Biehl                                                                                 10
Which part of the design decision
                 can be described by a Model Transformation?

  • Basis: Design Decision Ontology [9]
         • Context/Scope, Outcome
         • Author, Timestamp, Risk, Cost, Design Decision Rationale
         • Relation between design decisions


  • Model Transformation
         • Context/Scope, Outcome, Trace link to the model elements


  • Additional Information: Design Decision Management Container
         • Author, Timestamp, Risk, Cost, Design Decision Rationale
         • Relation between design decisions
         • Link to the Model Transformation




Matthias Biehl                                                        11
Capturing Design Decisions
  • Steps for manual capturing
        1.       Performing an update of the model, so it reflects the new design decision
        2.       Documenting where in the model the change applies and what is changed
        3.       Linking the documentation to the model elements affected by the change
        4.       Documenting the rationale of the change


  •      Executable Design Decisions use intrinsic relation of steps 1, 2 and 3
        1.       Update of the model = outcome of executing the Executable Design Decision
        2.       Where and What = LHS and RHS of Executable Design Decision
        3.       Traces of Executable Design Decision link the design decision to the model




Matthias Biehl                                                                                12
Simplified Brake-by-wire Model




Matthias Biehl                                    13
Brake-by-wire Architecture
                  with Double Redundancy




Matthias Biehl                                14
Design Decision Documentation using
                      Triple Graph Grammars (TGG)



             Left-Hand-Side           Right-Hand-Side




Matthias Biehl                                           15
Design Decision Patterns



  • Executable design decisions are reusable

  • Reuse design decision in a different context
         •       adapt LHS


  • Change the outcome of the design decision
         •       adapt RHS




Matthias Biehl                                          16
Design Decision Patterns:
                 Reuse design decision in a different context


  • Apply design decision on WheelSpeedSensor instead of PedalSensor
         • Same RHS
         • Adapt LHS




            „WheelSpeedSensor“                             LHS




Matthias Biehl                                                         17
Design Decision Patterns:
                 Change the outcome of the design decision


  • Design decision: use triple redundancy + voter
         • Same LHS as for double redundancy
         • Adapt RHS




                                                             New RHS

Matthias Biehl                                                         18
Brake-by-wire Architecture
                 with Triple Redundancy + Voter
                 instead of Double Redundancy




Matthias Biehl                                    19
Summary:
                           Documenting Model Refinement

     • Problem: Double effort required for capturing design decisions
           • Both the architecture needs to be adapted
           • and the design decision needs to be documented
     • Representation: Executable Design Decision
           • Executable specification using model transformations
           • Additional design decision rationale and „bookkeeping“ data
     • Result
           •     Reduction of capture overhead: context and outcome calulated automatically
           •     Applicability with any metamodel
           •     Consistency between model and documentation through automation
           •     Link between documentation and model through automated traces




Matthias Biehl                                                                                20
Matthias Biehl   21
Question for Brainstorming


  • What is an appropriate classification scheme for model evolution
    problems and approaches?




Matthias Biehl                                                         22
Automate Capturing Design Decisions

  • Create snapshots of the model:
         • Mi-1 = Snapshot of model before the design decision
         • Mi = Snapshot of model after the design decision


  • Calculate Model Transformation
         •   Calculate ∆i = diff(Mi, Mi-1), e.g. using EMF Compare
         •   Calculate Εi = all elements in Mi-with a direct connection to an element in ∆i
         •   LHS = Ei
         •   RHS = ∆i ∪ Εi
         •   Mapping graph calculated by a matching algorithm between LHS and RHS




Matthias Biehl                                                                                23
Summary:
                           Documenting Model Refinement

     • Problem: Double effort required for capturing design decisions
           • Both the architecture needs to be adapted
           • … and the design decision needs to be documented in addition
     • Representation: Executable Design Decision
           • Executable specification using model transformations
           • Additional design decision rationale and „bookkeeping“ data
     • Result
           •     Reduction of capture overhead: context and outcome calulated automatically
           •     Applicability with any metamodel
           •     Consistency between model and documentation through automation
           •     Link between documentation and model through automated traces




Matthias Biehl                                                                                24
Design Decision Documentation using ATL




Matthias Biehl                                   25
Rationale Levels
                 • Levels of Justification/Explanation
                 • Similar to metalevels of OMG M0-M3
                 • Each new level :
                    • answers the question „Why?“




                 • R0: Artifact
    Why?            • Examples: Requirements, Models, Architecture, Implementation


                 • R1: Decision
                    • Link to Requirements
    Why?            • Link between Artifact Elements and Design Decisons
                 • R2: Decision Rationale
                    • Tradeoff
                    • Quantitative and qualitative rationale


Matthias Biehl                                                                       26
Stepwise Refinement

 •    Stepwise refinement by Dijkstra [6] and by Wirth [22]
 •    Refinement entails a change in the model              M0
 •    A change entails a design decision                    d1
 •    Iterative refinement
                                                            M1
 • Granularity of a “Step”?
 • We use a design decision, which may contain
   several refinement steps
 • Attribute Driven Design [23]                           Explanation

                                                                 Model
                                                      M

                                                      d        Design Decision




Matthias Biehl                                                                   27
• Design Decisions as Executable Specification
         • descriptive documentation
         • constructive tool for creation of the artifact


  • Analogy – furniture construction
         • Construction plan instead of the finished artifact
         • Construction plan can be executed automatically, yielding the finished artifact
         • Construction plan serves as a rationale for the artifact and provides an explicit
           record of the design decisions of constructing the artifact
         • Executability of the construction plan ensures consistency between construction
           plan and artifact




Matthias Biehl                                                                                 28
We know how to document design decision in source code …

                                  /* design decision */



                      How can we document
                      design decisions when
                       developing models?




Matthias Biehl                                                        29
Future Work
  • Reusable design decisons
         •   Design patterns
         •   Changing the LHS, provides new decision context
         •   Build catalogs of reusable design decisons
         •   Further reduce capturing effort


  • The effect of the design decision on the architecture is used to
    compare design decisions
         • existing quality analyses can be used


  • Use design decisons for
         •   Design space exploration
         •   Optimization
         •   Change impact analysis
         •   Tradeoff-analysis



Matthias Biehl                                                         30
Use Model Transformations
  • Additional Information captured separately
         • Author, Timestamp, Risk, Cost, Design Decision Rationale




Matthias Biehl                                                        31
Context   corresponds to   LHS

                  Design              corresponds to             Model
                 Decision                                    Transformation
                            Outcome   corresponds to   RHS




Matthias Biehl                                                                32
Challenge: Architectural knowledge vaporization

                 •   knowledge vaporization
                      • important knowledge about the architecture is tacit and
                         seems self-evident during creation e.g.
                         assumptions, reasoning, alternative designs, trade-
                         offs, company policies
                      • tacit knowledge is easily lost over time
                      • tacit knowledge is needed during
                         construction, evolution and reuse of the architecture
                 •   some implications of knowledge vaporization
                      • inappropriate reuse of components
                      • long time spent on understanding previous architecture
                      • expensive evolution and change
                 •   Results in well-known software architecture problems: software
                     aging, design erosion, architectural drift, high cost of
                     change, high cost of maintenance



Matthias Biehl                                                                        33
Architectural Knowledge (AK)
                 • Especially relevant for intangible products, i.e.
                   software for embedded systems
                 • Most relevant knowledge for software:
                   knowledge about the software architecture
                 • Architectural Knowledge
                     •   AK = architecture + rationale
                     •   AK = design decisions and design
                     •   AK = drivers, decisions, analysis
                     •   AK = process, products, people, tools




Matthias Biehl                                                         34
Issue
                 A0
                 d1


                 A1
                      x x   x    x    x



                       Alternatives




Matthias Biehl                            35

More Related Content

Viewers also liked

Chapter 5:Understanding Variable Scope and Class Construction
Chapter 5:Understanding Variable Scope and Class ConstructionChapter 5:Understanding Variable Scope and Class Construction
Chapter 5:Understanding Variable Scope and Class ConstructionIt Academy
 
Goal Decomposition and Abductive Reasoning for Policy Analysis and Refinement
Goal Decomposition and Abductive Reasoning for Policy Analysis and RefinementGoal Decomposition and Abductive Reasoning for Policy Analysis and Refinement
Goal Decomposition and Abductive Reasoning for Policy Analysis and RefinementEmil Lupu
 
Program Logic Formulation - Ohio State University
Program Logic Formulation - Ohio State UniversityProgram Logic Formulation - Ohio State University
Program Logic Formulation - Ohio State UniversityReggie Niccolo Santos
 
04 control structures 1
04 control structures 104 control structures 1
04 control structures 1Jomel Penalba
 
Type Conversion, Precedence and Associativity
Type Conversion, Precedence and AssociativityType Conversion, Precedence and Associativity
Type Conversion, Precedence and AssociativityAakash Singh
 
Escape sequences
Escape sequencesEscape sequences
Escape sequencesWay2itech
 
C language Unit 2 Slides, UPTU C language
C language Unit 2 Slides, UPTU C languageC language Unit 2 Slides, UPTU C language
C language Unit 2 Slides, UPTU C languageRakesh Roshan
 
Presentation influence texture or crystallography orientations on magnetic pr...
Presentation influence texture or crystallography orientations on magnetic pr...Presentation influence texture or crystallography orientations on magnetic pr...
Presentation influence texture or crystallography orientations on magnetic pr...aftabgardon
 
Lecture 2 C++ | Variable Scope, Operators in c++
Lecture 2 C++ | Variable Scope, Operators in c++Lecture 2 C++ | Variable Scope, Operators in c++
Lecture 2 C++ | Variable Scope, Operators in c++Himanshu Kaushik
 
Lecture ascii and ebcdic codes
Lecture ascii and ebcdic codesLecture ascii and ebcdic codes
Lecture ascii and ebcdic codesYazdan Yousafzai
 
Type casting in c programming
Type casting in c programmingType casting in c programming
Type casting in c programmingRumman Ansari
 
What is Niemann-Pick Type C Disease?
What is Niemann-Pick Type C Disease?What is Niemann-Pick Type C Disease?
What is Niemann-Pick Type C Disease?Michael G. Stults
 
USB Type-C R1.1 Introduction
USB Type-C R1.1 IntroductionUSB Type-C R1.1 Introduction
USB Type-C R1.1 IntroductionTing Ou
 

Viewers also liked (20)

Chapter 5:Understanding Variable Scope and Class Construction
Chapter 5:Understanding Variable Scope and Class ConstructionChapter 5:Understanding Variable Scope and Class Construction
Chapter 5:Understanding Variable Scope and Class Construction
 
10. Function I
10. Function I10. Function I
10. Function I
 
Goal Decomposition and Abductive Reasoning for Policy Analysis and Refinement
Goal Decomposition and Abductive Reasoning for Policy Analysis and RefinementGoal Decomposition and Abductive Reasoning for Policy Analysis and Refinement
Goal Decomposition and Abductive Reasoning for Policy Analysis and Refinement
 
Program Logic Formulation - Ohio State University
Program Logic Formulation - Ohio State UniversityProgram Logic Formulation - Ohio State University
Program Logic Formulation - Ohio State University
 
04 control structures 1
04 control structures 104 control structures 1
04 control structures 1
 
Type Conversion, Precedence and Associativity
Type Conversion, Precedence and AssociativityType Conversion, Precedence and Associativity
Type Conversion, Precedence and Associativity
 
Typecasting in c
Typecasting in cTypecasting in c
Typecasting in c
 
Escape sequences
Escape sequencesEscape sequences
Escape sequences
 
Storage classes
Storage classesStorage classes
Storage classes
 
C language Unit 2 Slides, UPTU C language
C language Unit 2 Slides, UPTU C languageC language Unit 2 Slides, UPTU C language
C language Unit 2 Slides, UPTU C language
 
Presentation influence texture or crystallography orientations on magnetic pr...
Presentation influence texture or crystallography orientations on magnetic pr...Presentation influence texture or crystallography orientations on magnetic pr...
Presentation influence texture or crystallography orientations on magnetic pr...
 
Storage classes
Storage classesStorage classes
Storage classes
 
C pointers
C pointersC pointers
C pointers
 
Storage classes in C
Storage classes in CStorage classes in C
Storage classes in C
 
Lecture 2 C++ | Variable Scope, Operators in c++
Lecture 2 C++ | Variable Scope, Operators in c++Lecture 2 C++ | Variable Scope, Operators in c++
Lecture 2 C++ | Variable Scope, Operators in c++
 
Lecture ascii and ebcdic codes
Lecture ascii and ebcdic codesLecture ascii and ebcdic codes
Lecture ascii and ebcdic codes
 
Static variable
Static variableStatic variable
Static variable
 
Type casting in c programming
Type casting in c programmingType casting in c programming
Type casting in c programming
 
What is Niemann-Pick Type C Disease?
What is Niemann-Pick Type C Disease?What is Niemann-Pick Type C Disease?
What is Niemann-Pick Type C Disease?
 
USB Type-C R1.1 Introduction
USB Type-C R1.1 IntroductionUSB Type-C R1.1 Introduction
USB Type-C R1.1 Introduction
 

Similar to Model Evolution Workshop at MODELS 2010

Building Information Modelling M.arch.pdf
Building Information Modelling M.arch.pdfBuilding Information Modelling M.arch.pdf
Building Information Modelling M.arch.pdfShaheRobinson
 
BIM: What do Owners Want? - Brian Skripac
BIM: What do Owners Want? - Brian SkripacBIM: What do Owners Want? - Brian Skripac
BIM: What do Owners Want? - Brian SkripacJad DELLEL
 
Bim presentation km 21-10-2011
Bim presentation km 21-10-2011Bim presentation km 21-10-2011
Bim presentation km 21-10-2011KarinSundberg
 
My Lean + BIM Journey [Nathan Wood, Brazil Lean Conference]
My Lean + BIM Journey [Nathan Wood, Brazil Lean Conference]My Lean + BIM Journey [Nathan Wood, Brazil Lean Conference]
My Lean + BIM Journey [Nathan Wood, Brazil Lean Conference]Nathan C. Wood
 
Bim White Paper 11 9 09
Bim White Paper 11 9 09Bim White Paper 11 9 09
Bim White Paper 11 9 09rsalbin
 
BIM Edecation Program Model Creation Sequence The following activitie.pdf
BIM Edecation Program Model Creation Sequence The following activitie.pdfBIM Edecation Program Model Creation Sequence The following activitie.pdf
BIM Edecation Program Model Creation Sequence The following activitie.pdfarishmarketing21
 
BIM presentation by ali al dujaili
BIM presentation by ali al dujailiBIM presentation by ali al dujaili
BIM presentation by ali al dujailiAli Al-Dujaili
 
Practical bim collaboration in a ppp
Practical bim collaboration in a pppPractical bim collaboration in a ppp
Practical bim collaboration in a pppVivi Nyehuus
 
On the Road to 6D Challenges and Responsibilities in all Stages of the Projec...
On the Road to 6D Challenges and Responsibilities in all Stages of the Projec...On the Road to 6D Challenges and Responsibilities in all Stages of the Projec...
On the Road to 6D Challenges and Responsibilities in all Stages of the Projec...Mauricio Munoz
 
BO5641_class_handout_FMSystems_en_1129
BO5641_class_handout_FMSystems_en_1129BO5641_class_handout_FMSystems_en_1129
BO5641_class_handout_FMSystems_en_1129Bill Meyer
 
BASIC TERMS IN BIM-REVIT
BASIC TERMS IN BIM-REVITBASIC TERMS IN BIM-REVIT
BASIC TERMS IN BIM-REVITnilesh masne
 
Innovation for Real Estate: Building Information Modeling (Erin Rae Hoffer) -...
Innovation for Real Estate: Building Information Modeling (Erin Rae Hoffer) -...Innovation for Real Estate: Building Information Modeling (Erin Rae Hoffer) -...
Innovation for Real Estate: Building Information Modeling (Erin Rae Hoffer) -...Virtual ULI
 
Whats the BIM IdeaWhy does this happenProjec.docx
Whats the BIM IdeaWhy does this happenProjec.docxWhats the BIM IdeaWhy does this happenProjec.docx
Whats the BIM IdeaWhy does this happenProjec.docxcooperapleh
 
Whats the BIM IdeaWhy does this happenProjec.docx
Whats the BIM IdeaWhy does this happenProjec.docxWhats the BIM IdeaWhy does this happenProjec.docx
Whats the BIM IdeaWhy does this happenProjec.docxeubanksnefen
 
Whats the BIM IdeaWhy does this happenProjec.docx
Whats the BIM IdeaWhy does this happenProjec.docxWhats the BIM IdeaWhy does this happenProjec.docx
Whats the BIM IdeaWhy does this happenProjec.docxhelzerpatrina
 

Similar to Model Evolution Workshop at MODELS 2010 (20)

Building Information Modelling M.arch.pdf
Building Information Modelling M.arch.pdfBuilding Information Modelling M.arch.pdf
Building Information Modelling M.arch.pdf
 
BIM from Designers Perspective - Rob Jackson
BIM from Designers Perspective - Rob JacksonBIM from Designers Perspective - Rob Jackson
BIM from Designers Perspective - Rob Jackson
 
4 mark mc kane, uu
4   mark mc kane, uu4   mark mc kane, uu
4 mark mc kane, uu
 
BIM: What do Owners Want? - Brian Skripac
BIM: What do Owners Want? - Brian SkripacBIM: What do Owners Want? - Brian Skripac
BIM: What do Owners Want? - Brian Skripac
 
Bim presentation km 21-10-2011
Bim presentation km 21-10-2011Bim presentation km 21-10-2011
Bim presentation km 21-10-2011
 
My Lean + BIM Journey [Nathan Wood, Brazil Lean Conference]
My Lean + BIM Journey [Nathan Wood, Brazil Lean Conference]My Lean + BIM Journey [Nathan Wood, Brazil Lean Conference]
My Lean + BIM Journey [Nathan Wood, Brazil Lean Conference]
 
Bim White Paper 11 9 09
Bim White Paper 11 9 09Bim White Paper 11 9 09
Bim White Paper 11 9 09
 
BIM Edecation Program Model Creation Sequence The following activitie.pdf
BIM Edecation Program Model Creation Sequence The following activitie.pdfBIM Edecation Program Model Creation Sequence The following activitie.pdf
BIM Edecation Program Model Creation Sequence The following activitie.pdf
 
BIM presentation by ali al dujaili
BIM presentation by ali al dujailiBIM presentation by ali al dujaili
BIM presentation by ali al dujaili
 
Innovation in practice presentation 10 06-15
Innovation in practice presentation 10 06-15Innovation in practice presentation 10 06-15
Innovation in practice presentation 10 06-15
 
Rtcaus13 abcd
Rtcaus13 abcdRtcaus13 abcd
Rtcaus13 abcd
 
Practical bim collaboration in a ppp
Practical bim collaboration in a pppPractical bim collaboration in a ppp
Practical bim collaboration in a ppp
 
On the Road to 6D Challenges and Responsibilities in all Stages of the Projec...
On the Road to 6D Challenges and Responsibilities in all Stages of the Projec...On the Road to 6D Challenges and Responsibilities in all Stages of the Projec...
On the Road to 6D Challenges and Responsibilities in all Stages of the Projec...
 
BO5641_class_handout_FMSystems_en_1129
BO5641_class_handout_FMSystems_en_1129BO5641_class_handout_FMSystems_en_1129
BO5641_class_handout_FMSystems_en_1129
 
BASIC TERMS IN BIM-REVIT
BASIC TERMS IN BIM-REVITBASIC TERMS IN BIM-REVIT
BASIC TERMS IN BIM-REVIT
 
Innovation for Real Estate: Building Information Modeling (Erin Rae Hoffer) -...
Innovation for Real Estate: Building Information Modeling (Erin Rae Hoffer) -...Innovation for Real Estate: Building Information Modeling (Erin Rae Hoffer) -...
Innovation for Real Estate: Building Information Modeling (Erin Rae Hoffer) -...
 
Whats the BIM IdeaWhy does this happenProjec.docx
Whats the BIM IdeaWhy does this happenProjec.docxWhats the BIM IdeaWhy does this happenProjec.docx
Whats the BIM IdeaWhy does this happenProjec.docx
 
Whats the BIM IdeaWhy does this happenProjec.docx
Whats the BIM IdeaWhy does this happenProjec.docxWhats the BIM IdeaWhy does this happenProjec.docx
Whats the BIM IdeaWhy does this happenProjec.docx
 
Whats the BIM IdeaWhy does this happenProjec.docx
Whats the BIM IdeaWhy does this happenProjec.docxWhats the BIM IdeaWhy does this happenProjec.docx
Whats the BIM IdeaWhy does this happenProjec.docx
 
Alastair Gardner: BIM Overview
Alastair Gardner: BIM OverviewAlastair Gardner: BIM Overview
Alastair Gardner: BIM Overview
 

Recently uploaded

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 

Recently uploaded (20)

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 

Model Evolution Workshop at MODELS 2010

  • 1. Documenting Stepwise Model Refinement using Executable Design Decisions Matthias Biehl Embedded Control Systems Royal Institute of Technology Stockholm, Sweden Matthias Biehl 1
  • 2. • What kind of models are considered? • Implementation: EMF-based models, independent of metamodel • Case study: models of the HW and SW architecture of automotive embedded systems • What kind of evolution challenges are addressed? • Documentation of design decisions for models • Linking documentation to the affected model elements • Consistency between design decision documentation and model Matthias Biehl 2
  • 3. Example: Documentation of Design Decisions for Models Double redundancy to improve the reliability of a safety critical component Matthias Biehl 3
  • 4. Requirements for Documentation of Design Decisions for Models • Explicit documentation of the design decision, for example by a textual description. • Applicable for an arbitrary metamodel: it should not be necessary to change existing metamodels to document design decisions. • Link between the design decision documentation and the model: a link between the design decision documentation, the context of the design decision and the model elements affected by the design decision • Low capture overhead: the effort for linking to the documentation to the model should be low. • Consistency between the design decision documentation and the model: the change described by the design decision should be actually be realized in the model. Matthias Biehl 4
  • 5. Stepwise Refinement M0 d1 M1 Explanation Model M d Design Decision Matthias Biehl 5
  • 6. Lack of Design Decision Documentation M0 d1 M1 d2 … dn Explanation Mn Artifact M d Design Decision Matthias Biehl 6
  • 7. Design Decision Capture Problem • Additional cost and effort for documenting design decisions, no immediate benefit [10] • Documentation is not always performed in practice [18] • Knowledge vaporization • Model inconsistencies, erosion, aging, architectural drift • Problems during maintenance Matthias Biehl 7
  • 8. How to deal with the design decision capture problem? (a) M0 (b) M0 (c) M0 d1 d1 M1 M1 M1 artifact based, artifact based executable e.g. SVN, CVS + design decision design decisions documentation Red = needs to be specified and changed manually Matthias Biehl 8
  • 9. Formalization: Stepwise Model Refinement with Executable Design Decisions • Design Decisions as executable specification is both • descriptive documentation • constructive tool for creation of the artifact M0 M0 initial architecture, can be empty d1 M1 M1 = d1(M0) d2 … dn Mn Mn = (dn dn-1 … d1 )(M0) Matthias Biehl 9
  • 10. Mapping between Design Decisions and Model Transformations Model Mi maps to Source Model Mi maps to Context LHS Design maps to Model Decision Transformation Outcome maps to RHS Model Mi+1 maps to Target Model Mi+1 • Requirements for Model Transformation Language/Engine • Model-to-Model: input and output of the transformation are models • Endogeneous: metamodels of source and target are identical • In-Place: create the target model by modifying specific parts in the source model Matthias Biehl 10
  • 11. Which part of the design decision can be described by a Model Transformation? • Basis: Design Decision Ontology [9] • Context/Scope, Outcome • Author, Timestamp, Risk, Cost, Design Decision Rationale • Relation between design decisions • Model Transformation • Context/Scope, Outcome, Trace link to the model elements • Additional Information: Design Decision Management Container • Author, Timestamp, Risk, Cost, Design Decision Rationale • Relation between design decisions • Link to the Model Transformation Matthias Biehl 11
  • 12. Capturing Design Decisions • Steps for manual capturing 1. Performing an update of the model, so it reflects the new design decision 2. Documenting where in the model the change applies and what is changed 3. Linking the documentation to the model elements affected by the change 4. Documenting the rationale of the change • Executable Design Decisions use intrinsic relation of steps 1, 2 and 3 1. Update of the model = outcome of executing the Executable Design Decision 2. Where and What = LHS and RHS of Executable Design Decision 3. Traces of Executable Design Decision link the design decision to the model Matthias Biehl 12
  • 14. Brake-by-wire Architecture with Double Redundancy Matthias Biehl 14
  • 15. Design Decision Documentation using Triple Graph Grammars (TGG) Left-Hand-Side Right-Hand-Side Matthias Biehl 15
  • 16. Design Decision Patterns • Executable design decisions are reusable • Reuse design decision in a different context • adapt LHS • Change the outcome of the design decision • adapt RHS Matthias Biehl 16
  • 17. Design Decision Patterns: Reuse design decision in a different context • Apply design decision on WheelSpeedSensor instead of PedalSensor • Same RHS • Adapt LHS „WheelSpeedSensor“ LHS Matthias Biehl 17
  • 18. Design Decision Patterns: Change the outcome of the design decision • Design decision: use triple redundancy + voter • Same LHS as for double redundancy • Adapt RHS New RHS Matthias Biehl 18
  • 19. Brake-by-wire Architecture with Triple Redundancy + Voter instead of Double Redundancy Matthias Biehl 19
  • 20. Summary: Documenting Model Refinement • Problem: Double effort required for capturing design decisions • Both the architecture needs to be adapted • and the design decision needs to be documented • Representation: Executable Design Decision • Executable specification using model transformations • Additional design decision rationale and „bookkeeping“ data • Result • Reduction of capture overhead: context and outcome calulated automatically • Applicability with any metamodel • Consistency between model and documentation through automation • Link between documentation and model through automated traces Matthias Biehl 20
  • 22. Question for Brainstorming • What is an appropriate classification scheme for model evolution problems and approaches? Matthias Biehl 22
  • 23. Automate Capturing Design Decisions • Create snapshots of the model: • Mi-1 = Snapshot of model before the design decision • Mi = Snapshot of model after the design decision • Calculate Model Transformation • Calculate ∆i = diff(Mi, Mi-1), e.g. using EMF Compare • Calculate Εi = all elements in Mi-with a direct connection to an element in ∆i • LHS = Ei • RHS = ∆i ∪ Εi • Mapping graph calculated by a matching algorithm between LHS and RHS Matthias Biehl 23
  • 24. Summary: Documenting Model Refinement • Problem: Double effort required for capturing design decisions • Both the architecture needs to be adapted • … and the design decision needs to be documented in addition • Representation: Executable Design Decision • Executable specification using model transformations • Additional design decision rationale and „bookkeeping“ data • Result • Reduction of capture overhead: context and outcome calulated automatically • Applicability with any metamodel • Consistency between model and documentation through automation • Link between documentation and model through automated traces Matthias Biehl 24
  • 25. Design Decision Documentation using ATL Matthias Biehl 25
  • 26. Rationale Levels • Levels of Justification/Explanation • Similar to metalevels of OMG M0-M3 • Each new level : • answers the question „Why?“ • R0: Artifact Why? • Examples: Requirements, Models, Architecture, Implementation • R1: Decision • Link to Requirements Why? • Link between Artifact Elements and Design Decisons • R2: Decision Rationale • Tradeoff • Quantitative and qualitative rationale Matthias Biehl 26
  • 27. Stepwise Refinement • Stepwise refinement by Dijkstra [6] and by Wirth [22] • Refinement entails a change in the model M0 • A change entails a design decision d1 • Iterative refinement M1 • Granularity of a “Step”? • We use a design decision, which may contain several refinement steps • Attribute Driven Design [23] Explanation Model M d Design Decision Matthias Biehl 27
  • 28. • Design Decisions as Executable Specification • descriptive documentation • constructive tool for creation of the artifact • Analogy – furniture construction • Construction plan instead of the finished artifact • Construction plan can be executed automatically, yielding the finished artifact • Construction plan serves as a rationale for the artifact and provides an explicit record of the design decisions of constructing the artifact • Executability of the construction plan ensures consistency between construction plan and artifact Matthias Biehl 28
  • 29. We know how to document design decision in source code … /* design decision */ How can we document design decisions when developing models? Matthias Biehl 29
  • 30. Future Work • Reusable design decisons • Design patterns • Changing the LHS, provides new decision context • Build catalogs of reusable design decisons • Further reduce capturing effort • The effect of the design decision on the architecture is used to compare design decisions • existing quality analyses can be used • Use design decisons for • Design space exploration • Optimization • Change impact analysis • Tradeoff-analysis Matthias Biehl 30
  • 31. Use Model Transformations • Additional Information captured separately • Author, Timestamp, Risk, Cost, Design Decision Rationale Matthias Biehl 31
  • 32. Context corresponds to LHS Design corresponds to Model Decision Transformation Outcome corresponds to RHS Matthias Biehl 32
  • 33. Challenge: Architectural knowledge vaporization • knowledge vaporization • important knowledge about the architecture is tacit and seems self-evident during creation e.g. assumptions, reasoning, alternative designs, trade- offs, company policies • tacit knowledge is easily lost over time • tacit knowledge is needed during construction, evolution and reuse of the architecture • some implications of knowledge vaporization • inappropriate reuse of components • long time spent on understanding previous architecture • expensive evolution and change • Results in well-known software architecture problems: software aging, design erosion, architectural drift, high cost of change, high cost of maintenance Matthias Biehl 33
  • 34. Architectural Knowledge (AK) • Especially relevant for intangible products, i.e. software for embedded systems • Most relevant knowledge for software: knowledge about the software architecture • Architectural Knowledge • AK = architecture + rationale • AK = design decisions and design • AK = drivers, decisions, analysis • AK = process, products, people, tools Matthias Biehl 34
  • 35. Issue A0 d1 A1 x x x x x Alternatives Matthias Biehl 35

Editor's Notes

  1. We know how to document design decisions for source code.But how do we for models?
  2. Any intermediate version can be created