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.
Contact: M. Jeusfeld,
University of Skövde, Box 408, S-54128 Skövde, Sweden