62
On the Search for a Level-Agnostic Modelling Language Brian Henderson-Sellers 1 Tony Clark 2 Cesar Gonzalez-Perez 3 1 University of Technology, Sydney, Australia. 2 Middlesex University, London, UK. 3 Institute of Heritage Sciences, Spanish National Research Council (CSIC) Spain. 25th International Conference on Advanced Information Systems Engineering, 2013, Valencia, Spain Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language

Tony clark caise 13-presentation

Embed Size (px)

Citation preview

Page 1: 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

Page 2: Tony clark  caise 13-presentation

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

Page 3: Tony clark  caise 13-presentation

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

Page 4: Tony clark  caise 13-presentation

Modelling Languages and Tools

Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language

Page 5: Tony clark  caise 13-presentation

Modelling Languages and Tools

Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language

Page 6: Tony clark  caise 13-presentation

Modelling Languages and Tools

Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language

Page 7: Tony clark  caise 13-presentation

Modelling Languages and Tools

Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language

Page 8: Tony clark  caise 13-presentation

Modelling Languages and Tools

Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language

Page 9: Tony clark  caise 13-presentation

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

Page 10: Tony clark  caise 13-presentation

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

Page 11: Tony clark  caise 13-presentation

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

Page 12: Tony clark  caise 13-presentation

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

Page 13: Tony clark  caise 13-presentation

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

Page 14: Tony clark  caise 13-presentation

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

Page 15: Tony clark  caise 13-presentation

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

Page 16: Tony clark  caise 13-presentation

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

Page 17: Tony clark  caise 13-presentation

Approaches: Power-Types

Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language

Page 18: Tony clark  caise 13-presentation

Approaches: Pan Level ModellingAtkinson and Gutheil

Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language

Page 19: Tony clark  caise 13-presentation

Approaches: PotencyAtkinson and Kühne

Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language

Page 20: Tony clark  caise 13-presentation

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

Page 21: Tony clark  caise 13-presentation

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

Page 22: Tony clark  caise 13-presentation

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

Page 23: Tony clark  caise 13-presentation

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

Page 24: Tony clark  caise 13-presentation

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

Page 25: Tony clark  caise 13-presentation

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

Page 26: Tony clark  caise 13-presentation

Animals Package as an Object

Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language

Page 27: Tony clark  caise 13-presentation

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

Page 28: Tony clark  caise 13-presentation

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

Page 29: Tony clark  caise 13-presentation

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

Page 30: Tony clark  caise 13-presentation

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

Page 31: Tony clark  caise 13-presentation

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

Page 32: Tony clark  caise 13-presentation

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

Page 33: Tony clark  caise 13-presentation

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

Page 34: Tony clark  caise 13-presentation

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

Page 35: Tony clark  caise 13-presentation

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

Page 36: Tony clark  caise 13-presentation

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

Page 37: Tony clark  caise 13-presentation

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

Page 38: Tony clark  caise 13-presentation

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

Page 39: Tony clark  caise 13-presentation

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

Page 40: Tony clark  caise 13-presentation

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

Page 41: Tony clark  caise 13-presentation

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

Page 42: Tony clark  caise 13-presentation

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

Page 43: Tony clark  caise 13-presentation

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

Page 44: Tony clark  caise 13-presentation

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

Page 45: Tony clark  caise 13-presentation

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

Page 46: Tony clark  caise 13-presentation

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

Page 47: Tony clark  caise 13-presentation

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

Page 48: Tony clark  caise 13-presentation

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

Page 49: Tony clark  caise 13-presentation

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

Page 50: Tony clark  caise 13-presentation

Tool ApplicationRunning against objects

Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language

Page 51: Tony clark  caise 13-presentation

Tool ApplicationRunning against objects

Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language

Page 52: Tony clark  caise 13-presentation

Tool ApplicationRunning against types

Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language

Page 53: Tony clark  caise 13-presentation

Tool ApplicationRunning against types

Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language

Page 54: Tony clark  caise 13-presentation

Tool ApplicationRunning against types

Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language

Page 55: Tony clark  caise 13-presentation

Tool ApplicationRunning against meta-types

Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language

Page 56: Tony clark  caise 13-presentation

Tool ApplicationRunning against everything

Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language

Page 57: Tony clark  caise 13-presentation

Tool ApplicationRunning against meta-meta-types

Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language

Page 58: Tony clark  caise 13-presentation

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

Page 59: Tony clark  caise 13-presentation

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

Page 60: Tony clark  caise 13-presentation

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

Page 61: Tony clark  caise 13-presentation

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

Page 62: Tony clark  caise 13-presentation

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