Metamodeling and method engineering GOPRR metamodeling language - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

Metamodeling and method engineering GOPRR metamodeling language

Description:

A collection of object, relationship and role types, and bindings ... Object type names are typically nouns. Objects are ... type names are generally nouns or ... – PowerPoint PPT presentation

Number of Views:81
Avg rating:3.0/5.0
Slides: 20
Provided by: juhapekka
Category:

less

Transcript and Presenter's Notes

Title: Metamodeling and method engineering GOPRR metamodeling language


1
Metamodeling and method engineering GOPRR
metamodeling language
  • Juha-Pekka Tolvanen
  • 8.3.2004
  • Lecture 5 GOPRR metamodeling language
  • Contents
  • Syntax and semantics
  • Instance examples
  • Metamodeling task

2
Metamodeling concepts of GOPRR
  • Concepts
  • Graph
  • Object
  • Property
  • Role
  • Relationship
  • Port
  • Rules, e.g.
  • Max 1
  • Min 1
  • Unique, etc
  • Links between models
  • Reuse rules

3
GOPRR metamodeling concepts
  • What (meta)elements GOPRR detect from the DFD
  • Graphs and their contents
  • Objects
  • Relationships
  • Roles
  • Bindings among Objs, Rels, Roles
  • Properties
  • Links of properties to other non-properties
  • Linkages to other models

4
Metamodeling languages Graph
  • A concept of GRAPH
  • A collection of object, relationship and role
    types, and bindings describing how these can be
    connected.
  • reuse of objects, relationships and roles
  • binds a set of object, relationship and role
    types
  • Binding can be n-ary, method specifies
    cardinality of each role type
  • Bindings can have connectivity rules (e.g. single
    inheritance allowed only)
  • A graph type usually denotes a modeling
    technique
  • class diagrams
  • state diagram
  • Has properties in the same way as an object
  • class model has a name, owner, date, version.
  • Represented by a window symbol

5
Metamodeling languages Object
  • A concept of OBJECT
  • An object describes a thing that can exist on its
    own (independently of relationships and roles)
  • Object type names are typically nouns.
  • Objects are part of a graph
  • Objects can be characterized with properties
  • Examples
  • process
  • class
  • attribute
  • Represented by a rectangle

6
Metamodeling languages Property
  • A concept of PROPERTY
  • Properties describe characteristics of instances
    of other types.
  • Property type names are generally nouns or
    adverbs.
  • Examples include class name, cardinality, and
    attributes.
  • Each property type has a basic data type (e.g.
    number, string, Boolean, text, another type
    (graph, object, role or relationship), or a
    collection of one of these).
  • A collection data type is represented with a
    double ellipse.

7
Property definition Properties of class
8
Metamodeling languages Relationship
  • A concept of RELATIONSHIP
  • A relationship can exists between objects. It
    connects objects through roles.
  • Semantically, relationships are usually verbs,
    but relationship type names are sometimes also
    nouns or adverbs.
  • Examples include
  • inheritance
  • call
  • usage
  • Represented by a diamond

9
Metamodeling languages Role
  • A concept of ROLE
  • A role specifies how an object participates in a
    relationship.
  • Semantically, roles are adverbs. Role type names
    are often prepositional phrases or verbs.
  • Examples include
  • subclass
  • from
  • receives
  • Represented by a circle

10
Metamodeling languages Inclusion
  • An inclusion relationship can exist between a
    graph type and its components (i.e. object,
    relationship, and role types).
  • Inclusion is used to combine all the main
    components of a technique.
  • Inclusion is many-to-many, so that the same type
    can belong to many graph types.
  • Graph forms an unit for some rules
  • cardinality
  • connectivity
  • explosions

11
Metamodeling languages Binding
  • Participation
  • An object type can participate in zero to many
    role types.
  • In a graph type, a role type must be related to
    at least one object type.
  • Composition
  • Relationship types are related with at least two
    compositions to role instances
  • Role instances note cardinality constraint
  • Together with a participation, this forms a
    binding
  • Each role type in a binding is characterized with
    a cardinality constraint describing
  • how many instances of this role type must
    (minimum) or
  • may (maximum) occur in an instantiation of this
    binding
  • Graph constraints for binary/n-ary relationships

12
Metamodeling languages Property of
  • A property can characterize instances of other
    types (i.e. non-properties).
  • This relation is described in a metamodel with
    the property of relationship.
  • Each property of relationship is specified
    further with three constraints
  • 1) Id to describe if the property type is used as
    a naming property (a non-property type can have
    only one id),
  • 2) Uniqueness to specify if there is no
    duplication of property values allowed among
    instantiations of this property of
    relationship, and
  • 3) Local name to define a name for this use of
    the property type.
  • two non-property types can refer to the same
    property type but with different labels

13
Metamodeling languages Property link
  • The data type of a property type can be itself a
    non-property type
  • This is defined with a property link relationship
    from the property type to a non-property type
  • Same property can be shared by different objects,
    e.g.
  • operation name of class
  • event of state transition

14
Metamodeling languages Explosion
  • An object, relationship or role can be linked to
    one or more graphs via an explosion
  • Explosion is typically used between different
    graph types
  • Explosion is graph-sensitive
  • the same object can explode elsewhere in another
    graph
  • Examples include that a process in a data flow
    diagram can be related to a state diagram and to
    process specifications

15
Metamodeling languages Decomposition
  • An object can be decomposed into a new graph.
  • This feature is known as functional decomposition
    in data flow diagrams, or leveling of graphs to
    form a hierarchy
  • The decomposition target is typically of the same
    graph type as the sources containing graph
  • Only one decomposition is allowed for each object
    instance, and it applies in all graphs containing
    that object
  • There may be a set of graph types specified as
    possible decomposition targets for an object
    type, and this set may be different in each graph
    type where this object type is used.

16
Example mapping resources to org
17
A larger example BPR
18
Metamodeling task
  • Make a metamodel of DFD by using GOPRR

19
About metamodel presentation
  • Graphical models good when designing the method
  • MetaEdit applies form-based metamodeling tools

Rules
Generators
3
4
1
2
Concepts
Symbols
Write a Comment
User Comments (0)
About PowerShow.com