Title: Diagram Definition Facilities Based on Metamodel Mappings
1Diagram Definition Facilities Based on Metamodel
Mappings
- Edgars Celms, Audris Kalnins, Lelde Lace
- University of Latvia, IMCS, Riga, Latvia
- Edgars.Celms_at_mii.lu.lv, Audris.Kalnins_at_mii.lu.lv,
Lelde.Lace_at_mii.lu.lv
2Business Modeling as DSM
- business process modeling - an unstable area with
lot of competing notations having quite similar
semantics (UML Activity diagrams one of them) - generic modeling approach well fit for the area
- specific requirements
- graphical notations must be easily modifiable
- necessity to represent the same domain concepts
via several graphic notations simultaneously
The presented approach offers an efficient
solution to this problem. The approach has been
tested practically in the Generic Modeling Tool
(University of Latvia, Exigen)
3Metamodel structure
Metamodel is split into domain package (typically
determined by domain standards) and presentation
package (graphical syntax)
Domain diagram
Domain package for Activities (part of UML
metamodel)
Diagram core (directed graph)
Presentation package for Activity Diagrams
There may be several presentation packages for
the same domain package alternative notations
4General Principles of Mapping
Classes in presentation package are mapped to
domain package
Generic mapping
Scaffolding principle (relates new mapping to the
existing one)
Context A inv BforA-gtnotEmpty() implies
owner.BCforAC BforA.owner
Context B inv AforB-gtnotEmpty() implies
owner.ACforBC AforB.owner
Correctness rules
Context AContainer inv contents -gt forAll (a
a.BforA-gtnotEmpty() ) and BCforAC-gtnotEmpty()
and BCforAC.contents -gt forAll (b
b.AforB-gtnotEmpty() )
Local completeness
5Simple Mapping Types
Mappings have types defined by schemas. There is
a type library.
Diagram mapping (type D)
Mapping schema for the type 1OT symbol to one
domain class. Symbol mapping relies on diagram
mapping (using scaffolding principle)
Mapping for Activity symbol actually the type
is 1OTD (domain element with definition)
6Mapping for Diagram Lines
Mapping schema for the type L1OT line to a
class in domain. It is based on mappings for
diagram and symbols. Additional constraint is
required for this type
Context Line inv startmappedLine.source.symbol
and end mappedLine.target.symbol
L1OT Mapping for control flows in activity
diagrams
In fact, all mappings for activity diagram are
shown here
7How it works in practice
- Steps to define a diagram
- build the metamodel domain and presentation
packages - for each presentation element find domain
element(s) to which it maps (first diagram, then
symbols, then lines) - add mapping associations to the metamodel
- select the appropriate mapping type from the
library (from 20) - specify mapping details using the Definition
tool in GMT, i.e., which metamodel elements
actually correspond to the mapping schema - for lines, specify end symbol types and
multiplicities (at presentation level) - define via Definition tool how symbol and line
texts (compartments) map to attributes of domain
classes (one or more) - if necessary, add necessary explicit OCL
constraints - define style, icons etc. for presentation
elements
8Alternative Diagrammatic Representations
- provide several presentation packages per domain
package one for each diagram type - define the mapping for each
- then the domain data can be modified through any
of the diagram views - others are updated
automatically - the inverse mapping (consolidation) from domain
to presentation is defined, to a significant
degree automatically - possible variations in representation
- what is a symbol in one diagram may be line in
another (or box nesting) - one presentation class may map to several domain
classes and vice versa - but the domain must support all representations
anyway - the correspondence between representations must
be local
9Alternative Mapping ARIS eEPC
Part of ARIS eEPC (process) diagram mapped to the
same Activity domain
EventSymbol maps to the ControlFlow domain class
(which was represented by line in Activity
diagram)
L1LT - one more type of mapping - line
corresponds to a specified domain association
from a given class (pointed to by startMap)
10Alternative Mappings in Action
Activity diagram fragment
Equivalent eEPC diagram
11Simple application to MDA area
Class and Data Model diagram on a common domain -
for round-trip engineering
12Future Research - real MDA
- mappings and scaffolding principle may be used to
define transformations between arbitrary
metamodels - the proper QVT task - arbitrary mappings can be defined as a set of
ordered mapping rules - a metamodel transformation language based on
scaffolding principle currently under construction