tony clark caise 13-presentation

Post on 27-Jun-2015

59 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related