Tony clark caise 13-presentation
-
Upload
caise2013vlc -
Category
Technology
-
view
59 -
download
1
Transcript of Tony clark caise 13-presentation
On the Search for a Level-Agnostic ModellingLanguage
Brian Henderson-Sellers1 Tony Clark2
Cesar Gonzalez-Perez3
1University of Technology, Sydney, Australia.
2Middlesex University, London, UK.
3Institute of Heritage Sciences, Spanish National Research Council (CSIC) Spain.
25th International Conference on Advanced InformationSystems Engineering, 2013, Valencia, Spain
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Models in Information System Development
Multiple inter-operating (extensible) tools.Multiple inter-operating (domain-specific, extensible)languages.
(MBE Framework due to Bran Selic, Dagstuhl on MBE Tooling, May 2013)
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Models in Information System Development
Multiple inter-operating (extensible) tools.Multiple inter-operating (domain-specific, extensible)languages.
(MBE Framework due to Bran Selic, Dagstuhl on MBE Tooling, May 2013)
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Modelling Languages and Tools
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Modelling Languages and Tools
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Modelling Languages and Tools
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Modelling Languages and Tools
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Modelling Languages and Tools
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Modelling with Types and Instances
Tools must deal with mixed-level models.No limit to the number of instantiation levels.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Modelling with Types and Instances
Tools must deal with mixed-level models.No limit to the number of instantiation levels.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Meta-modelling Requirements
Need to integrate languages, models and instances.Must be able to mix levels.Tools must work across levels.Tools are (partly) models too.Unforeseen extensions must be accommodated.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Meta-modelling Requirements
Need to integrate languages, models and instances.Must be able to mix levels.Tools must work across levels.Tools are (partly) models too.Unforeseen extensions must be accommodated.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Meta-modelling Requirements
Need to integrate languages, models and instances.Must be able to mix levels.Tools must work across levels.Tools are (partly) models too.Unforeseen extensions must be accommodated.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Meta-modelling Requirements
Need to integrate languages, models and instances.Must be able to mix levels.Tools must work across levels.Tools are (partly) models too.Unforeseen extensions must be accommodated.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Meta-modelling Requirements
Need to integrate languages, models and instances.Must be able to mix levels.Tools must work across levels.Tools are (partly) models too.Unforeseen extensions must be accommodated.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Approaches: Object Management Group 3-LayersTaken from Djuric et al. The Tao of Modeling Spaces, JOT 5(8) 2006
Implementations: MOF, Ecore - problems with universality.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Approaches: Power-Types
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Approaches: Pan Level ModellingAtkinson and Gutheil
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Approaches: PotencyAtkinson and Kühne
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
An Approach: Everything is an Object
Put on the Modelling Goggles.Fractal Architecture.Types are well-behaved patterns.Type relation specified within the model via constraints.Functions included as essential features.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
An Approach: Everything is an Object
Put on the Modelling Goggles.Fractal Architecture.Types are well-behaved patterns.Type relation specified within the model via constraints.Functions included as essential features.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
An Approach: Everything is an Object
Put on the Modelling Goggles.Fractal Architecture.Types are well-behaved patterns.Type relation specified within the model via constraints.Functions included as essential features.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
An Approach: Everything is an Object
Put on the Modelling Goggles.Fractal Architecture.Types are well-behaved patterns.Type relation specified within the model via constraints.Functions included as essential features.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
An Approach: Everything is an Object
Put on the Modelling Goggles.Fractal Architecture.Types are well-behaved patterns.Type relation specified within the model via constraints.Functions included as essential features.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Validation of Approach
Available at https://github.com/xmodeler/XModeler
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Animals Package as an Object
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Tools: Constraint Checking
1 @Class Object2 @Attribute of : Class end3 @Attribute slots : Seq(Slot) end4 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Tools: Constraint Checking
1 @Class Object2 @Attribute slots : Seq(Slot) end3 @Operation asEnv()4 let bindings = slots->collect(s | Bind(s.name,s.value))5 in Seq{Bind("slots",slots),6 Bind("self",self)}7 + bindings8 end9 end
10 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Tools: Constraint Checking
1 @Class Object2 @Attribute slots : Seq(Slot) end3 @Operation asEnv()4 let bindings = slots->collect(s | Bind(s.name,s.value))5 in Seq{Bind("slots",slots),6 Bind("self",self)}7 + bindings8 end9 end
10 @Operation checkConstraints()11 of.checkConstraints(self)12 end13 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Tools: Constraint Checking
1 @Class Object2 @Attribute slots : Seq(Slot) end3 @Operation asEnv()4 let bindings = slots->collect(s | Bind(s.name,s.value))5 in Seq{Bind("slots",slots),6 Bind("self",self)}7 + bindings8 end9 end
10 @Operation checkConstraints()11 self.of.checkConstraints(self)12 end13 @Constraint Complete14 slots->collect(s | s.name) = of.attributes.name15 end16 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Tools: Constraint Checking
1 @Class Class extends Object2 @Attribute parents : Seq(Class) end3 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Tools: Constraint Checking
1 @Class Class extends Object2 @Attribute parents : Seq(Class) end3 @Attribute attributes : Seq(Attribute) end4 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Tools: Constraint Checking
1 @Class Class extends Object2 @Attribute parents : Seq(Class) end3 @Attribute attributes : Seq(Attribute) end4 @Attribute constraints : Seq(Constraint) end5 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Tools: Constraint Checking
1 @Class Class extends Object2 @Attribute parents : Seq(Class) end3 @Attribute attributes : Seq(Attribute) end4 @Attribute constraints : Seq(Constraint) end5 @Operation allConstraints()6 parents->iterate(parent C = constraints |7 C->union(parent.allConstraints()))8 end9 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Tools: Constraint Checking
1 @Class Class extends Object2 @Attribute parents : Seq(Class) end3 @Attribute attributes : Seq(Attribute) end4 @Attribute constraints : Seq(Constraint) end5 @Operation allConstraints()6 parents->iterate(parent C = constraints |7 C->union(parent.allConstraints()))8 end9 @Operation checkConstraints(candidate)
10 allConstraints()->forAll(c | c.check(candidate))11 end12 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Tools:Constraint CheckingEverything extends Object unless defined otherwise
1 @Class Constraint2 @Attribute exp : Exp end3 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Tools:Constraint Checking
1 @Class Constraint2 @Attribute exp : Exp end3 @Operation check(candidate)4 exp.eval(candidate.asEnv())5 end6 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Example
Breed is a new language element.Dogs of known breeds must have a name.Breeds might be pedigree.Pedigree breeds are regulated through registration.Aim: tool for constraint checking.Claim: tool is language-level agnostic.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Example
Breed is a new language element.Dogs of known breeds must have a name.Breeds might be pedigree.Pedigree breeds are regulated through registration.Aim: tool for constraint checking.Claim: tool is language-level agnostic.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Example
Breed is a new language element.Dogs of known breeds must have a name.Breeds might be pedigree.Pedigree breeds are regulated through registration.Aim: tool for constraint checking.Claim: tool is language-level agnostic.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Example
Breed is a new language element.Dogs of known breeds must have a name.Breeds might be pedigree.Pedigree breeds are regulated through registration.Aim: tool for constraint checking.Claim: tool is language-level agnostic.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Example
Breed is a new language element.Dogs of known breeds must have a name.Breeds might be pedigree.Pedigree breeds are regulated through registration.Aim: tool for constraint checking.Claim: tool is language-level agnostic.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Example
Breed is a new language element.Dogs of known breeds must have a name.Breeds might be pedigree.Pedigree breeds are regulated through registration.Aim: tool for constraint checking.Claim: tool is language-level agnostic.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Example
1 @Class Breed extends Class2 @Attribute isPedigree : Boolean end3 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Example
1 @Class Breed extends Class2 @Attribute isPedigree : Boolean end3 @Constraint IsNamed4 attributes->exists(a |5 a.name = "name"6 and a.type = String)7 end8 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Example
1 @Class Breed extends Class2 @Attribute isPedigree : Boolean end3 @Constraint IsNamed4 attributes->exists(a |5 a.name = "name"6 and a.type = String)7 end8 @Constraint PedigreeDogsMustHaveRegistrationProperty9 isPedigree implies attributes->exists(a |
10 a.name = "isRegistered"11 and a.type = Boolean)12 end13 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Example
1 @Class IllegalBreed metaclass Breed2 isPedigree = false3 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Example
1 @Class IllegalBreed metaclass Breed2 isPedigree = false3 end4
5 @Class IllegalPedigreeBreed metaclass Breed6 isPedigree = true7 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Example
1 @Class IllegalBreed metaclass Breed2 isPedigree = false3 end4
5 @Class IllegalPedigreeBreed metaclass Breed6 isPedigree = true7 end8
9 @Class Collie metaclass Breed10 isPedigree = true11 @Attribute isRegistered : Boolean end12 @Attribute name : String end13 @Constructor(name,isRegistered) ! end14 @Constraint AllColliesAreCalledFido15 name = "Fido"16 end17 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Tool ApplicationRunning against objects
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Tool ApplicationRunning against objects
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Tool ApplicationRunning against types
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Tool ApplicationRunning against types
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Tool ApplicationRunning against types
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Tool ApplicationRunning against meta-types
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Tool ApplicationRunning against everything
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Tool ApplicationRunning against meta-meta-types
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Review and A Claim
MBE requires languages.Languages require meta-models.Tools must be write-once run on any meta-level.Various approaches: strict; power-types; clabjects;potency.Claim: Our approach is language-level agnostic andgeneralizes other approaches.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Review and A Claim
MBE requires languages.Languages require meta-models.Tools must be write-once run on any meta-level.Various approaches: strict; power-types; clabjects;potency.Claim: Our approach is language-level agnostic andgeneralizes other approaches.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Review and A Claim
MBE requires languages.Languages require meta-models.Tools must be write-once run on any meta-level.Various approaches: strict; power-types; clabjects;potency.Claim: Our approach is language-level agnostic andgeneralizes other approaches.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Review and A Claim
MBE requires languages.Languages require meta-models.Tools must be write-once run on any meta-level.Various approaches: strict; power-types; clabjects;potency.Claim: Our approach is language-level agnostic andgeneralizes other approaches.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
Review and A Claim
MBE requires languages.Languages require meta-models.Tools must be write-once run on any meta-level.Various approaches: strict; power-types; clabjects;potency.Claim: Our approach is language-level agnostic andgeneralizes other approaches.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language