SlideShare una empresa de Scribd logo
1 de 27
MetaL MetaCASE Tools &
                         Possibilities


                         Fahad Rafique Golra




19/03/2012   Département Informatique
Table of Contents




                        1.    MetaL1
                        2.    MetaL2
                        3.    Examples
                        4.    Benefits
                        5.    Discussion
page 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 both

page 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 facet



page 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 type


page 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   p2


page 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 ) int


page 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, )      2

page 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 deleted



page 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 name

page 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 metaproperty



page 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 metarole



page 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 details


page 16   Département Informatique            Fahad R. Golra
Example




       PartWhole

            - metametamodel – metaclass

            - statechart – state

            - coffemachine - IDLE



page 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 Metametamodel




page 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 etc

page 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)
Redundancy
Properties can have
properties then MetaRoles
are redundant




Instance of/Conforms to
« state name » a property
or 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
Example




page 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

Más contenido relacionado

La actualidad más candente

Harold Boley: RuleML/Grailog: The Rule Metalogic Visualized with Generalized ...
Harold Boley: RuleML/Grailog: The Rule Metalogic Visualized with Generalized ...Harold Boley: RuleML/Grailog: The Rule Metalogic Visualized with Generalized ...
Harold Boley: RuleML/Grailog: The Rule Metalogic Visualized with Generalized ...PhiloWeb
 
Representing and Reasoning with Modular Ontologies (2007)
Representing and Reasoning with Modular Ontologies (2007)Representing and Reasoning with Modular Ontologies (2007)
Representing and Reasoning with Modular Ontologies (2007)Jie Bao
 
Introduction to Ontology Engineering with Fluent Editor 2014
Introduction to Ontology Engineering with Fluent Editor 2014Introduction to Ontology Engineering with Fluent Editor 2014
Introduction to Ontology Engineering with Fluent Editor 2014Cognitum
 
Ontology languages and OWL
Ontology languages and OWLOntology languages and OWL
Ontology languages and OWLFulvio Corno
 
referát.doc
referát.docreferát.doc
referát.docbutest
 
Ijarcet vol-2-issue-2-676-678
Ijarcet vol-2-issue-2-676-678Ijarcet vol-2-issue-2-676-678
Ijarcet vol-2-issue-2-676-678Editor IJARCET
 
Object-oriented Programming in Python
Object-oriented Programming in PythonObject-oriented Programming in Python
Object-oriented Programming in PythonJuan-Manuel Gimeno
 
A Semantic Importing Approach to Knowledge Reuse from Multiple Ontologies
A Semantic Importing Approach to Knowledge Reuse from Multiple OntologiesA Semantic Importing Approach to Knowledge Reuse from Multiple Ontologies
A Semantic Importing Approach to Knowledge Reuse from Multiple OntologiesJie Bao
 

La actualidad más candente (9)

Harold Boley: RuleML/Grailog: The Rule Metalogic Visualized with Generalized ...
Harold Boley: RuleML/Grailog: The Rule Metalogic Visualized with Generalized ...Harold Boley: RuleML/Grailog: The Rule Metalogic Visualized with Generalized ...
Harold Boley: RuleML/Grailog: The Rule Metalogic Visualized with Generalized ...
 
Representing and Reasoning with Modular Ontologies (2007)
Representing and Reasoning with Modular Ontologies (2007)Representing and Reasoning with Modular Ontologies (2007)
Representing and Reasoning with Modular Ontologies (2007)
 
Introduction to Ontology Engineering with Fluent Editor 2014
Introduction to Ontology Engineering with Fluent Editor 2014Introduction to Ontology Engineering with Fluent Editor 2014
Introduction to Ontology Engineering with Fluent Editor 2014
 
Ontology languages and OWL
Ontology languages and OWLOntology languages and OWL
Ontology languages and OWL
 
referát.doc
referát.docreferát.doc
referát.doc
 
Py jail talk
Py jail talkPy jail talk
Py jail talk
 
Ijarcet vol-2-issue-2-676-678
Ijarcet vol-2-issue-2-676-678Ijarcet vol-2-issue-2-676-678
Ijarcet vol-2-issue-2-676-678
 
Object-oriented Programming in Python
Object-oriented Programming in PythonObject-oriented Programming in Python
Object-oriented Programming in Python
 
A Semantic Importing Approach to Knowledge Reuse from Multiple Ontologies
A Semantic Importing Approach to Knowledge Reuse from Multiple OntologiesA Semantic Importing Approach to Knowledge Reuse from Multiple Ontologies
A Semantic Importing Approach to Knowledge Reuse from Multiple Ontologies
 

Destacado

Observations aw
Observations awObservations aw
Observations awAlex Woo
 
Pten Proteins - Molecualr Basis
Pten Proteins -  Molecualr BasisPten Proteins -  Molecualr Basis
Pten Proteins - Molecualr BasisLiza Álvarez
 
Ответственность рекламораспространителя общая 2013
Ответственность рекламораспространителя общая 2013Ответственность рекламораспространителя общая 2013
Ответственность рекламораспространителя общая 2013Михаил Хохолков
 
Life cycle services_GS-broschure_130312_LR
Life cycle services_GS-broschure_130312_LRLife cycle services_GS-broschure_130312_LR
Life cycle services_GS-broschure_130312_LRJorge I. Villacis Gallo
 
Budget templates 2012 2013 - imports
Budget templates 2012 2013 - importsBudget templates 2012 2013 - imports
Budget templates 2012 2013 - importsTeamglobal_Corporate
 
Avnet IP&E Technology Guide: Interconnect, Passive and Electromechanical Prod...
Avnet IP&E Technology Guide: Interconnect, Passive and Electromechanical Prod...Avnet IP&E Technology Guide: Interconnect, Passive and Electromechanical Prod...
Avnet IP&E Technology Guide: Interconnect, Passive and Electromechanical Prod...Avnet Electronics Marketing
 
L1 d1(changed) (1)
L1 d1(changed) (1)L1 d1(changed) (1)
L1 d1(changed) (1)lingsee
 
Deviation Detection in Process Enactment
Deviation Detection in Process EnactmentDeviation Detection in Process Enactment
Deviation Detection in Process EnactmentFahad Golra
 
Confederac arg y bs as 2
Confederac arg y bs as 2Confederac arg y bs as 2
Confederac arg y bs as 2Esteban Abalo
 
Budget templates 2013 2014 - exports
Budget templates 2013  2014 - exportsBudget templates 2013  2014 - exports
Budget templates 2013 2014 - exportsTeamglobal_Corporate
 
Newsletter ewg dss nr.12 - year 2013
Newsletter ewg dss nr.12 - year 2013Newsletter ewg dss nr.12 - year 2013
Newsletter ewg dss nr.12 - year 2013JORGEMUSPRIME
 
Problem Exists Between Photoshop and Chair
Problem Exists Between Photoshop and ChairProblem Exists Between Photoshop and Chair
Problem Exists Between Photoshop and ChairÁkos Csertán
 
Avnet Analyst Day 2010 Presentation 4 Technology Solutions
Avnet Analyst Day 2010 Presentation 4 Technology SolutionsAvnet Analyst Day 2010 Presentation 4 Technology Solutions
Avnet Analyst Day 2010 Presentation 4 Technology SolutionsAvnet Electronics Marketing
 

Destacado (20)

Making Industrial Touch A Reality
Making Industrial Touch A RealityMaking Industrial Touch A Reality
Making Industrial Touch A Reality
 
Observations aw
Observations awObservations aw
Observations aw
 
Pten Proteins - Molecualr Basis
Pten Proteins -  Molecualr BasisPten Proteins -  Molecualr Basis
Pten Proteins - Molecualr Basis
 
Ответственность рекламораспространителя общая 2013
Ответственность рекламораспространителя общая 2013Ответственность рекламораспространителя общая 2013
Ответственность рекламораспространителя общая 2013
 
Life cycle services_GS-broschure_130312_LR
Life cycle services_GS-broschure_130312_LRLife cycle services_GS-broschure_130312_LR
Life cycle services_GS-broschure_130312_LR
 
Munduari bira
Munduari biraMunduari bira
Munduari bira
 
Kurukshetra
KurukshetraKurukshetra
Kurukshetra
 
Convexity calls
Convexity callsConvexity calls
Convexity calls
 
Budget templates 2012 2013 - imports
Budget templates 2012 2013 - importsBudget templates 2012 2013 - imports
Budget templates 2012 2013 - imports
 
Avnet IP&E Technology Guide: Interconnect, Passive and Electromechanical Prod...
Avnet IP&E Technology Guide: Interconnect, Passive and Electromechanical Prod...Avnet IP&E Technology Guide: Interconnect, Passive and Electromechanical Prod...
Avnet IP&E Technology Guide: Interconnect, Passive and Electromechanical Prod...
 
L1 d1(changed) (1)
L1 d1(changed) (1)L1 d1(changed) (1)
L1 d1(changed) (1)
 
Air budget templates 13 14
Air budget templates 13 14Air budget templates 13 14
Air budget templates 13 14
 
Deviation Detection in Process Enactment
Deviation Detection in Process EnactmentDeviation Detection in Process Enactment
Deviation Detection in Process Enactment
 
Confederac arg y bs as 2
Confederac arg y bs as 2Confederac arg y bs as 2
Confederac arg y bs as 2
 
Budget templates 2013 2014 - exports
Budget templates 2013  2014 - exportsBudget templates 2013  2014 - exports
Budget templates 2013 2014 - exports
 
Newsletter ewg dss nr.12 - year 2013
Newsletter ewg dss nr.12 - year 2013Newsletter ewg dss nr.12 - year 2013
Newsletter ewg dss nr.12 - year 2013
 
Problem Exists Between Photoshop and Chair
Problem Exists Between Photoshop and ChairProblem Exists Between Photoshop and Chair
Problem Exists Between Photoshop and Chair
 
Portfolio
PortfolioPortfolio
Portfolio
 
Hastkala
HastkalaHastkala
Hastkala
 
Avnet Analyst Day 2010 Presentation 4 Technology Solutions
Avnet Analyst Day 2010 Presentation 4 Technology SolutionsAvnet Analyst Day 2010 Presentation 4 Technology Solutions
Avnet Analyst Day 2010 Presentation 4 Technology Solutions
 

Más de Fahad Golra

Seance 4- Programmation en langage C
Seance 4- Programmation en langage CSeance 4- Programmation en langage C
Seance 4- Programmation en langage CFahad Golra
 
Seance 3- Programmation en langage C
Seance 3- Programmation en langage C Seance 3- Programmation en langage C
Seance 3- Programmation en langage C Fahad Golra
 
Seance 2 - Programmation en langage C
Seance 2 - Programmation en langage CSeance 2 - Programmation en langage C
Seance 2 - Programmation en langage CFahad Golra
 
Seance 1 - Programmation en langage C
Seance 1 - Programmation en langage CSeance 1 - Programmation en langage C
Seance 1 - Programmation en langage CFahad Golra
 
Tutorial 4 - Basics of Digital Photography
Tutorial 4 - Basics of Digital PhotographyTutorial 4 - Basics of Digital Photography
Tutorial 4 - Basics of Digital PhotographyFahad Golra
 
Tutorial 3 - Basics of Digital Photography
Tutorial 3 - Basics of Digital PhotographyTutorial 3 - Basics of Digital Photography
Tutorial 3 - Basics of Digital PhotographyFahad Golra
 
Tutorial 2 - Basics of Digital Photography
Tutorial 2 - Basics of Digital PhotographyTutorial 2 - Basics of Digital Photography
Tutorial 2 - Basics of Digital PhotographyFahad Golra
 
Tutorial 1 - Basics of Digital Photography
Tutorial 1 - Basics of Digital PhotographyTutorial 1 - Basics of Digital Photography
Tutorial 1 - Basics of Digital PhotographyFahad Golra
 
Lecture 9 - Java Persistence, JPA 2
Lecture 9 - Java Persistence, JPA 2Lecture 9 - Java Persistence, JPA 2
Lecture 9 - Java Persistence, JPA 2Fahad Golra
 
Lecture 10 - Java Server Faces (JSF)
Lecture 10 - Java Server Faces (JSF)Lecture 10 - Java Server Faces (JSF)
Lecture 10 - Java Server Faces (JSF)Fahad Golra
 
Lecture 8 Enterprise Java Beans (EJB)
Lecture 8  Enterprise Java Beans (EJB)Lecture 8  Enterprise Java Beans (EJB)
Lecture 8 Enterprise Java Beans (EJB)Fahad Golra
 
Lecture 7 Web Services JAX-WS & JAX-RS
Lecture 7   Web Services JAX-WS & JAX-RSLecture 7   Web Services JAX-WS & JAX-RS
Lecture 7 Web Services JAX-WS & JAX-RSFahad Golra
 
Lecture 6 Web Sockets
Lecture 6   Web SocketsLecture 6   Web Sockets
Lecture 6 Web SocketsFahad Golra
 
Lecture 5 JSTL, custom tags, maven
Lecture 5   JSTL, custom tags, mavenLecture 5   JSTL, custom tags, maven
Lecture 5 JSTL, custom tags, mavenFahad Golra
 
Lecture 4: JavaServer Pages (JSP) & Expression Language (EL)
Lecture 4:  JavaServer Pages (JSP) & Expression Language (EL)Lecture 4:  JavaServer Pages (JSP) & Expression Language (EL)
Lecture 4: JavaServer Pages (JSP) & Expression Language (EL)Fahad Golra
 
Lecture 2: Servlets
Lecture 2:  ServletsLecture 2:  Servlets
Lecture 2: ServletsFahad Golra
 
Lecture 1: Introduction to JEE
Lecture 1:  Introduction to JEELecture 1:  Introduction to JEE
Lecture 1: Introduction to JEEFahad Golra
 
Lecture 3: Servlets - Session Management
Lecture 3:  Servlets - Session ManagementLecture 3:  Servlets - Session Management
Lecture 3: Servlets - Session ManagementFahad Golra
 

Más de Fahad Golra (18)

Seance 4- Programmation en langage C
Seance 4- Programmation en langage CSeance 4- Programmation en langage C
Seance 4- Programmation en langage C
 
Seance 3- Programmation en langage C
Seance 3- Programmation en langage C Seance 3- Programmation en langage C
Seance 3- Programmation en langage C
 
Seance 2 - Programmation en langage C
Seance 2 - Programmation en langage CSeance 2 - Programmation en langage C
Seance 2 - Programmation en langage C
 
Seance 1 - Programmation en langage C
Seance 1 - Programmation en langage CSeance 1 - Programmation en langage C
Seance 1 - Programmation en langage C
 
Tutorial 4 - Basics of Digital Photography
Tutorial 4 - Basics of Digital PhotographyTutorial 4 - Basics of Digital Photography
Tutorial 4 - Basics of Digital Photography
 
Tutorial 3 - Basics of Digital Photography
Tutorial 3 - Basics of Digital PhotographyTutorial 3 - Basics of Digital Photography
Tutorial 3 - Basics of Digital Photography
 
Tutorial 2 - Basics of Digital Photography
Tutorial 2 - Basics of Digital PhotographyTutorial 2 - Basics of Digital Photography
Tutorial 2 - Basics of Digital Photography
 
Tutorial 1 - Basics of Digital Photography
Tutorial 1 - Basics of Digital PhotographyTutorial 1 - Basics of Digital Photography
Tutorial 1 - Basics of Digital Photography
 
Lecture 9 - Java Persistence, JPA 2
Lecture 9 - Java Persistence, JPA 2Lecture 9 - Java Persistence, JPA 2
Lecture 9 - Java Persistence, JPA 2
 
Lecture 10 - Java Server Faces (JSF)
Lecture 10 - Java Server Faces (JSF)Lecture 10 - Java Server Faces (JSF)
Lecture 10 - Java Server Faces (JSF)
 
Lecture 8 Enterprise Java Beans (EJB)
Lecture 8  Enterprise Java Beans (EJB)Lecture 8  Enterprise Java Beans (EJB)
Lecture 8 Enterprise Java Beans (EJB)
 
Lecture 7 Web Services JAX-WS & JAX-RS
Lecture 7   Web Services JAX-WS & JAX-RSLecture 7   Web Services JAX-WS & JAX-RS
Lecture 7 Web Services JAX-WS & JAX-RS
 
Lecture 6 Web Sockets
Lecture 6   Web SocketsLecture 6   Web Sockets
Lecture 6 Web Sockets
 
Lecture 5 JSTL, custom tags, maven
Lecture 5   JSTL, custom tags, mavenLecture 5   JSTL, custom tags, maven
Lecture 5 JSTL, custom tags, maven
 
Lecture 4: JavaServer Pages (JSP) & Expression Language (EL)
Lecture 4:  JavaServer Pages (JSP) & Expression Language (EL)Lecture 4:  JavaServer Pages (JSP) & Expression Language (EL)
Lecture 4: JavaServer Pages (JSP) & Expression Language (EL)
 
Lecture 2: Servlets
Lecture 2:  ServletsLecture 2:  Servlets
Lecture 2: Servlets
 
Lecture 1: Introduction to JEE
Lecture 1:  Introduction to JEELecture 1:  Introduction to JEE
Lecture 1: Introduction to JEE
 
Lecture 3: Servlets - Session Management
Lecture 3:  Servlets - Session ManagementLecture 3:  Servlets - Session Management
Lecture 3: Servlets - Session Management
 

Último

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 

Último (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 

Meta l metacase tools & possibilities

  • 1. MetaL MetaCASE Tools & Possibilities Fahad Rafique Golra 19/03/2012 Département Informatique
  • 2. Table of Contents 1. MetaL1 2. MetaL2 3. Examples 4. Benefits 5. Discussion page 1 Département Informatique Fahad R. Golra
  • 3. MetaL Language  Two distinct layers • MetaL 1 (minimal kernel language) • MetaL 2 (formal foundation) page 2 Département Informatique Fahad R. Golra
  • 4. 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 both page 3 Département Informatique Fahad R. Golra
  • 5. Properties & Objects o1, o2 , o3 , op O op, q P  op has both a property and an object facet page 4 Département Informatique Fahad R. Golra
  • 6. 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 type page 5 Département Informatique Fahad R. Golra
  • 7. 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
  • 8. 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
  • 9. 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 p2 page 8 Département Informatique Fahad R. Golra
  • 10. 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 ) int page 9 Département Informatique Fahad R. Golra
  • 11. Elementry Types  Each object value is typed by exactly two types o ON : typeo (o, TN ) typeo (o, ) 2 page 10 Département Informatique Fahad R. Golra
  • 12. 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
  • 13. 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 deleted page 12 Département Informatique Fahad R. Golra
  • 14. 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 page 13 Département Informatique Fahad R. Golra
  • 15. 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 page 14 Département Informatique Fahad R. Golra
  • 16. 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 page 15 Département Informatique Fahad R. Golra
  • 17. 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 page 16 Département Informatique Fahad R. Golra
  • 18. Example  PartWhole - metametamodel – metaclass - statechart – state - coffemachine - IDLE page 17 Département Informatique Fahad R. Golra
  • 19. 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
  • 20. MetaL 2 Metametamodel page 19 Département Informatique Fahad R. Golra
  • 21. 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 page 20 Département Informatique Fahad R. Golra
  • 22. 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
  • 23. Example Coffee Machine (state chart) Redundancy Properties can have properties then MetaRoles are redundant Instance of/Conforms to « state name » a property or an object page 22 Département Informatique Fahad R. Golra
  • 24. 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
  • 25. Example page 24 Département Informatique Fahad R. Golra
  • 26. 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
  • 27. 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