SlideShare a Scribd company logo
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

More Related Content

What's hot

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 2014
Cognitum
 
Ontology languages and OWL
Ontology languages and OWLOntology languages and OWL
Ontology languages and OWL
Fulvio Corno
 
referát.doc
referát.docreferát.doc
referát.doc
butest
 
Py jail talk
Py jail talkPy 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
Editor IJARCET
 
Object-oriented Programming in Python
Object-oriented Programming in PythonObject-oriented Programming in Python
Object-oriented Programming in Python
Juan-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 Ontologies
Jie Bao
 

What's hot (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
 

Viewers also liked

Making Industrial Touch A Reality
Making Industrial Touch A RealityMaking Industrial Touch A Reality
Making Industrial Touch A Reality
Avnet Electronics Marketing
 
Observations aw
Observations awObservations aw
Observations aw
Alex Woo
 
Pten Proteins - Molecualr Basis
Pten Proteins -  Molecualr BasisPten Proteins -  Molecualr Basis
Pten Proteins - Molecualr Basis
Liza Á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_LR
Jorge I. Villacis Gallo
 
Munduari bira
Munduari biraMunduari bira
Munduari bira
berangokudeaketa
 
Kurukshetra
KurukshetraKurukshetra
Kurukshetra
Bhushan Maskay
 
Convexity calls
Convexity callsConvexity calls
Convexity calls
Bhushan Maskay
 
Budget templates 2012 2013 - imports
Budget templates 2012 2013 - importsBudget templates 2012 2013 - imports
Budget templates 2012 2013 - imports
Teamglobal_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
 
Air budget templates 13 14
Air budget templates 13 14Air budget templates 13 14
Air budget templates 13 14
Teamglobal_Corporate
 
Deviation Detection in Process Enactment
Deviation Detection in Process EnactmentDeviation Detection in Process Enactment
Deviation Detection in Process Enactment
Fahad Golra
 
Confederac arg y bs as 2
Confederac arg y bs as 2Confederac arg y bs as 2
Confederac arg y bs as 2
Esteban Abalo
 
Budget templates 2013 2014 - exports
Budget templates 2013  2014 - exportsBudget templates 2013  2014 - exports
Budget templates 2013 2014 - exports
Teamglobal_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 2013
JORGEMUSPRIME
 
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
 
Portfolio
PortfolioPortfolio
Portfolio
luizhonaiser
 
Hastkala
HastkalaHastkala
Hastkala
Bhushan Maskay
 
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
Avnet Electronics Marketing
 

Viewers also liked (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
 

More from Fahad Golra

Seance 4- Programmation en langage C
Seance 4- Programmation en langage CSeance 4- Programmation en langage C
Seance 4- Programmation en langage C
Fahad 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 C
Fahad Golra
 
Seance 1 - Programmation en langage C
Seance 1 - Programmation en langage CSeance 1 - Programmation en langage C
Seance 1 - Programmation en langage C
Fahad Golra
 
Tutorial 4 - Basics of Digital Photography
Tutorial 4 - Basics of Digital PhotographyTutorial 4 - Basics of Digital Photography
Tutorial 4 - Basics of Digital Photography
Fahad Golra
 
Tutorial 3 - Basics of Digital Photography
Tutorial 3 - Basics of Digital PhotographyTutorial 3 - Basics of Digital Photography
Tutorial 3 - Basics of Digital Photography
Fahad Golra
 
Tutorial 2 - Basics of Digital Photography
Tutorial 2 - Basics of Digital PhotographyTutorial 2 - Basics of Digital Photography
Tutorial 2 - Basics of Digital Photography
Fahad Golra
 
Tutorial 1 - Basics of Digital Photography
Tutorial 1 - Basics of Digital PhotographyTutorial 1 - Basics of Digital Photography
Tutorial 1 - Basics of Digital Photography
Fahad Golra
 
Lecture 9 - Java Persistence, JPA 2
Lecture 9 - Java Persistence, JPA 2Lecture 9 - Java Persistence, JPA 2
Lecture 9 - Java Persistence, JPA 2
Fahad 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-RS
Fahad Golra
 
Lecture 6 Web Sockets
Lecture 6   Web SocketsLecture 6   Web Sockets
Lecture 6 Web Sockets
Fahad Golra
 
Lecture 5 JSTL, custom tags, maven
Lecture 5   JSTL, custom tags, mavenLecture 5   JSTL, custom tags, maven
Lecture 5 JSTL, custom tags, maven
Fahad 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: Servlets
Fahad Golra
 
Lecture 1: Introduction to JEE
Lecture 1:  Introduction to JEELecture 1:  Introduction to JEE
Lecture 1: Introduction to JEE
Fahad Golra
 
Lecture 3: Servlets - Session Management
Lecture 3:  Servlets - Session ManagementLecture 3:  Servlets - Session Management
Lecture 3: Servlets - Session Management
Fahad Golra
 

More from 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
 

Recently uploaded

Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Public CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptxPublic CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptx
marufrahmanstratejm
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
Hiike
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
alexjohnson7307
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 

Recently uploaded (20)

Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Public CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptxPublic CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptx
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 

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