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

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
 
PDF to Revit BIM Conversion Guide: A Comprehensive 2024 Guide
PDF to Revit BIM Conversion Guide: A Comprehensive 2024 GuidePDF to Revit BIM Conversion Guide: A Comprehensive 2024 Guide
PDF to Revit BIM Conversion Guide: A Comprehensive 2024 GuideChandresh Chudasama
 

Similar to Model Evolution Workshop at MODELS 2010 (20)

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
 
PDF to Revit BIM Conversion Guide: A Comprehensive 2024 Guide
PDF to Revit BIM Conversion Guide: A Comprehensive 2024 GuidePDF to Revit BIM Conversion Guide: A Comprehensive 2024 Guide
PDF to Revit BIM Conversion Guide: A Comprehensive 2024 Guide
 

Recently uploaded

Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 

Recently uploaded (20)

Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 

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