SlideShare une entreprise Scribd logo
1  sur  23
Towards Constraint-Based Model Types:
A Generalised
Formal Foundation for Model Genericity
Steffen Zschaler
22 July 2014
VAO, York
Towards Constraint-Based Model Types:
A Generalised
Formal Foundation for Model Genericity
Steffen Zschaler
22 July 2014
VAO, York
Reuse in model management
22/07/2014 2
Model transformation specifications
Untyped
• No documentation
of assumptions
• No checking of
applicability for a
given model
Typed over one
specific meta-model
• Only work for models
that instantiate the
particular meta-model
• Need to rewrite
transformation from
scratch for any
similar meta-model.
Reuse in model management
22/07/2014 2
Model transformation specifications
Untyped
• No documentation
of assumptions
• No checking of
applicability for a
given model
Typed over one
specific meta-model
• Only work for models
that instantiate the
particular meta-model
• Need to rewrite
transformation from
scratch for any
similar meta-model.
We need a type system that is both sufficiently lax and
sufficiently precise to capture the best of both worlds.
(NB Can think of such model types as views on the
models to be manipulated.)
Existing approaches
• Two attempts at such type systems
exist:
– Model Typing (Steel, Guy, Combemale, et al.)
– Model Concepts (de Lara, Guerra, Rose, et
al.)
• All have problems
22/07/2014 3
Example problems
22/07/2014 4
mmo NewSM (s : Simple) {
s += new StateMachine ()
}
Example problems
22/07/2014 4
mmo NewSM (s : Simple) {
s += new StateMachine ()
}
StateMachine
State
name: String
Transition
event: String
initialState
0..1
containedState *
src
1
tgt
1
incoming
*
*
outgoing
Difference between Simple and Mandatory-startMandatory-start <:Steel Simple
Example problems
22/07/2014 4
mmo NewSM (s : Simple) {
s += new StateMachine ()
}
StateMachine
State
name: String
Transition
event: String
initialState
0..1
containedState *
src
1
tgt
1
incoming
*
*
outgoing
Difference between Simple and Mandatory-start
Error: Allows passing in
Mandatory-start instance, but breaks it.
Mandatory-start <:Steel Simple
mmo NewSM (s : Mandatory-start) {
sm := new StateMachine () ;
sm.initialState += new State () ;
s += sm
}
Example problems
22/07/2014 4
StateMachine
State
name: String
Transition
event: String
initialState
0..1
containedState *
src
1
tgt
1
incoming
*
*
outgoing
Difference between Simple and Mandatory-startMandatory-start <:Guy Simple
mmo NewSM (s : Mandatory-start) {
sm := new StateMachine () ;
sm.initialState += new State () ;
s += sm
}
Example problems
22/07/2014 4
StateMachine
State
name: String
Transition
event: String
initialState
0..1
containedState *
src
1
tgt
1
incoming
*
*
outgoing
Difference between Simple and Mandatory-start
Over-restriction: Would work with any
Simple instance, but cannot specify.
Mandatory-start <:Guy Simple
Two general problems
1. Focus on external contracts
– Can validate invocations but not
implementations
2. No formal definition
– Cannot analyse correctness
22/07/2014 5
Towards a solution
1. Provide a formalisation
– Explicit type system for model types
– Explicitly include constraints on the structure
of acceptable models
2. Define a notion of an internal contract
– In the paper defined through a set of type
inference rules
– Key really: Dataflow analysis of MMO
implementation
22/07/2014 6
Example
22/07/2014
See paper for type rules
Example
22/07/2014
See paper for type rules
Example
22/07/2014
Statements typed by
their effect on
system states
data flow analysis
States assign model types
to variables (see paper)
See paper for type rules
Example
22/07/2014
See paper for type rules
Example
22/07/2014
Append rule generates
additional constraints.
Here: Forbids mandatory
associations from StateMachine.
See paper for type rules
Example
22/07/2014
See paper for type rules
Example
22/07/2014
See paper for type rules
Example
22/07/2014
See paper for type rules
Example
22/07/2014
See paper for type rules
Conclusions and Outlook
• Need better understanding of generic
model types
– Internal contracts
– Constraint-based model types may provide
the basis
• Proper formalisation needed
• Limits of data-flow analysis?
22/07/2014 8
QUESTIONS?
Steffen Zschaler
szschaler@acm.org, @szschaler
22/07/2014 9

Contenu connexe

Similaire à Towards Constraint-Based Model Types: A Generalised Formal Foundation for Model Genericity

Model Driven Developing & Model Based Checking: Applying Together
Model Driven Developing & Model Based Checking: Applying TogetherModel Driven Developing & Model Based Checking: Applying Together
Model Driven Developing & Model Based Checking: Applying TogetherIosif Itkin
 
Model based testing using finite state machine(FSM)
Model based testing using finite state machine(FSM)Model based testing using finite state machine(FSM)
Model based testing using finite state machine(FSM)Kumaresh Chandra Baruri
 
A la découverte des google/mock (aka gmock)
A la découverte des google/mock (aka gmock)A la découverte des google/mock (aka gmock)
A la découverte des google/mock (aka gmock)Thierry Gayet
 
Advance unittest
Advance unittestAdvance unittest
Advance unittestReza Arbabi
 
OOPs_Lecture 09_Argument Passing, static members.pptx
OOPs_Lecture 09_Argument Passing, static members.pptxOOPs_Lecture 09_Argument Passing, static members.pptx
OOPs_Lecture 09_Argument Passing, static members.pptxNAYEEMBASHA12
 
Testing object oriented software.pptx
Testing object oriented software.pptxTesting object oriented software.pptx
Testing object oriented software.pptxDRPOONAMDRPOONAM1
 
TDD And Refactoring
TDD And RefactoringTDD And Refactoring
TDD And RefactoringNaresh Jain
 
RPA Summer School Studio Session 2 - The Fundamentals of UiPath Studio .pdf
RPA Summer School Studio Session 2 - The Fundamentals of UiPath Studio .pdfRPA Summer School Studio Session 2 - The Fundamentals of UiPath Studio .pdf
RPA Summer School Studio Session 2 - The Fundamentals of UiPath Studio .pdfCristina Vidu
 
UiPath Studio Session 2 - The Fundamentals of UiPath Studio - Final Slides.pdf
UiPath Studio Session 2 - The Fundamentals of UiPath Studio - Final Slides.pdfUiPath Studio Session 2 - The Fundamentals of UiPath Studio - Final Slides.pdf
UiPath Studio Session 2 - The Fundamentals of UiPath Studio - Final Slides.pdfDiana Gray, MBA
 
Dependency injection using Google guice
Dependency injection using Google guiceDependency injection using Google guice
Dependency injection using Google guiceAman Verma
 
11 Model-Driven Testing with UML 2
11 Model-Driven Testing with UML 211 Model-Driven Testing with UML 2
11 Model-Driven Testing with UML 2Asanka Dilruk
 
Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.
Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.
Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.Wolfgang Grieskamp
 
Design Patterns
Design PatternsDesign Patterns
Design Patternssoms_1
 
Magento code testability: Problems and Solutions
Magento code testability: Problems and SolutionsMagento code testability: Problems and Solutions
Magento code testability: Problems and SolutionsAnton Kril
 
PChomePay unit test basic
PChomePay unit test basicPChomePay unit test basic
PChomePay unit test basicEric Huang
 
Design patterns english
Design patterns englishDesign patterns english
Design patterns englishmeriem sari
 

Similaire à Towards Constraint-Based Model Types: A Generalised Formal Foundation for Model Genericity (20)

Code Testability
Code TestabilityCode Testability
Code Testability
 
Model Driven Developing & Model Based Checking: Applying Together
Model Driven Developing & Model Based Checking: Applying TogetherModel Driven Developing & Model Based Checking: Applying Together
Model Driven Developing & Model Based Checking: Applying Together
 
Model based testing using finite state machine(FSM)
Model based testing using finite state machine(FSM)Model based testing using finite state machine(FSM)
Model based testing using finite state machine(FSM)
 
A la découverte des google/mock (aka gmock)
A la découverte des google/mock (aka gmock)A la découverte des google/mock (aka gmock)
A la découverte des google/mock (aka gmock)
 
Advance unittest
Advance unittestAdvance unittest
Advance unittest
 
OOPs_Lecture 09_Argument Passing, static members.pptx
OOPs_Lecture 09_Argument Passing, static members.pptxOOPs_Lecture 09_Argument Passing, static members.pptx
OOPs_Lecture 09_Argument Passing, static members.pptx
 
Testing object oriented software.pptx
Testing object oriented software.pptxTesting object oriented software.pptx
Testing object oriented software.pptx
 
TDD And Refactoring
TDD And RefactoringTDD And Refactoring
TDD And Refactoring
 
RPA Summer School Studio Session 2 - The Fundamentals of UiPath Studio .pdf
RPA Summer School Studio Session 2 - The Fundamentals of UiPath Studio .pdfRPA Summer School Studio Session 2 - The Fundamentals of UiPath Studio .pdf
RPA Summer School Studio Session 2 - The Fundamentals of UiPath Studio .pdf
 
UiPath Studio Session 2 - The Fundamentals of UiPath Studio - Final Slides.pdf
UiPath Studio Session 2 - The Fundamentals of UiPath Studio - Final Slides.pdfUiPath Studio Session 2 - The Fundamentals of UiPath Studio - Final Slides.pdf
UiPath Studio Session 2 - The Fundamentals of UiPath Studio - Final Slides.pdf
 
Dependency injection using Google guice
Dependency injection using Google guiceDependency injection using Google guice
Dependency injection using Google guice
 
11 Model-Driven Testing with UML 2
11 Model-Driven Testing with UML 211 Model-Driven Testing with UML 2
11 Model-Driven Testing with UML 2
 
Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.
Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.
Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Magento code testability: Problems and Solutions
Magento code testability: Problems and SolutionsMagento code testability: Problems and Solutions
Magento code testability: Problems and Solutions
 
PChomePay unit test basic
PChomePay unit test basicPChomePay unit test basic
PChomePay unit test basic
 
Unit testing basic
Unit testing basicUnit testing basic
Unit testing basic
 
Mutation testing
Mutation testingMutation testing
Mutation testing
 
Regression testing
Regression testingRegression testing
Regression testing
 
Design patterns english
Design patterns englishDesign patterns english
Design patterns english
 

Dernier

Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.aasikanpl
 
Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?Patrick Diehl
 
Artificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PArtificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PPRINCE C P
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )aarthirajkumar25
 
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.aasikanpl
 
Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)PraveenaKalaiselvan1
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoSérgio Sacani
 
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...Sérgio Sacani
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsAArockiyaNisha
 
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bNightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bSérgio Sacani
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxUmerFayaz5
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...anilsa9823
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...RohitNehra6
 
Types of different blotting techniques.pptx
Types of different blotting techniques.pptxTypes of different blotting techniques.pptx
Types of different blotting techniques.pptxkhadijarafiq2012
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxkessiyaTpeter
 
Caco-2 cell permeability assay for drug absorption
Caco-2 cell permeability assay for drug absorptionCaco-2 cell permeability assay for drug absorption
Caco-2 cell permeability assay for drug absorptionPriyansha Singh
 
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |aasikanpl
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfmuntazimhurra
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​kaibalyasahoo82800
 

Dernier (20)

Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
 
Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?
 
Artificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PArtificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C P
 
The Philosophy of Science
The Philosophy of ScienceThe Philosophy of Science
The Philosophy of Science
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )
 
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
 
Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on Io
 
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based Nanomaterials
 
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bNightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptx
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...
 
Types of different blotting techniques.pptx
Types of different blotting techniques.pptxTypes of different blotting techniques.pptx
Types of different blotting techniques.pptx
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
 
Caco-2 cell permeability assay for drug absorption
Caco-2 cell permeability assay for drug absorptionCaco-2 cell permeability assay for drug absorption
Caco-2 cell permeability assay for drug absorption
 
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdf
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​
 

Towards Constraint-Based Model Types: A Generalised Formal Foundation for Model Genericity

  • 1. Towards Constraint-Based Model Types: A Generalised Formal Foundation for Model Genericity Steffen Zschaler 22 July 2014 VAO, York
  • 2. Towards Constraint-Based Model Types: A Generalised Formal Foundation for Model Genericity Steffen Zschaler 22 July 2014 VAO, York
  • 3. Reuse in model management 22/07/2014 2 Model transformation specifications Untyped • No documentation of assumptions • No checking of applicability for a given model Typed over one specific meta-model • Only work for models that instantiate the particular meta-model • Need to rewrite transformation from scratch for any similar meta-model.
  • 4. Reuse in model management 22/07/2014 2 Model transformation specifications Untyped • No documentation of assumptions • No checking of applicability for a given model Typed over one specific meta-model • Only work for models that instantiate the particular meta-model • Need to rewrite transformation from scratch for any similar meta-model. We need a type system that is both sufficiently lax and sufficiently precise to capture the best of both worlds. (NB Can think of such model types as views on the models to be manipulated.)
  • 5. Existing approaches • Two attempts at such type systems exist: – Model Typing (Steel, Guy, Combemale, et al.) – Model Concepts (de Lara, Guerra, Rose, et al.) • All have problems 22/07/2014 3
  • 6. Example problems 22/07/2014 4 mmo NewSM (s : Simple) { s += new StateMachine () }
  • 7. Example problems 22/07/2014 4 mmo NewSM (s : Simple) { s += new StateMachine () } StateMachine State name: String Transition event: String initialState 0..1 containedState * src 1 tgt 1 incoming * * outgoing Difference between Simple and Mandatory-startMandatory-start <:Steel Simple
  • 8. Example problems 22/07/2014 4 mmo NewSM (s : Simple) { s += new StateMachine () } StateMachine State name: String Transition event: String initialState 0..1 containedState * src 1 tgt 1 incoming * * outgoing Difference between Simple and Mandatory-start Error: Allows passing in Mandatory-start instance, but breaks it. Mandatory-start <:Steel Simple
  • 9. mmo NewSM (s : Mandatory-start) { sm := new StateMachine () ; sm.initialState += new State () ; s += sm } Example problems 22/07/2014 4 StateMachine State name: String Transition event: String initialState 0..1 containedState * src 1 tgt 1 incoming * * outgoing Difference between Simple and Mandatory-startMandatory-start <:Guy Simple
  • 10. mmo NewSM (s : Mandatory-start) { sm := new StateMachine () ; sm.initialState += new State () ; s += sm } Example problems 22/07/2014 4 StateMachine State name: String Transition event: String initialState 0..1 containedState * src 1 tgt 1 incoming * * outgoing Difference between Simple and Mandatory-start Over-restriction: Would work with any Simple instance, but cannot specify. Mandatory-start <:Guy Simple
  • 11. Two general problems 1. Focus on external contracts – Can validate invocations but not implementations 2. No formal definition – Cannot analyse correctness 22/07/2014 5
  • 12. Towards a solution 1. Provide a formalisation – Explicit type system for model types – Explicitly include constraints on the structure of acceptable models 2. Define a notion of an internal contract – In the paper defined through a set of type inference rules – Key really: Dataflow analysis of MMO implementation 22/07/2014 6
  • 15. Example 22/07/2014 Statements typed by their effect on system states data flow analysis States assign model types to variables (see paper) See paper for type rules
  • 17. Example 22/07/2014 Append rule generates additional constraints. Here: Forbids mandatory associations from StateMachine. See paper for type rules
  • 22. Conclusions and Outlook • Need better understanding of generic model types – Internal contracts – Constraint-based model types may provide the basis • Proper formalisation needed • Limits of data-flow analysis? 22/07/2014 8