ME training - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

ME training

Description:

'change of a class name in one place reflects elsewhere', etc. ... few participation & team. communication, roles. quite a many processes. quite many notations, and ... – PowerPoint PPT presentation

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

less

Transcript and Presenter's Notes

Title: ME training


1
Metamodeling and method engineering Metamodeling
languages
  • Juha-Pekka Tolvanen
  • 3.3.2004
  • Lecture 4 Metamodeling languages
  • Contents
  • Definitions
  • Examples of metamodeling languages

2
Defining metamodeling and metamodels
  • Models play a crucial role in ME, as in all
    engineering.
  • A metamodel is a conceptual model of an ISD
    method.
  • one level of abstraction higher than normal
    models
  • Metamodeling is a modeling process which takes
    place one level of abstraction and logic higher

3
4 level architecture of IRDS by ISO
  • IRDS Reference model
  • The IRD Definition Schema Level
  • A metametamodel according to which the IRD
    Definition level objects can be described.
  • e.g. concept (Wijers 1991) or OPRRs Object
    metatype (Smolander 1992).
  • IRD Definition level
  • Schemata and application programs specs
  • Metaclass level of languages such as Smalltalk.
  • Metamodels
  • e.g. specification of UML
  • The IRD level
  • DB schemata and app. programs
  • Class level of class-based languages
  • Models
  • e.g. Customer entity
  • The application level
  • Application data and execution.
  • Instances of class-based languages.
  • Instances
  • e.g. Customer Juha-Pekka

4
Model architecture (OMG)
Metametamodel
Relationship
Property
Graph
Object
Role
Metamodel
Button
Alarm
InstanceOf
InstanceOf
InstanceOf
Model
Wake
Down
Sets
InstanceOf
System in operation
Down button pressed
5
ISOs IRDS framework
  • Information Resources Dictionary Standard shows
    that
  • at least four levels of instantiation are
    necessary
  • to integrate the modeling of the usage and
    evolution of Iss
  • with interlocking pairs (instance-type pair)
  • Method Engineering focus on
  • defining IRD Definition level (i.e. metamodels)
    based on
  • IRD Definition Schema level

ME
ISD
Use of IS
6
An instance example starting point for
metamodeling
  • Instance (model)
  • What is the structure of the method for modeling
  • activities/tasks,
  • order between tasks,
  • material flow,
  • information flow,
  • rules for flows,
  • triggers for initiating tasks,
  • (references between models)

7
An example metamodel
  • Types (metamodel)
  • Includes all the type information
  • object (types)
  • relationship (types)
  • property (types)
  • ...

8
Type-instance pair Some mappings between the
levels
9
An example a modeling method based on the
metamodel
10
Use of metamodels
  • Metamodels make methods explicit!
  • we can discuss and analyze them
  • Systematize and formalize method knowledge
  • CASE tool and repository implementation
  • mapping to generators and other tools
  • interfacing tools (e.g. CDIF XMI)
  • compare methods
  • support standardization efforts (e.g. OMGs UML)
  • Types of metamodels
  • Meta-data models (static structure of method)
  • Process models (dynamic part of method)
  • No modeling is possible without some sort of
    (explicit or implicit) metamodel!

11
First metamodeling task DFD
  • What (meta)elements you can detect from the DFD
  • Objects?
  • Relationships?
  • Rules?
  • Linkages to other models?
  • Structure Chart?
  • Entity-Relationship Diagram?
  • Others?
  • Mappings to
  • code?
  • testing material?
  • ?

12
Implementing metamodels
  • Metamodels support implementation of
    situation-specific development tools (modeling,
    interfaces, transformations)
  • Metamodel of ERD ERD Modeling (based on
    the metamodel)

13
Example metamodel Booch
14
Booch in use
15
Metamodeling languages
  • Metamodeling is based on languages too!
  • These vary from purpose
  • illustrating vs. formalizing methods
  • build tool support?
  • meta-data model v.s. process model vs. etc.
  • What kind of representation for metamodels
  • graphical (ER, NIAM, OPRR, GOPRR, MOF)
  • matrix (O/A Matrix),
  • text (ObjectZ, MDL, MEL, MOF), or
  • form based (GOPRR)

Discussion Which of these should be preferred?
16
A short review to modeling power of metamodeling
languages
  • Example from object-oriented design method
  • the life-cycle of class instances must be
    specified with one or more state models.
  • A state model contains states and transitions
    between two states.
  • A state must be specified by a name and a class
    may have only one state with a given name.
  • Each transition must be specified with an action
    which is executed when a transition occurs.
  • An action is specified as an operation of a class.

17
Partial example STD
18
Metamodeling languages ER
  • What is missing from the metamodel
  • Different modeling languages? (mapping of action)
  • Transitions should be always connected to states?
  • Mandatory state name?
  • Unique names?
  • ?

19
Metamodeling languages OPRR
  • What is missing from the metamodel
  • Different modeling languages?
  • mapping of action to an operation of a class
  • mapping of state (model) to class
  • Mandatory state names?
  • Unique names?
  • ?

20
Metamodeling languages CoCoA
  • What is missing from the metamodel
  • Transition and state mapping to (notation)
    different types
  • Dependency of operations to actions
  • Mandatory attributes
  • Unique states
  • ?

21
Metamodeling languages NIAM
  • What is missing from the metamodel
  • Transition and state mapping to (notation)
    different types
  • Interconnected methods?
  • Linkage between action and operation
  • ?

22
Metamodeling languages GOPRR
  • What is missing from the metamodel
  • How many state models a class can have?
  • Uniqueness of states (for one class)?
  • Mandatory values?
  • ?

23
Use of meta-data models in ISD
  • By specifying the conceptual structure of a
    method metamodels can cover support for
  • Abstraction and modeling
  • modeling editors and other tools (reuse, naming
    conventions)
  • Consistency checking and maintenance
  • change of a class name in one place reflects
    elsewhere, etc.
  • integration and linkages between methods
  • Form conversion
  • code generation, testing material, etc.
  • exports to other tools
  • Review
  • documentation, summary reports

24
Metamodeling approaches
  • Metamodels address partial aspects of the method
  • few values assumptions
  • some decision making
  • history
  • few participation team
  • communication, roles
  • quite a many processes
  • quite many notations, and
  • mostly conceptual structures
  • We focus to the last two!

25
Meta-data modeling
  • A metadatamodel specifies
  • languages and representations,
  • links between the language constructs,
  • consistency checks, and instance population rules
  • transformation rules between the language
    constructs (syntax, representation style)

26
Process (or meta-activity) modeling
  • A process model specifies
  • development tasks, e.g.
  • phases
  • tasks
  • steps
  • reviews
  • milestones
  • checking
  • transformations
  • decisions
  • sequence and composition of tasks
  • conditions and rules between tasks

27
Agent models
  • An agent model specifies
  • usage of CASE environment, human and technical
    agents
  • organization structure role models
  • communication model
Write a Comment
User Comments (0)
About PowerShow.com