Meta l metacase tools & possibilities
Upcoming SlideShare
Loading in...5
×
 

Meta l metacase tools & possibilities

on

  • 343 views

 

Statistics

Views

Total Views
343
Views on SlideShare
343
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Meta l metacase tools & possibilities Meta l metacase tools & possibilities Presentation Transcript

  • MetaL MetaCASE Tools & Possibilities Fahad Rafique Golra19/03/2012 Département Informatique
  • Table of Contents 1. MetaL1 2. MetaL2 3. Examples 4. Benefits 5. Discussionpage 1 Département Informatique Fahad R. Golra
  • MetaL Language  Two distinct layers • MetaL 1 (minimal kernel language) • MetaL 2 (formal foundation)page 2 Département Informatique Fahad R. Golra
  • 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) domain : P  O range : P  O « facet of » defines the hidden dataobject fo : O  P  D A dataobject can be a property, an object or bothpage 3 Département Informatique Fahad R. Golra
  • Properties & Objects o1, o2 , o3 , op O op, q P  op has both a property and an object facetpage 4 Département Informatique Fahad R. Golra
  • 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 o def typeo O OT x y typeo x, y typep P PT p def x y type p x, y A property has exactly one property type  Every object has atleast one object typepage 5 Département Informatique Fahad R. Golra
  • Types  Thedomain (resp. range) of a property must be an instance of the domain (resp. range) of its property type. o domain( p)  domain( pt ) and o range( p)  range( pt )page 6 Département Informatique Fahad R. Golra
  • Object values  Object values are specialized objects that hold value val : OB  OS  O  O  O  B  S        If x OT then val ( x) T where T denotes any type N,B, …  The object value sets are disjoint and are all included in O.page 7 Département Informatique Fahad R. Golra
  • Inheritance & Name  isa relationship isa OT OT  Objecttypes inherit properties from their supertypes typeo (o, t ) t isa* t typeo (o, t )  Object and property types have unique names x, y OT : name( x) name( y) x y p1 , p2 P : name( p1 ) name( p2 ) T Fam* (domain( p1 )) Fam* (domain( p2 )) p1 p2page 8 Département Informatique Fahad R. Golra
  • MetaL1 Specification  Root object type ( ) and property type ( ) ( ) is an instance of root object type and supertype of the elementary types  For example: TN OT  ON isa(TN , ) typeo (TN , ) typeo (TN , TN ) val (TN ) 0 name(TN ) intpage 9 Département Informatique Fahad R. Golra
  • Elementry Types  Each object value is typed by exactly two types o ON : typeo (o, TN ) typeo (o, ) 2page 10 Département Informatique Fahad R. Golra
  • Example  To model: Albert and Bernard are two persons who have the same age, they are 45 years old.page 11 Département Informatique Fahad R. Golra
  • Integrity  If some object o O is deleted - If p P is a property whose domain( p) o typep ( p, pt ) true for some pt P and if dr kind ( pt ) then range( p) must also be deleted. T - If p P is a property whose range( p) o typep ( p, pt ) true for some pt P and if rd kind ( p ) then domain( p) must also be deleted. T t  If some property p P is deleted - If pd kind ( pt ) , then domain( p) must be deleted - If pr kind ( pt ) , then range( p) must be deletedpage 12 Département Informatique Fahad R. Golra
  • 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 namepage 13 Département Informatique Fahad R. Golra
  • 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 metapropertypage 14 Département Informatique Fahad R. Golra
  • 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 metarolepage 15 Département Informatique Fahad R. Golra
  • 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 detailspage 16 Département Informatique Fahad R. Golra
  • Example  PartWhole - metametamodel – metaclass - statechart – state - coffemachine - IDLEpage 17 Département Informatique Fahad R. Golra
  • 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 MM typeo ( , MetaModel)page 18 Département Informatique Fahad R. Golra
  • MetaL 2 Metametamodelpage 19 Département Informatique Fahad R. Golra
  • 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 etcpage 20 Département Informatique Fahad R. Golra
  • 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.page 21 Département Informatique Fahad R. Golra
  • Example Coffee Machine (state chart)RedundancyProperties can haveproperties then MetaRolesare redundantInstance of/Conforms to« state name » a propertyor an object page 22 Département Informatique Fahad R. Golra
  • 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.page 23 Département Informatique Fahad R. Golra
  • Examplepage 24 Département Informatique Fahad R. Golra
  • 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.page 25 Département Informatique Fahad R. Golra
  • 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.page 26 Département Informatique Fahad R. Golra