=Paper=
{{Paper
|id=Vol-1286/paper10
|storemode=property
|title=Multilevel modelling for interoperability
|pdfUrl=https://ceur-ws.org/Vol-1286/p10.pdf
|volume=Vol-1286
|dblpUrl=https://dblp.org/rec/conf/models/JordanMS14
}}
==Multilevel modelling for interoperability==
Multilevel Modelling for Interoperability Andreas Jordan, Wolfgang Mayer, and Markus Stumptner University of South Australia, Australia, {andreas.jordan}@mymail.unisa.edu.au, {wolfgang.mayer,mst}@cs.unisa.edu.au Abstract. Model-driven approaches to establishing interoperability be- tween information systems have recently embraced meta-modelling frame- works spanning multiple levels. However, no consensus has yet been established as to which techniques adequately support situations where heterogeneous domain-specific models must be linked within a common modelling approach. We introduce modelling primitives that support the multilevel modelling paradigm for information integration in het- erogeneous information systems. We extend standard specialisation and instantiation mechanisms to enable the propagation of semantic and schema information across model levels and compare our approach us- ing a suite of criteria to show that our approach improves modularity, redundancy, query complexity, and level stratification. 1 Introduction The core idea of conceptual modelling since the ER-Model [1] is the notion of defining a particular language that can be used to effectively construct concise and clear domain models. Carrying over conceptual model characteristics into object- oriented software models (such as UML), led to rich design methods including meta-modelling frameworks: models that can define the languages used to produce the actual conceptual and design models for information systems. For example, Atkinson and Kühne [2] analyse the way in which design/product relationships cause inconsistencies with the fixed meta-model hierarchy of the UML standard. However, advanced application domains, such as those requiring the in-depth modelling of products, e.g. engineering standards, online catalogues, reference data libraries, continue to present a particular challenge to meta-modelling frameworks. This is further exacerbated when investigating appropriate multilevel modelling abstractions suitable for applications in an interoperability setting. In this paper we discuss the multi-level modelling extensions that we believe will enable automated, model-driven transformation of data between two of the major data standards in the Oil & Gas industry [3,4]. A key concern is the notion that the same component in a real system can be subject to multiple classifications. This is to allow a multi-dimensional view of the modelled data, from recording specific technical solutions and constraints to be used for technical access as well as to serve business/ERP requirements. The contribution of this paper is a set of modelling extensions to overcome limitations of existing approaches, such as the “heterogeneous level” issue of [5]. 93 Fig. 1: Product catalogue modelled in plain UML, using generalisation, instantia- tion and aggregation (adapted from [5]) 2 Motivating Example and Multi-Level Modelling There are several important aspects and complexities to the domain that need to be modelled. We identify three levels of data: business level, specification level, and physical entity level. Firstly, both designs and the physical entities of a product catalogue must be represented and have their own life-cycles which forms the physical entity level. Secondly, a second level of classification provides the specifications of the physical entities. Thirdly, a third level of classification, or categorisation, must be imposed on the designs. This third level of classification also consists of complex taxonomies relevant from the business/ERP perspective. The modelling approaches taken by established related standards demand a flexible approach to support mappings and model transformations between them. A UML-based approach to modelling this situation is shown in Figure 1, in which ProductCatalogue , ProductCategory , ProductModel , and ProductPhysicalEntity are modelled as an abstraction hierarchy using aggregation. Specialisation is used to distinguish categories (i.e. business classifications), models (i.e. designs), and physical entities of pumps and motors. Modelling complex domains using UML suffers from what Henderson-Sellers et al. describe as enactment (see [6]). Moreover, the model in Figure 1 contains a number of redundant classes as discussed in [5,7]; the misuse of the aggregation relationship to represent a membership and/or classification relation; and the result that the physical entities are not intuitively instances of their product models, but rather are part-of their models. Basically, a domain model that seems to naturally have multiple levels of classification is forced into a 2-level modelling framework so that all aspects of the product data exist at the instance level. In an attempt to resolve such issues, multi-level modelling (MLM) techniques have been developed. 94 (a) (b) Fig. 2: Deep Instantiation (a) and Power Type (b) models of a product catalogue The concept of potency [7] was originally introduced for Deep Instantiation (DI) to support the transfer of information across more than one level of instanti- ation. DI introduced the concept of ontological instantiation, which is a domain specific instantiation relationship (different from standard linguistic instantiation in UML meta-modelling). Using DI techniques, which works within the boundaries of strict meta- modelling, invariably results in relationships (other than instantiation) crossing level boundaries, which is not permitted under strict meta-modelling. For ex- ample in Figure 2a, if the attributes temp 2 and maxTemp 1 were modelled as associations to values of the type DegreeCelsius (rather than just integers that must be interpreted as such), no matter at what level DegreeCelsius is placed it would result in an association crossing a level boundary at some point [8]. Moreover, if an additional level of instantiation was introduced into a DI-based model, global changes to the potency values of all concepts in the model (as opposed to just the subhierarchy directly affected) are required. The concept of power types [9] has also been applied in the context of MLM frameworks [10]. Basically, for a power type t of another type u, the instances of t must be subtypes of u. In contrast to potency, power types do not necessarily provide deep instantiation semantics; they provide semantics closer to the conceptual situation being represented by clearly identifying the concepts involved, their relationships, and their properties. For example, Figure 2b shows one instance of the Power Type pattern, where type and instance facets of a concept are depicted within the ellipse. The power type Pump Model for the type Pump is displayed; the concept ProductCategory would be represented as cascading uses of the power type pattern. M-objects (multi-level objects) and m-relationships (multi-level relationships) were introduced in [11] along with the concretization relation which stratifies objects and relationships into multiple levels of abstraction. The m-objects 95 Fig. 3: Product catalogue example modelled in our framework technique allows for the encapsulation of the different levels that relate to a specific domain concept in the m-object representing that concept. Furthermore, it combines the different abstraction hierarchies for specialisation, instantiation, and aggregation into a single concretization hierarchy. As such, the example situation would be modelled with a top-level concept ProductCatalogue containing the definition of its levels of abstraction: category, model, and physical entity. The lower levels would then include objects for the different PumpCategories , PumpModels , and PhysicalPumps , respectively. While the m-objects technique produces concise models with a minimum number of relations, they hide complex semantics. This can lead to difficulties in interpreting the models as the concretization relation between two m-objects (or two m-relationships) must be interpreted in a multi-faceted way. 3 Modelling Extensions to Support Multilevel Modelling Recently, the notion that every part of an object model is an object (embraced in certain OO programming and conceptual modelling [2] approaches) has regained popularity [8,6]. We follow this approach and treat all model elements as objects that can include both type and instance facets. The MLM approaches summarised in the previous section place the emphasis on a clear and consistent layering of the levels in the model. However, when applied to ontological instantiation in information modelling for systems interoperability, the level construct actually becomes an artefact of the modelling outcome. Domain engineers do not think in levels; they work in terms of semantic relationships, and there can be arbitrary many levels for each of them. Capturing these in terms of potency is useful if the originating models are available for reorganisation 96 according to the strictness criterion and if solid estimates exist on the expected number of levels that future developers may want to add in a particular domain. In the interoperability space this is generally not the case. We will now examine the specific relationships used in our framework. 3.1 Instantiation vs. specialisation relationship In MLM, the existence of two basic relationship types for increasing specificity is commonly assumed: (1) instantiation which can be broadly defined by the confor- mance of instances to types in which specificity is increased by assigning distinct values to attributes (if they exist); and (2) specialisation (or generalisation), which makes a concept more specific by including finer distinction (based on the Liskov Substitution Principle (LSP) [12]). Intuitively our modelling extensions are compatible with the intuition of the LSP, however formal proof to verify such a claim is left for future work. Viewed in terms of increasing specificity it becomes obvious that what we have generally referred to as specificity, and what MLM approaches measure by potency, actually represents two different conceptual relations: One is the reference of a specification to the specified item. This captures the powertype aspect of the relationship and is also at the core of the materialization relationship in the conceptual modelling literature. The other is the definition of the vocabulary used in the specification. It should be clear that this distinction is of fundamental importance for interoperability mappings, since they rely on being able to treat the specification of a system separately from its runtime state. We characterise specialisation relationships along the lines of [13] to distin- guish a relationship that extends a class (by adding attributes, associations, or behaviour) from one that refines a class (by adding granularity to the description). We call a specialisation relationship that extends the parent class a Specialisation by Extension (SbE) and adopt standard monotonic specialisation semantics. As such it can include but does not necessitate refinement. Most importantly, this form of specialisation introduces a new model level (as opposed to standard meta-modelling and MLM techniques where modelling levels are fixed a priori). In contrast, a specialisation relationship that only refines the parent class is called Specialisation by Refinement (SpecR), which allows the introduction of subtypes that restrict the domain of the specialised class (e.g., by restricting the domains of properties and associations, or adding domain constraints on properties) but without introducing additional model levels. This allows for an arbitrary number of subtypes that simply refine the level of granularity. We characterise instantiation as either Instantiation with Extension (InstX) or Standard Instantiation (InstN ). Both forms of instantiation introduce addi- tional model levels; however, standard instantiation means that all attributes of the type being instantiated must be assigned a value from their domain, while InstX allows for additional attributes, behaviour, etc. to be added to the concept that can then be instantiated or inherited further to lower model levels. The Subset by Specification (SbS) relationship represents the existence of a class of specification construct that identifies particular subtypes of another type. The specification (for example EquipmentModel ) exists at the same level as the type it refers to, because the specification can only refer to properties of that 97 type (and not to properties of individual subtypes). It is, however, possible to define subtypes of this type of specification to reference particular properties (so EquipmentModel can be specialised to PumpModel which can refer to properties of Pumps ). Together with InstX, this relationship can be used to construct the powertype pattern [9]. In Figure 3, PumpModel could be modelled as the powertype of EquipmentModel since it specialises EquipmentModel and the instance of PumpModel , i.e. C12KerosenePump , is an indirect subtype (by extension) of Equipment . Different to UML associations, most conceptual models permit general associ- ations that represent domain specific relationships. We identify two particular such associations. The first we call M ember. In contrast to the instantiation relation which it otherwise resembles, member does not have any constraints on the assignment of values to attributes as it is purely a basic set membership relation. However, this does not preclude the specification of membership criteria, or constraints, for allowing or disallowing the possible members of a set. M ember does require the existence of a “primary” instantiation relation. The second such association is Specification by Enumeration SbE, which represents a relationship between concepts A and B that describes how the extensions of the sets of entities that they represent are related. Specifically, it means that the members of A are instances of B. These relations permit us to emulate multiple inheritance by establishing statements about categories, without defining the attributes or associations of the included object or the category itself. Below we present the formal properties of our model. The first argument denotes the instance or specialised concept, whereas the second argument repre- sents the type or general concept. Relations M ember and SbE are jointly used to specify a classification scheme that subdivides the instances of a concept. Model elements are organised in levels numbered such that the type-level number is one less than the instance-level. Function level returns the level number of each element. Each element is described by a set of typed attributes, some of which may have assigned values, and a constraint expression stating necessary properties of the object’s instances. Function attr maps each object to a set of attribute names, function type associates a data type to each object-attribute pair, and partial function val returns the value associated with a given object-attribute pair (if one has been assigned). We implicitly assume that primitive data types and their possible values are implicitly modelled as concepts and instances, re- spectively. Function desc maps each concept to a constraint expression capturing the properties that all instances of the object must satisfy, and names returns the attribute labels used in said description. Domains: O Set of objects L Set of attribute labels N Natural numbers S Constraint language over attributes in L Functions: level : O 7→ N The level at which an object is defined (zero is top level) attr : O 7→ 2L The set of attribute labels for an object type : O × L 7→ O The type of an attribute of an object val : O × L 7→ O The value of an attribute of an object desc : O 7→ S Constraint expression instances of an object must satisfy names : S 7→ 2L The attribute labels used in a constraint expression 98 Relations: InstN ⊆ O × O InstN (x, c): x is an instance of c InstX ⊆ O × O InstX(x, c): x is an instance-with-extension of c SpecR ⊆ O × O SpecR(c, c0 ): c is a specialisation-by-refinement of c0 SpecX ⊆ O × O SpecX(c, c0 ): c is a specialisation-by-extension of c0 M ember ⊆ O × O M ember(x, c): x is in a Member relation with c SbE ⊆O×O SbE(c, c0 ): c is a Specification-by-Enumeration of c0 SbS ⊆O×O SbS(c, c0 ): c is a Subset-by-Specification of c0 We use (ρ∗ ) ρ+ to denote the (reflexive-)transitive closure of relation ρ. Definitions The Spec relation generalises the two forms of specialisation Spec(c, c0 ) ↔ (SpecR(c, c0 ) ∨ SpecX(c, c0 )) An object is a leaf iff it has no specialisations Leaf (c) ↔ @x : Spec(x, c) The Inst relation generalises the two forms of instantiation Inst(x, c) ↔ InstN (x, c) ∨ InstX(x, c) Object x is a general instance of c iff it is instance of or specialises an instance of (a specialisation of) c GenInst(x, c) ↔ ∃x0 ∃c0 : Spec∗ (x, x0 ) ∧ Inst(x0 , c0 ) ∧ Spec∗ (c0 , c) Axioms for specialisation and instantiation Inst, Spec, Member are jointly acyclic (Inst ∪ Spec ∪ M ember)∗ (x, c) → x 6= c InstN and InstX, SpecR and SpecX are mutually exclusive InstN (x, c) → @c0 : InstX(x, c0 ) InstX(x, c) → @c0 : InstN (x, c0 ) 0 0 SpecR(x, c) → @c : SpecX(x, c ) SpecX(x, c) → @c0 : SpecR(x, c0 ) Inst, Spec restricted to a unique parent object ρ(x, c) ∧ ρ(x, c0 ) → c = c0 for ρ ∈ {Inst, Spec} Only leaf objects can be instantiated Inst(x, c) → Leaf (c) Level consistent with Inst, Spec Inst(x, c) → level(x) = level(c) + 1 SpecR(x, c) → level(x) = level(c) SpecX(x, c) → level(c) ≤ level(x) Axioms for schema consistency Attribute type must be consistent with level order a ∈ attr(x) ∧ t = type(x, a) → level(t) < level(x) SpecR does not change attribute set SpecR(x, c) → attr(c) = attr(x) SpecX extends attribute set SpecX(x, c) → attr(c) ⊂ attr(x) Spec may specialise attribute types Spec(x, c) ∧ a ∈ attr(x) ∩ attr(c) ∧ t = type(x, a) ∧ t0 = type(c, a) → Spec∗ (t, t0 ) InstN does not change attribute set InstN (x, c) → attr(c) = attr(x) InstX extends attribute set InstX(x, c) → attr(c) ⊂ attr(x) Inst does not change attribute type Inst(x, c) ∧ a ∈ attr(x) ∩ attr(c) → type(x, a) = type(c, a) Inst instantiates all attributes of c Inst(x, c) ∧ a ∈ attr(c) ∧ t = type(x, a) → ∃v : v = val(x, a) ∧ GenInst(v, t) Axioms for Member and Specification-by-Enumeration Member relation must be consistent with level order M ember(x, c) → level(c) < level(x) Specification-by-Enumeration must be consistent with level order SbE(c, t) → level(t) ≤ level(c) Specification-by-Enumeration classifies general instance of the type SbE(c, t) ∧ M ember(x, c) → GenInst(x, t) Axioms for Subset-by-Specification 99 Subset-by-Specification must be consistent with level order SbS(c, c0 ) → level(c) = level(c0 ) Instances of each subset specification must be a specialisation of the partitioned type SbS(c, c0 ) ∧ Inst(x, c) → Spec+ (x, c0 ) The specification may refer only to the attributes of the partitioned type SbS(c, c0 ) ∧ φ = desc(c) → names(φ) ⊆ attr(c0 ) Axioms for Descriptions Constraints can use only attributes defined in its associated object φ = desc(c) → names(φ) ⊆ attr(c) Constraints must respect the specialisation hierarchy Spec(c, c0 ) ∧ φ = desc(c) ∧ φ0 = desc(c0 ) → (φ(x) → φ0 (x)) Instances of a object must satisfy its constraint GenInst(x, c) ∧ φ = desc(c) → φ(x) Members in a Member relation must satisfy its classifier’s constraint M ember(x, c) ∧ φ = desc(c) → φ(x) 4 Comparison of MLM Techniques A comparison of MLM approaches was performed in [5] based on a number of criteria from the perspective of reducing accidental complexity; that is, mis- matches between what is being modelled and the modelling formalism being used. These criteria are: (1) Compactness, (2) Query Flexibility, (3) Heterogeneous Level-Hierarchies, and (4) Multiple Relationship-Abstractions. These criteria are important for modelling the domain in a concise, flexible, and simpler way. How- ever, they do not cover certain aspects of particular importance to our domain and application in the OGI Pilot. We consider two additional criteria: (a) Locality of Attributes & Relationships refers to what model elements attributes and relationships are defined on. Attributes/relationships are defined locally if they are defined on the model elements closest to where they are used. For example, an attribute relevant to product designs should be situated on the concept ProductModel rather than a related concept such as Product . This is in contrast to the modularity aspect, which attempts to minimise the different locations at which attributes and associations are located; however, it is particularly important in terms of interoperability as the different domain models exhibit different modelling approaches and scope, and attributes and associations may not have been grouped together consistently across the information system ecosystems. Having a flexible framework that can handle such a situation elegantly is important. (b) Clarity of Relations’ Semantics is concerned with whether the relations of the approach have clearly delineated semantics from other relations, or if they combine the semantics of multiple, commonly understood, relations together. For example, while a relationship that combines both the semantics of specialisation and instantiation may simplify the graphical representation of the model, the confounding of multiple relations in one could cause difficulties for constructing model transformations. Moreover, a number of issues can arise if the distinctions between relations are de-emphasised. Weakening the intrinsic differences between established relations comes at a significant cost such as “sanity checks regarding the integrity of metamodelling hierarchies that otherwise would not exist” [14]. 100 In applying the criteria to our approach we conclude that it: – is modular as it treats the class and object facets of a concept together allowing the specification of information regarding a concept in one place; – allows redundancy-free modelling by using a range of relations that include various attribute propagation, inheritance, and assignment semantics; – supports query flexibility through the different relationships and concepts in a domain model, e.g. different pump models can be accessed by retrieving the instances of PumpModel , the models in a particular category can be retrieved by accessing the members of the desired PumpCategory , and the physical pumps can be accessed through the instances of Pump ; – allows heterogeneous level-hierarchies through its flexible and dynamic nature of level stratification; – supports specialisation and instantiation of domain and range of relationships; While it is a balancing act to not produce too many relations, many of the relations in our approach are special cases of well known relations, alleviating possible issues with understandability and adding information of finer granularity. Moreover, existing domain models could be analysed to identify such distinctions, improving the identification of model transformations for interoperability. There are three potency-based approaches in the comparison, the latter two of which are newly added to the comparison: Deep Instantiation [7], MetaDepth [15], and Dual-Deep Instantiation (DDI) [8]. MetaDepth allows the specifica- tion of different views (similar to the modelling spaces proposal of [2]), which allow for heterogeneous level-hierarchies. DDI extends DI with explicit levels based on “sort” hierarchies and attributes and associations with 2 potencies (source and target) rather than the single potency of DI and MetaDepth. DDI supports query flexibility (i.e. descendents of an object at a particular (sort) level can be queried in ConceptBase), heterogeneous level-hierarchies and multiple relationship-abstractions. All three potency-based techniques can support locality of attributes and relations; however, it comes at the cost of not taking advantage of potency, i.e. restricting the possible potencies to zero or one. Similarly, under this restriction, standard DI and MetaDepth have clear cut relations, while using higher potency starts to mix instantiation with specialisation semantics. Finally, DDI more strongly combines the instantiation and specialisation relations and, hence, does not support the last criteria at all. Assessing the power type approach (both simple and extended) with respect to the new criteria reveals that it supports locally specified attributes and relations. Whether the approach supports clarity of relation semantics is unclear as it depends on whether or not the partitions relation is provided with instantiation semantics [10]. However, the power type approaches only partly support compact- ness and only the extended power type approach fully supports query-flexibility while the simple approach only provides partial support. In terms of relationship abstraction, both approaches require OCL to provide this support. The application of the additional criteria to m-objects show that the clarity of relation semantics is low, due to the combination of the relations aggregation, specialisation, and instantiation. In addition, as the intention of the M-Objects technique is to encapsulate all of the attributes and relationships of a concept on a single m-object, it does not support locally specified attributes and relationships. 101 5 Conclusion Effective exchange of information about processes and industrial plants, their design, construction, operation, and maintenance requires sophisticated informa- tion modelling and exchange mechanisms that enable the transfer of semantically meaningful information between a vast pool of heterogeneous information sys- tems. This need increases with the growing tendency for direct interaction of information systems from the sensor level to corporate boardroom level. One way to address this challenge is to provide more powerful means of information handling, including the definition of proper conceptual models for industry stan- dards and their use in semantic information management. In this paper we have described our modelling framework for large scale ecosystem handling and the extended relationship types that help to succinctly express data models across a heterogeneous information system ecosystem. References 1. P. Chen. The entity-relationship model - toward a unified view of data. ACM Trans. Database Syst., 1(1):9–36, March 1976. 2. C. Atkinson and T. Kühne. Processes and products in a multi-level metamodeling architecture. IJSEKE, 11:761–783, 2001. 3. ISO. ISO 15926 – Part 2: Data Model. 2003. 4. Open Systems Architecture for Enterprise Application Integration. MIMOSA, 2012. 5. B. Neumayr, M. Schrefl, and B. Thalheim. Modeling techniques for multi-level abstraction. In The Evolution of Conceptual Modeling. Springer LNCS 6520, 2011. 6. B. Henderson-Sellers, T. Clark, and C. Gonzalez-Perez. On the search for a level- agnostic modelling language. In Proc. CAISE’13, pages 240–255, 2013. 7. C. Atkinson and T. Kühne. The Essence of Multilevel Metamodeling. In Proc. of UML 2001, LNCS 2185, pages 19–33. Springer, 2001. 8. B. Neumayr, M. A. Jeusfeld, M. Schrefl, and C. Schütz. Dual deep instantiation and its ConceptBase implementation. In Proc. CAISE ’14. Springer, 2014. 9. J. J. Odell. Power types. JOOP, 7:8–12, 1994. 10. C. Gonzalez-Perez and B. Henderson-Sellers. A powertype-based metamodelling framework. Software & Systems Modeling, 5(1):72–90, 2006. 11. B. Neumayr, K. Grün, and M. Schrefl. Multi-level domain modeling with m-objects and m-relationships. In Proceedings APCCM ’09, pages 107–116, 2009. 12. Barbara Liskov and Jeannette M. Wing. A behavioral notion of subtyping. ACM Trans. Program. Lang. Syst., 16(6):1811–1841, 1994. 13. M. Schrefl and M. Stumptner. Behavior consistent specialization of object life cycles. ACM TOSEM, 11(1):92–148, 2002. 14. T. Kühne. Contrasting classification with generalisation. In Proceedings APCCM ’09, pages 71–78, Australia, 2009. 15. J. de Lara, E. Guerra, R. Cobos, and J. Moreno-Llorena. Extending deep meta- modelling for practical model-driven engineering. Computer, 57(1):36–58, 2014. 102