Download Φ License Φ Forum Φ Team Φ Home

A modeling method usually includes different perspectives, e.g. a static modeling perspective
and a dynamic modeling perspective. Each of these perspectives can have specialized
modeling notations. These specialized notations are inter-related by *cross-notational
links*. A cross-notational link is a connection between a concept from one modeling
notation to another notation, e.g. from a
business process modeling notation to a data modeling notation.

ConceptBase treats cross-notational links like any other definition: the fact that some link is crossing a notation is a consequence of the fact that there are two concepts belonging to different notations and the link lies on a path from the one concept to the other.

In the example to the right, the concepts of the business process modeling
notation and the ERD data modeling notation are displayed as grey color
nodes. The concept `InformationObject` is part of the business
process modeling notation (a business function produces information objects).
It is linked to the ERD data modeling notation by declaring it as special
case of an `ERD` diagram.
Note that the blue links are specializations, e.g. `EntityType`
is a specialization of `ObjectType`. The green links are
instantiations. For example, `OrdersDB` is an instance of
`InformationObject` and via inheritance also an instance of
`ERD` (dotted green link).
The instantiation links separate the *notation level* (concepts
`Event`, `BusinessFunction`, `InformationObject`,
`ERD` etc.) from the so-called model level
(objects `PhoneOrderArrived, CheckOrder, OrdersDB, Item etc.`).
At the model level, the business function `CheckOrder` produces the
information object `OrdersDB`. That information object is an
entity-relationship diagram containing the object types `Customer`,
`Item`, and `Order`.

Once you have linked two inter-related modeling notations, you can formulate cross-notational consistency rules. For example, any entity type should be part of at least one information object used in some business process. To find out violation entity types, you can ask:

UnusedEntityType in QueryClass isA EntityType with constraint c1: $ not exists f/BusinessFunction o/InformationObject ((f producesInformation o) or (o feedsInformation f)) and (o containsObjectType this) $ end

The query ranges over concepts from two different notations (business process definition and entity relationship diagrams). Due to the meta-modeling capabilities, ConceptBase can handle such specifications with ease and elegance.

http://conceptbase.cc --
Contact: M. Jeusfeld,
University of Skövde, Box 408, S-54128 Skövde, Sweden

2015-11-27/M.Jeusfeld