A metamodel-driven approach for linking conceptual data models

Interoperability among applications and components of large complex software is still a bit of a nightmare and a with-your-hands-in-the-mud scenario that no-one looks forward to—people look forward to already having linked them up, so they can pose queries across departmental and institutional boundaries, or even across the different data sets within a research unit to advance their data analysis and discover new things.

Sure, ontologies can help with that, but you have to develop one if none is available, and sometimes it’s not even necessary. For instance, you have an ER diagram for the database and a UML model for the business layer. How do you link up those two?

Superficially, this looks easy: an ER entity type matches up with a UML class, and an ER relationship with an UML association. The devil is in the details, however. To name just a few examples: how are you supposed to match a UML qualified association, an ER weak entity type, or an ORM join-subset constraint, to any of the others?

Within the South Africa – Argentina bilateral collaboration project (scope), we set out to solve such things. Although we first planned to ‘simply’ formalize the most common conceptual data modelling languages (ER, UML, and ORM families), we quickly found out we needed not just an ‘inventory’ of terms used in each language matched to one in the other languages, but also under what conditions these entities can be used, hence, we needed a proper metamodel. This we published last year at ER’13 and MEDI’13 [1,2], which I blogged about last year. In the meantime, we not only have finalized the metamodel for the constraints, but also formalized the metamodel, and a journal article describing all this is close to being submitted.

But a metamodel alone doesn’t link up the conceptual data models. To achieve that, we, Pablo Follottrani and I, devised a metamodel-driven approach for conceptual model interoperability, which uses a formalised metamodel with a set of modular rules to mediate the linking and transformation of elements in the conceptual models represented in different languages. This also simplifies the verification of inter-model assertions and model conversion. Its description has recently been accepted as a full paper at the 8th International Web Rule Symposium 2014 (RuleML’14) [3], which I’ll present in Prague on 18 August.

To be able to assert a link between two entities in different models and evaluate automatically (or at least: systematically) whether it is a valid assertion and what it entails, you have to know i) what type of entities they are, ii) whether they are the same, and if not, whether one can be transformed into the other for that particular selection. So, to be able to have those valid inter-model assertions, an approach is needed for transforming one or more elements of a model in one language into another. The general idea of that is shown in the following picture, and explained briefly afterward.

Overview of the approach to transform a model represented in language A to one in language B, illustrated with some sample data from UML to ORM2 (Fig 1 in [3])

Overview of the approach to transform a model represented in language A to one in language B, illustrated with some sample data from UML to ORM2 (Fig 1 in [3])

We have three input items (top of the figure, with the ovals), then a set of algorithms and rules (on the right), and two outputs (bottom, green). The conceptual model is provided by the user, the formalized metamodel is available and a selection of it is included in the RuleML’14 paper [3], and the “vocabulary containing a terminology comparison” was published in ER’13 [1]. Our RuleML paper [3] zooms in on those rules for the algorithms, availing of the formalized metamodel and vocabulary. To give a taste of that (more below): the algorithm has to know that a UML class in the diagram can be mapped 1:1 to a ORM entity type, and that there is some rule or set of rules to transform a UML attribute to an ORM value type.

This is also can be used for the inter-model assertions, albeit in a slightly modified way overall, which is depicted below. Here we use not only the formalised metamodel and the algorithms, but also which entities have 1:1 mappings, which are equivalent but need several steps (called transformations), and which once can only be approximated (requiring user input), and it can be run in both directions from one fragment to the other (one direction is chosen arbitrarily).

Overview for checking the inter-model assertions, and some sample data, checking whether the UML Flower is the same as the ORM Flower (Fig. 2 in [3]).

Overview for checking the inter-model assertions, and some sample data, checking whether the UML Flower is the same as the ORM Flower (Fig. 2 in [3]).

The rules themselves are not directly from one entity in one model to another entity in another, as that would become too messy, isn’t really scalable, and would have lots of repetitions. We use the more efficient way of declaring rules for mapping a conceptual data model entity into its corresponding entity in the metamodel, do any mapping, transformation, or approximation there in the metamodel, and then map it into the matching entity in the other conceptual data model. The rules for the main entities are described in the paper: those for object types, relationships, roles, attributes, and value types, and how one can use those to build up more complex ones for validation of intermodal assertions.

This metamodel-mediated approach to the mappings is one nice advantage of having a metamodel, but one possibly could have gotten away with just having an ‘inventory’ of the entities, not all the extra effort with a full metamodel. But there are benefits to having that metamodel, in particular when actually validating mappings: it can drive the validation of mappings and the generation of model transformations thanks to the constraints declared in the metamodel. How this can work, is illustrated in the following example, showing one example of how the “process mapping assertions using the transformation algorithms” in the centre-part of Fig. 2, above, works out.

Example. Take i) two models, let’s call them Ma and Mb, ii) an inter-model assertion, e.g., a UML association Ra and an ORM fact type Rb, ii) the look-up list with the mappings, transformations, approximations, and the non-mappable elements, and iii) the formalised metamodel. Then the model elements of Ma and Mb are classified in terms of the metamodel, so that the mapping validation process can start. Let us illustrate that for some Ra to Rb (or vv.) mapping of two relationships.

  1. For the vocabulary table, we see that UML association and ORM fact type correspond to Relationship in the metamodel, and enjoy a 1:1 mapping. The ruleset that will be commenced with are R1 from UML to the metamodel and 2R to ORM’s fact type (see rules in the paper).
  2. The R1 and 2R rules refer to Role and Object type in the metamodel. Now things become interesting. The metamodel has represented that each Relationship has at least two Roles, which there are, and each one causes the role-rules to be evaluated, with Ro1 of Ra’s two association ends into the metamodel’s Role and 2Ro to ORM’s roles (‘2Ro’ etc. are the abbreviations of the rules; see paper [3] for details).
  3. The metamodel asserts that Role must participate in the rolePlaying relationship and thus that it has a participating Object type (possibly a subtype thereof) and, optionally, a Cardinality constraint. Luckily, they have 1:1 mappings.
  4. This, in turn causes the rules for classes to be evaluated. From the classes, we see in the metamodel that each Object type must have at least one Identification constraint that involves one or more attributes or value types (which one it is has, been determined by the original classification). This also then has to be mapped using the rules specified.

This whole sequence was set in motion thanks to the mandatory constraints in the metamodel, having gone Relationship to Role to Object type to Single identification (that, in turn, consults Attribute and Datatype for the UML to ORM example here). The ‘chain reaction’ becomes longer with more elaborate participating entities, such as a Nested object type.

Overall, the whole orchestration is no trivial matter, requiring all those inputs, and it won’t be implemented in one codefest on a single rainy Sunday afternoon. Nevertheless, the prospect for semantically good (correct) inter-model assertions across conceptual data modeling languages and automated validation thereof is now certainly a step closer to becoming a reality.

References

[1] Keet, C.M., Fillottrani, P.R. Toward an ontology-driven unifying metamodel for UML Class Diagrams, EER, and ORM2. 32nd International Conference on Conceptual Modeling (ER’13). W. Ng, V.C. Storey, and J. Trujillo (Eds.). Springer LNCS 8217, 313-326. 11-13 November, 2013, Hong Kong.

[2] Keet, C.M., Fillottrani, P.R. Structural entities of an ontology-driven unifying metamodel for UML, EER, and ORM2. 3rd International Conference on Model & Data Engineering (MEDI’13). A. Cuzzocrea and S. Maabout (Eds.) September 25-27, 2013, Amantea, Calabria, Italy. Springer LNCS 8216, 188-199.

[3] Fillottrani, P.R., Keet, C.M. Conceptual Model Interoperability: a Metamodel-driven Approach. 8th International Web Rule Symposium (RuleML’14), A. Bikakis et al. (Eds.). Springer LNCS 8620, 52-66. August 18-20, 2014, Prague, Czech Republic.

Advertisement

CFP for WS on Logics and reasoning for conceptual models (LRCM’13)

From the ‘advertising department’ of promoting events I co-organise: here’s the Call for Papers for the LRCM’13 workshop.

================================================================
First Workshop on Logics and Reasoning for Conceptual Models (LRCM 2013)
14th of December 2013, Stellenbosch, South Africa
http://www.cair.za.net/LRCM2013/
co-located with the 19th International Conference on Logic for Programming,
Artificial Intelligence and Reasoning (LPAR-19), Stellenbosch, South Africa
==============================================================

There is an increase in complexity of information systems due to, among others, company mergers with information system integration, upscaling of scientific collaborations, e-government etc., which push the necessity for good quality information systems. An information system’s quality is largely determined in the conceptual modeling stage, and avoiding or fixing errors of the conceptual model saves resources during design, implementation, and maintenance. The size and high expressivity of conceptual models represented in languages such as EER, UML, and ORM require a logic-based approach in the representation of information and adoption of automated reasoning techniques to assist in the development of good quality conceptual models. The theory to achieve this is still in its infancy, however, with only a limited set of theories and tools that address subtopics in this area. This workshop aims at bringing together researchers working on the logic foundations of conceptual data modeling languages and the reasoning techniques that are being developed so as to discuss the latest results in the area.

**** Topics ****

Topics of interest include, but are not limited to:
– Logics for temporal and spatial conceptual models and BPM
– Deontic logics for SBVR
– Other logic-based extensions to standard conceptual modeling languages
– Unifying formalisms for conceptual schemas
– Decidable reasoning over conceptual models
– Dealing with finite and infinite satisfiability of a conceptual model
– Reasoning over UML state and behaviour diagrams
– Reasoning techniques for EER/UML/ORM
– Interaction between ontology languages and conceptual data modeling languages
– Tools for logic-based modeling and reasoning over conceptual models
– Experience reports on logic-based modelling and reasoning over conceptual models

To this end, we solicit mainly theoretical contributions with regular talks and implementation/system demonstrations and some modeling experience reports to facilitate cross-fertilization between theory and praxis. Selection of presentations is based on peer-review of submitted papers by at least 2 reviewers, with a separation between theory and implementation & experience-type of papers.

**** Submissions ****

We welcome submissions in LNCS style in the following two formats for oral presentation:
– Extended abstracts of maximum 2 pages;
– Research papers of maximum 10 pages.
Both can be submitted in pdf format via the EasyChair website at https://www.easychair.org/conferences/?conf=lrcm13

**** Important dates ****

Submission of papers/abstracts: 14 October 2013
Notification of acceptance:     14 November 2013
Camera-ready copies:            2 December 2013
Workshop:                       14 December 2013

**** Organisation ****

Maria Keet, University of KwaZulu-Natal, South Africa, keet@ukzn.ac.za
Diego Calvanese, Free University of Bozen-Bolzano, Italy, calvanese@inf.unibz.it
Szymon Klarman, CAIR, UKZN / CSIR-Meraka Institute, South Africa, szymon.klarman@gmail.com
Arina Britz, CAIR, UKZN / CSIR-Meraka Institute, South Africa, abritz@csir.co.za

**** Programme Committee ****

Diego Calvanese, Free University of Bozen-Bolzano, Italy
Szymon Klarman, CAIR, UKZN / CSIR-Meraka Institute, South Africa
Maria Keet, University of KwaZulu-Natal, South Africa
Marco Montali, Free University of Bozen-Bolzano, Italy
Mira Balaban, Ben-Gurion University of the Negev, Israel
Meghyn Bienvenu, CNRS and Universite Paris-Sud, France
Terry Halpin, INTI International University, Malaysia
Anna Queralt, Barcelona Supercomputing Center, Spain
Vladislav Ryzhikov, Free University of Bozen-Bolzano, Italy
Till Mossakowski, University of Bremen, Germany
Alessandro Artale, Free University of Bozen-Bolzano, Italy
Giovanni Casini, CAIR, UKZN / CSIR-Meraka Institute, South Africa
Pablo Fillottrani, Universidad Nacional del Sur, Argentina
Chiara Ghidini, Fondazione Bruno Kessler, Italy
Roman Kontchakov, Birkbeck, University of London, United Kingdom
Oliver Kutz, University of Bremen, Germany
Tommie Meyer, CAIR, UKZN / CSIR-Meraka Institute, South Africa
David Toman, University of Waterloo, Canada