DeepTelos Multi-level Modeling with Most General Instances Manfred Jeusfeld University of Skövde, Sweden Bernd Neumayr Johannes Kepler University Linz University of Oxford FREQUENTIS AG ER 2016, Gifu
Multi-level Modeling extends object-oriented modeling CarModel enginetype : EngineType Porsche911 instanceof enginetype = P6V320hp ER 2016 Jeusfeld, Neumayr: DeepTelos 2
Multi-level Modeling ProductModelCategory extends object-oriented modeling with unbounded levels of instantiation CarModel instanceof enginetype : EngineType Porsche911 instanceof enginetype = P6V320hp instanceof ER 2016 Jeusfeld, Neumayr: DeepTelos 3
Multi-level Modeling ProductModelCategory categorymgr : Person extends object-oriented modeling with unbounded levels of instantiation clabjects combining class and object facets CarModel instanceof categorymgr = Susan enginetype : EngineType Porsche911 instanceof enginetype = P6V320hp instanceof ER 2016 Jeusfeld, Neumayr: DeepTelos 4
Multi-level Modeling ProductModelCategory categorymgr : Person extends object-oriented modeling with unbounded levels of instantiation clabjects combining class and object facets deep characterization CarModel instanceof categorymgr = Susan enginetype 1 : EngineType enginenr 2 : String Porsche911 instanceof enginetype = P6V320hp instanceof enginenr = 52WVC10337 ER 2016 Jeusfeld, Neumayr: DeepTelos 5
Motivation for DeepTelos Existing multi-level modeling approaches are arguably firmly rooted in two-level modeling overly complex and rather inflexible DeepTelos is based on Telos 1 and its implementation ConceptBase 2 and inherits their natural metamodeling facilities uniform treatment of objects, classes, metaclasses,... uniform treatment of entities, attributes, and relationships and remains simple and flexible 1 John Mylopoulos, Alexander Borgida, Matthias Jarke, Manolis Koubarakis: Telos: Representing Knowledge About Information Systems. ACM Transactions on Information Systems 8(4): 325-362 (1990) 2 Matthias Jarke, Rainer Gallersdörfer, Manfred A. Jeusfeld, Martin Staudt: ConceptBase - A Deductive Object Base for Meta Data Management. J. Intell. Inf. Syst. 4(2): 167-192 (1995) ER 2016 Jeusfeld, Neumayr: DeepTelos 6
Prerequisites: Basics of Telos/ConceptBase ER 2016 Jeusfeld, Neumayr: DeepTelos 7
An example Telos model (without metamodeling) Product Person Car Adult /o Mary ER 2016 Jeusfeld, Neumayr: DeepTelos 8
Everything is represented as Proposition P(<ID>,<source>,<label>,<target>) P(o0,o0,Product,o0). P(o1,o1,Person,o1). P(o2,o0,,o1). P(o3,o3,Car,o3). P(o4,o3,isa,o0). P(o5,o5,Adult,o5). P(o6,o5,isa,o1). P(o7,o3,,o5). P(o8,o7,isa,o2). P(o9,o9,,o9). P(o10,o9,in,o3). P(o11,o11,Mary,o11). P(o12,o11,in,o5). P(o13,o9,o,o11). p(o14,o13,in,o7). Product Car /o Person Adult Mary ER 2016 Jeusfeld, Neumayr: DeepTelos 9
Four kinds of propositions P(<ID>,<source>,<label>,<target>) P(o0,o0,Product,o0). P(o1,o1,Person,o1). P(o2,o0,,o1). P(o3,o3,Car,o3). P(o4,o3,isa,o0). P(o5,o5,Adult,o5). P(o6,o5,isa,o1). P(o7,o3,,o5). P(o8,o7,isa,o2). P(o9,o9,,o9). P(o10,o9,in,o3). P(o11,o11,Mary,o11). P(o12,o11,in,o5). P(o13,o9,o,o11). p(o14,o13,in,o7). Product Person Car /o Adult Mary Individuals (Individual objects, Classes) ER 2016 Jeusfeld, Neumayr: DeepTelos 10
Four kinds of propositions P(<ID>,<source>,<label>,<target>) P(o0,o0,Product,o0). P(o1,o1,Person,o1). P(o2,o0,,o1). P(o3,o3,Car,o3). P(o4,o3,isa,o0). P(o5,o5,Adult,o5). P(o6,o5,isa,o1). P(o7,o3,,o5). P(o8,o7,isa,o2). P(o9,o9,,o9). P(o10,o9,in,o3). P(o11,o11,Mary,o11). P(o12,o11,in,o5). P(o13,o9,o,o11). p(o14,o13,in,o7). Product Person Car /o Adult Mary Attribute classes and attribute instances ER 2016 Jeusfeld, Neumayr: DeepTelos 11
Four kinds of propositions P(<ID>,<source>,<label>,<target>) P(o0,o0,Product,o0). P(o1,o1,Person,o1). P(o2,o0,,o1). P(o3,o3,Car,o3). P(o4,o3,isa,o0). P(o5,o5,Adult,o5). P(o6,o5,isa,o1). P(o7,o3,,o5). P(o8,o7,isa,o2). P(o9,o9,,o9). P(o10,o9,in,o3). P(o11,o11,Mary,o11). P(o12,o11,in,o5). P(o13,o9,o,o11). p(o14,o13,in,o7). Product Car Specializations (Multiple Specialization) /o Person Adult Mary ER 2016 Jeusfeld, Neumayr: DeepTelos 12
Four kinds of propositions P(<ID>,<source>,<label>,<target>) P(o0,o0,Product,o0). P(o1,o1,Person,o1). P(o2,o0,,o1). P(o3,o3,Car,o3). P(o4,o3,isa,o0). P(o5,o5,Adult,o5). P(o6,o5,isa,o1). P(o7,o3,,o5). P(o8,o7,isa,o2). P(o9,o9,,o9). P(o10,o9,in,o3). P(o11,o11,Mary,o11). P(o12,o11,in,o5). P(o13,o9,o,o11). p(o14,o13,in,o7). Product Car Instantiations (Multiple Instantiation) /o Person Adult Mary ER 2016 Jeusfeld, Neumayr: DeepTelos 13
Names and IDs P(<ID>,<source>,<label>,<target>) P(o0,o0,Product,o0). P(o1,o1,Person,o1). P(o2,o0,,o1). P(o3,o3,Car,o3). P(o4,o3,isa,o0). P(o5,o5,Adult,o5). P(o6,o5,isa,o1). P(o7,o3,,o5). P(o8,o7,isa,o2). P(o9,o9,,o9). P(o10,o9,in,o3). P(o11,o11,Mary,o11). P(o12,o11,in,o5). P(o13,o9,o,o11). p(o14,o13,in,o7). Product Car /o Object identifiers are unique. Person Adult Mary ER 2016 Jeusfeld, Neumayr: DeepTelos 14
Names and IDs P(<ID>,<source>,<label>,<target>) P(o0,o0,Product,o0). P(o1,o1,Person,o1). P(o2,o0,,o1). P(o3,o3,Car,o3). P(o4,o3,isa,o0). P(o5,o5,Adult,o5). P(o6,o5,isa,o1). P(o7,o3,,o5). P(o8,o7,isa,o2). P(o9,o9,,o9). P(o10,o9,in,o3). P(o11,o11,Mary,o11). P(o12,o11,in,o5). P(o13,o9,o,o11). p(o14,o13,in,o7). Product Car /o Names of individual are unique Person Adult Mary ER 2016 Jeusfeld, Neumayr: DeepTelos 15
Names and IDs P(<ID>,<source>,<label>,<target>) P(o0,o0,Product,o0). P(o1,o1,Person,o1). P(o2,o0,,o1). P(o3,o3,Car,o3). P(o4,o3,isa,o0). P(o5,o5,Adult,o5). P(o6,o5,isa,o1). P(o7,o3,,o5). P(o8,o7,isa,o2). P(o9,o9,,o9). P(o10,o9,in,o3). P(o11,o11,Mary,o11). P(o12,o11,in,o5). P(o13,o9,o,o11). p(o14,o13,in,o7). Product Car /o Person Adult Mary Names of attributes are unique in conjunction with the source object. ER 2016 Jeusfeld, Neumayr: DeepTelos 16
Derived Specialization Predicate o, x, c P o, c, isa, d Isa c, d Product Person c, d, e: Isa c, d, Isa(d, e) Isa c, e c: In c, #Obj Isa c, c Car Adult = Reflexive-transitive closure of specialization propositions /o Mary ER 2016 Jeusfeld, Neumayr: DeepTelos 17
Derived Instantiation Predicate o, x, c P o, x, in, c In x, c Product Person x, c, d: In x, c Isa c, d In x, d Class membership of objects is inherited upwardly to the superclasses. Car /o Adult Mary ER 2016 Jeusfeld, Neumayr: DeepTelos 18
Constraint on Attribute Specialization Specialization of relationships, requires that source and target are specialized (with specialization being reflexive/transitive) Product Person s, s, a, a, m, m, t, t : Isa a, a P a, s, m, t P a, s, m, t Isa s, s Isa t, t. Car /o Adult Mary ER 2016 Jeusfeld, Neumayr: DeepTelos 19
Constraint on Attribute Instantiation Instantiation of relationships, requires that source and target are instantiated Product Person o, x, n, y, p: P o, x, n, y In o, p c, m, d: P p, c, m, d In x, c In(y, d) Car Adult /o Mary ER 2016 Jeusfeld, Neumayr: DeepTelos 20
Metamodeling in Telos/ConceptBase (without extension) ER 2016 Jeusfeld, Neumayr: DeepTelos 21
Unbounded Classification Hierarchies Individuals act as classes, metaclasses, metametaclasses... ProductModelCategory CarModel Porsche911 ER 2016 Jeusfeld, Neumayr: DeepTelos 22
Clabjects Individuals in multi-level hierarchies introduce attribute classes and instantiate attributes ProductModelCategory catmgr catmgr/m Person Susan CarModel Porsche911 ER 2016 Jeusfeld, Neumayr: DeepTelos 23
Clabjects Individuals in multi-level hierarchies introduce attribute classes and instantiate attributes ProductModelCategory catmgr catmgr/m Person Susan CarModel nrdoors Integer Porsche911 nrdoors/d 2 ER 2016 Jeusfeld, Neumayr: DeepTelos 24
Clabjects Individuals in multi-level hierarchies introduce attribute classes and instantiate attributes ProductModelCategory catmgr catmgr/m Person Susan CarModel nrdoors Integer Porsche911 nrdoors/d mileage 2 Distance mileage/m 12232 km ER 2016 Jeusfeld, Neumayr: DeepTelos 25
Attribute Metaclasses Attribute metaclasses have metaclasses as target. ProductModelCategory techspec Measure CarModel Porsche911 ER 2016 Jeusfeld, Neumayr: DeepTelos 26
Attribute Metaclasses Attribute metaclasses are instantiated by attribute classes ProductModelCategory techspec Measure CarModel techspec/maxspeed Speed Porsche911 ER 2016 Jeusfeld, Neumayr: DeepTelos 27
Attribute Metaclasses... which in turn are instantiated by attribute values ProductModelCategory techspec Measure CarModel techspec/maxspeed Speed Porsche911 maxspeed/m 257 km/h ER 2016 Jeusfeld, Neumayr: DeepTelos 28
What is missing? How to specify an attribute class listprice that is instantiated by instanceinstances of ProductModelCategory? ProductModelCategory CarModel listprice Mismatch of instantiation steps Euro listprice/p Porsche911 127.000 ER 2016 Jeusfeld, Neumayr: DeepTelos 29
What is missing? How to specify an attribute class mileage that is instantiated by instanceinstances of CarModel? ProductModelCategory CarModel mileage Distance Porsche911 Mismatch of instantiation steps mileage/m 12321 km ER 2016 Jeusfeld, Neumayr: DeepTelos 30
What is missing? How to specify an attribute class that is instantiated by instanceinstance-instances of ProductModelCategory and which is specialized for instance-instances of CarModel? ProductModelCategory CarModel instantiation instead of specialization Person Adult Porsche911 Mismatch of instantiation steps /o Mary ER 2016 Jeusfeld, Neumayr: DeepTelos 31
Extending Telos for Deep Characterization ER 2016 Jeusfeld, Neumayr: DeepTelos 32
Most General Instances (MGIs) A metaclass may have a class as most general instance. ProductModelCategory IN ProductModel CarModel IN Car Porsche911 ER 2016 Jeusfeld, Neumayr: DeepTelos 33
Derived Subclasses of MGIs All instances of the metaclass are (by inference) specializations of the most general instance of the metaclass ProductModelCategory IN ProductModel In Isa x, c, m In x, c IN m, c Isa(x, m) CarModel In Porsche911 IN Isa Car ER 2016 Jeusfeld, Neumayr: DeepTelos 34
Deep Characterization Attribute class listprice is specified with the mostgeneral instance of ProductModelCategory and is instantiated by instanceinstances of ProductModelCategory ProductModelCategory CarModel ProductModel listprice Euro Car Porsche911 listprice/p 127.000 ER 2016 Jeusfeld, Neumayr: DeepTelos 35
Deep Characterization Attribute class mileage is specified with Car (the mostgeneral instance of CarModel) and instantiated by instance-instances of CarModel. ProductModelCategory ProductModel CarModel Car mileage Distance Porsche911 mileage/m 12321 km ER 2016 Jeusfeld, Neumayr: DeepTelos 36
Chains of MGIs A most-general instance d may in turn have a mostgeneral instance. ProductModelCategory ProductModel Product CarModel Car Porsche911 ER 2016 Jeusfeld, Neumayr: DeepTelos 37
Chains of MGIs and Derived Subclasses A most-general instance d may in turn have a mostgeneral instance. Most-general instances of specializiations of d are (by inference) specializations of the most-general instance of d. ProductModelCategory ProductModel IN Isa Product CarModel Isa IN Car x, c, m IN m, c IN n, d Isa c, d Isa(x, m) Porsche911 ER 2016 Jeusfeld, Neumayr: DeepTelos 38
Deep Characterization and Specialization Attribute class is specified with the most general instance of the most general instance of ProductModelCategory. ProductModelCategory ProductModel Product Person Attribute class is specialized with Car, the most general instance of CarModel. CarModel Car Adult Attribute class is instantiated by instanceinstance-instances of ProductModelCategory. Porsche911 /o Mary ER 2016 Jeusfeld, Neumayr: DeepTelos 39
Linguistic Metamodeling in DeepTelos ER 2016 Jeusfeld, Neumayr: DeepTelos 40
Linguistic Metamodeling Modeling language constructs are modeled as metaclasses. EntityType property Domain ER 2016 Jeusfeld, Neumayr: DeepTelos 41
Linguistic Metamodeling Modeling language constructs are modeled as metaclasses. EntityType property Domain Employee Project property/budget Euro Integer ER 2016 Jeusfeld, Neumayr: DeepTelos 42
Linguistic Metamodeling Modeling language constructs are modeled as metaclasses. EntityType property Domain Employee Project property/budget Euro Integer mary p346 budget/b 140.000 7 ER 2016 Jeusfeld, Neumayr: DeepTelos 43
Linguistic Metamodeling with Most General Instances Modeling constructs (i.e., metaclasses) get most-general instances which act as their proxies on the class level. EntityType IN Entity property IN value Domain IN Value Employee Project property/budget Euro Integer mary p346 budget/b 140.000 7 ER 2016 Jeusfeld, Neumayr: DeepTelos 44
Linguistic Metamodeling with Most General Instances Derived specialization and instantiation relationships facilitate schemaless querying. E.g., what are the property values of p346? EntityType IN Entity property IN value Domain IN Value Employee Project property/budget Euro Integer mary p346 budget/b 140.000 7 ER 2016 Jeusfeld, Neumayr: DeepTelos 45
Linguistic Metamodeling with Most General Instances... and generic (schema-independent) extensions. E.g., property values have a lastmodified attribute. EntityType property Domain IN Entity IN value lastmodified IN Value Date ER 2016 Jeusfeld, Neumayr: DeepTelos 46
Linguistic Metamodeling with Most General Instances... and generic (schema-independent) extensions. E.g., property values have a lastmodified attribute. EntityType property Domain IN Entity IN value lastmodified IN Value Date Employee Project property/budget Euro Integer ER 2016 Jeusfeld, Neumayr: DeepTelos 47
Linguistic Metamodeling with Most General Instances... and generic (schema-independent) extensions. E.g., property values have a lastmodified attribute. EntityType property Domain IN Entity IN value lastmodified IN Value Date Employee Project property/budget Euro Integer mary p346 budget/b lastmodified/l 140.000 7 2016-11-12 ER 2016 Jeusfeld, Neumayr: DeepTelos 48
Implementation, Related Work, and Conclusion ER 2016 Jeusfeld, Neumayr: DeepTelos 49
Implementation DeepTelos is implemented in ConceptBase The implementation together with further examples is available under an open license at http://conceptbase.cc/deeptelos We invite everyone to use DeepTelos for own experiments, developments and further extensions ER 2016 Jeusfeld, Neumayr: DeepTelos 50
Related Work Powertypes and powertype pattern: Most general instances (MGIs) are inverse of power types. In contrast to adding a bit of metamodeling to two-level modeling (powertype pattern), DeepTelos adds deep characterization to a fully-fledged metamodeling language and system. VODAK pioneered linguistic metamodeling with deep characterization (with a construct similar to MGIs) but limited to three levels. Deep Instantiation/Modeling (DI) use potencies for deep characterization. Current approaches make a strong distinction between attributes (with deep characterization based on potencies) and relationships (restricted to strict metamodeling, restricted even more than Telos without MGIs). Dual Deep Instantiation/Modeling (DDI) overcomes limitations of DI by source and target potencies, to specify the number of instantiation steps separately for the source and target of a relationship. Even more flexible than DeepTelos but with added complexity. Ontological foundations: UFO-MLT ER 2016 Jeusfeld, Neumayr: DeepTelos 51
Conclusion and Future Work We introduced DeepTelos a lightweight extension of the metamodeling system Telos/ConceptBase deep characterization of meta n -classes by (chains of) most general instances What sets DeepTelos apart are strengths inherited from Telos and ConceptBase: simplicity and conceptual clarity formal semantics expressed and implemented in Datalog rich query and query optimization facilities Future work includes comparing DeepTelos with other multilevel modeling approaches investigating further axioms, possibly based on UFO-MLT ER 2016 Jeusfeld, Neumayr: DeepTelos 52
Thank you for your attention! http://conceptbase.cc/deeptelos ER 2016 Jeusfeld, Neumayr: DeepTelos 53