SlideShare uma empresa 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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Destaque

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
 

Destaque (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
 

Mais 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
 

Mais 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

Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
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
 
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 Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 

Último (20)

Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
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
 
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 Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
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
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 

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