Meta l metacase tools & possibilities
-
Upload
fahad-golra -
Category
Technology
-
view
266 -
download
0
Transcript of Meta l metacase tools & possibilities
![Page 1: Meta l metacase tools & possibilities](https://reader035.fdocuments.net/reader035/viewer/2022070315/554dd66fb4c905c70e8b4c04/html5/thumbnails/1.jpg)
MetaL MetaCASE Tools & Possibilities
Fahad Rafique Golra
11/04/2023 Département Informatique
![Page 2: Meta l metacase tools & possibilities](https://reader035.fdocuments.net/reader035/viewer/2022070315/554dd66fb4c905c70e8b4c04/html5/thumbnails/2.jpg)
Département Informatique Fahad R. Golrapage 2
Table of Contents
1. MetaL1
2. MetaL2
3. Examples
4. Benefits
5. Discussion
![Page 3: Meta l metacase tools & possibilities](https://reader035.fdocuments.net/reader035/viewer/2022070315/554dd66fb4c905c70e8b4c04/html5/thumbnails/3.jpg)
page 3
MetaL Language
Two distinct layers
• MetaL 1 (minimal kernel language)• MetaL 2 (formal foundation)
Département Informatique Fahad R. Golra
![Page 4: Meta l metacase tools & possibilities](https://reader035.fdocuments.net/reader035/viewer/2022070315/554dd66fb4c905c70e8b4c04/html5/thumbnails/4.jpg)
MetaL 1 Repository
Everything in the repository is a dataobject (D: set of all dataobjects)
Facets of Dataobject• Object (O: set of all objects) • Properties (P: set of all properties)
« facet of » defines the hidden dataobject
A dataobject can be a property, an object or both
Département Informatique Fahad R. Golrapage 4
:domain P O:range P O
:fo O P D
![Page 5: Meta l metacase tools & possibilities](https://reader035.fdocuments.net/reader035/viewer/2022070315/554dd66fb4c905c70e8b4c04/html5/thumbnails/5.jpg)
Properties & Objects
op has both a property and an object facet
Département Informatique Fahad R. Golrapage 5
1 2 3, , ,o o o op O
,op q P
![Page 6: Meta l metacase tools & possibilities](https://reader035.fdocuments.net/reader035/viewer/2022070315/554dd66fb4c905c70e8b4c04/html5/thumbnails/6.jpg)
Dataobject Types
The objet type, OT is a subset of O
The property type, PT is a subset of P Instance-type relationship is modeled as
A property has exactly one property type Every object has atleast one object type
Département Informatique Fahad R. Golrapage 6
p Ttype P P o Ttype O O ,
defo
ox y type x y
,p def
px y type x y
![Page 7: Meta l metacase tools & possibilities](https://reader035.fdocuments.net/reader035/viewer/2022070315/554dd66fb4c905c70e8b4c04/html5/thumbnails/7.jpg)
Types
The domain (resp. range) of a property must be an instance of the domain (resp. range) of its property type.
and
Département Informatique Fahad R. Golrapage 7
( ) ( )o
domain p domain pt
( ) ( )o
range p range pt
![Page 8: Meta l metacase tools & possibilities](https://reader035.fdocuments.net/reader035/viewer/2022070315/554dd66fb4c905c70e8b4c04/html5/thumbnails/8.jpg)
Object values
Object values are specialized objects that hold value
If then where T denotes any type N,B, …
The object value sets are disjoint and are all included in O.
Département Informatique Fahad R. Golrapage 8
: B Sval O O O O O B S
Tx O ( )val x T
![Page 9: Meta l metacase tools & possibilities](https://reader035.fdocuments.net/reader035/viewer/2022070315/554dd66fb4c905c70e8b4c04/html5/thumbnails/9.jpg)
Inheritance & Name
isa relationship
Object types inherit properties from their supertypes
Object and property types have unique names
Département Informatique Fahad R. Golrapage 9
T Tisa O O
*( , ) ( , )o otype o t t isa t type o t
, : ( ) ( )Tx y O name x name y x y
1 2 1 2, : ( ) ( )Tp p P name p name p * *
1 2 1 2( ( )) ( ( ))Fam domain p Fam domain p p p
![Page 10: Meta l metacase tools & possibilities](https://reader035.fdocuments.net/reader035/viewer/2022070315/554dd66fb4c905c70e8b4c04/html5/thumbnails/10.jpg)
MetaL1 Specification
Root object type () and property type ()
() is an instance of root object type and supertype of the elementary types
For example:
Département Informatique Fahad R. Golrapage 10
( , )N T N NT O O isa T
( , ) ( , )o N o N Ntype T type T T
( ) 0 ( ) intN Nval T name T
![Page 11: Meta l metacase tools & possibilities](https://reader035.fdocuments.net/reader035/viewer/2022070315/554dd66fb4c905c70e8b4c04/html5/thumbnails/11.jpg)
Elementry Types
Each object value is typed by exactly two types
Département Informatique Fahad R. Golrapage 11
: ( , ) ( , ) 2o N o N oO type o T type o
![Page 12: Meta l metacase tools & possibilities](https://reader035.fdocuments.net/reader035/viewer/2022070315/554dd66fb4c905c70e8b4c04/html5/thumbnails/12.jpg)
Example
To model: Albert and Bernard are two persons who have the same age, they are 45 years old.
Département Informatique Fahad R. Golrapage 12
![Page 13: Meta l metacase tools & possibilities](https://reader035.fdocuments.net/reader035/viewer/2022070315/554dd66fb4c905c70e8b4c04/html5/thumbnails/13.jpg)
Integrity
If some object is deleted
- If is a property whose for some and if then must also be
deleted.
- If is a property whose for some and if then must also be
deleted.
If some property is deleted
- If , then must be deleted
- If , then must be deleted
Département Informatique Fahad R. Golrapage 13
o O
p P
p P
p P
( ) ( , )p tdomain p o type p p true
( ) ( , )p trange p o type p p true
t Tp P
t Tp P
( )range p
( )domain p
( )tdr kind p
( )trd kind p
( )tpd kind p
( )tpr kind p
( )domain p
( )range p
![Page 14: Meta l metacase tools & possibilities](https://reader035.fdocuments.net/reader035/viewer/2022070315/554dd66fb4c905c70e8b4c04/html5/thumbnails/14.jpg)
MetaL 2 Metametamodel
CommonMetaObject
- Default supertype of all other metaclasses CommonMetaModel
- Default supertype of all constructs denoting metamodels
- Inherits from CommonMetaObject MetaObject
- Key metaclass as main concept
- Generalizes MetaRole, MetaProperty, MetaModel
- Has a unique name
Département Informatique Fahad R. Golrapage 14
![Page 15: Meta l metacase tools & possibilities](https://reader035.fdocuments.net/reader035/viewer/2022070315/554dd66fb4c905c70e8b4c04/html5/thumbnails/15.jpg)
MetaL 2 Metametamodel
MetaProperty
- Adds slots to metaobjects
- Inherits from MetaObject
- Domain of cardP property which limits the number of concrete properties
- Cardinality -1 is considered infinite, otherwise ≥ 1
- Must have exactly one cardinality and one type
- Cardinality is the range of exactly one metaproperty
Département Informatique Fahad R. Golrapage 15
![Page 16: Meta l metacase tools & possibilities](https://reader035.fdocuments.net/reader035/viewer/2022070315/554dd66fb4c905c70e8b4c04/html5/thumbnails/16.jpg)
MetaL 2 Metametamodel
MetaRole
- Both object type and property type
- As object type, subtype of MetaObject
- As property type, has MetaObject object type as domain and range
- Domain of cardR property, where cardR denotes one-to-one(0), one-to-many(1), many-to-one(4), many-to-many(5), manys-to-manys(10).
- Cardinality is the range of exactly one metarole
Département Informatique Fahad R. Golrapage 16
![Page 17: Meta l metacase tools & possibilities](https://reader035.fdocuments.net/reader035/viewer/2022070315/554dd66fb4c905c70e8b4c04/html5/thumbnails/17.jpg)
MetaL 2 Metametamodel
MetaModel
- Aggregate concept defined by a set of metaobjects
- Inherits from CommonMetaModel
- PartWhole metaRole has CommonMetaObject as domain and CommonMetaModel as range.
- PartWhole is domain of – nickname:optional, unicity of name inside a metamodel– canNotBeShared: allows sharing in metamodels– isNotDependentOn: dependency of object on metamodel– isHidden: hiding technical details
Département Informatique Fahad R. Golrapage 17
![Page 18: Meta l metacase tools & possibilities](https://reader035.fdocuments.net/reader035/viewer/2022070315/554dd66fb4c905c70e8b4c04/html5/thumbnails/18.jpg)
Example
PartWhole
- metametamodel – metaclass
- statechart – state
- coffemachine - IDLE
Département Informatique Fahad R. Golrapage 18
![Page 19: Meta l metacase tools & possibilities](https://reader035.fdocuments.net/reader035/viewer/2022070315/554dd66fb4c905c70e8b4c04/html5/thumbnails/19.jpg)
MetaL 2 Metametamodel
Inheritence
- MetaObjects can inherit from other MetaObjects
- Multiple inheritance is allowed
- Cycles are forbidden in the generalization graph
- Inheritance between metamodels is allowed
Département Informatique Fahad R. Golrapage 19
( , )oMM type MetaModel
![Page 20: Meta l metacase tools & possibilities](https://reader035.fdocuments.net/reader035/viewer/2022070315/554dd66fb4c905c70e8b4c04/html5/thumbnails/20.jpg)
MetaL 2 Metametamodel
Département Informatique Fahad R. Golrapage 20
![Page 21: Meta l metacase tools & possibilities](https://reader035.fdocuments.net/reader035/viewer/2022070315/554dd66fb4c905c70e8b4c04/html5/thumbnails/21.jpg)
MetaL 2 Concrete Layer
ConcreteObjects
- Instance of metaobject which is instance of MetaObject
- Can belong to several concrete models
- Can not live outside the definition of atleast one concrete model
Concrete Property
- Valued slot attached to concrete object
- Can be shared by multiple concrete objects
- As its a metaobject so it can own properties, roles etc
Département Informatique Fahad R. Golrapage 21
![Page 22: Meta l metacase tools & possibilities](https://reader035.fdocuments.net/reader035/viewer/2022070315/554dd66fb4c905c70e8b4c04/html5/thumbnails/22.jpg)
MetaL 2 Concrete Layer
Concrete Roles
- Has property and object facets
- Links two objects and can be a domain/range of property
- Respects cardinality
Concrete Models
- Instance of metamodel which is an instance of MetaModel
- Composed of concrete objects that are instance of metaobjects in metamodel definition.
Département Informatique Fahad R. Golrapage 22
![Page 23: Meta l metacase tools & possibilities](https://reader035.fdocuments.net/reader035/viewer/2022070315/554dd66fb4c905c70e8b4c04/html5/thumbnails/23.jpg)
Example Coffee Machine (state chart)
Département Informatique Fahad R. Golrapage 23
Instance of/Conforms to« state name » a property or an object
RedundancyProperties can have properties then MetaRolesare redundant
![Page 24: Meta l metacase tools & possibilities](https://reader035.fdocuments.net/reader035/viewer/2022070315/554dd66fb4c905c70e8b4c04/html5/thumbnails/24.jpg)
General Benefits
- Meta(models) can overlap
- Sharing between (meta)models is fine-grained: (meta)objects, (meta)models, …
- Multiple instantiation
- Free from instance/type delimitation in modeling layers
- Granularity: meta(models) are meta(objects)
- Metamodel refinement: As metamodels can be extended further and refined.
Département Informatique Fahad R. Golrapage 24
![Page 25: Meta l metacase tools & possibilities](https://reader035.fdocuments.net/reader035/viewer/2022070315/554dd66fb4c905c70e8b4c04/html5/thumbnails/25.jpg)
Example
Département Informatique Fahad R. Golrapage 25
![Page 26: Meta l metacase tools & possibilities](https://reader035.fdocuments.net/reader035/viewer/2022070315/554dd66fb4c905c70e8b4c04/html5/thumbnails/26.jpg)
Points for discussion
• Having shared objects can help transformations, as some part of the (meta)model remains constant in transformation
• Maintaining metamodel families by transformations without referential redundancies
• As other terminal languages can be defined on top MetaL1, so a complete family of of DSLs can exist e.g. for Component Oriented Programming.
Département Informatique Fahad R. Golrapage 26
![Page 27: Meta l metacase tools & possibilities](https://reader035.fdocuments.net/reader035/viewer/2022070315/554dd66fb4c905c70e8b4c04/html5/thumbnails/27.jpg)
References
1. V. Englebert. MetaL1: a formal specification. Technical Report, University of Namur – PRECISE Research Centre, Belgique, May 2010.
2. V. Englebert. MetaL2: a formal specification. Technical Report, University of Namur – PRECISE Research Centre, Belgique, May 2010.
3. V. Englebert, P. Heymans, “Towards More Extensive MetaCASE Tools”, In: Proceedings of CAiSE 2007, Springer-Verlag Berlin Heidelberg, pp 454–468, 2007.
Département Informatique Fahad R. Golrapage 27