DeepTelos: Multi-level Modeling with Most General Instances
-
Upload
bernd-neumayr -
Category
Data & Analytics
-
view
100 -
download
2
Transcript of DeepTelos: Multi-level Modeling with Most General Instances
DeepTelosMulti-level Modeling with
Most General InstancesManfred 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
ER 2016 Jeusfeld, Neumayr: DeepTelos 2
engineType : EngineType
CarModel
engineType = P6V320hp
Porsche911
instanceOf
Multi-level Modeling
• extends object-oriented modeling with
– unbounded levels of instantiation
ER 2016 Jeusfeld, Neumayr: DeepTelos 3
engineType : EngineType
CarModel
instanceOf
instanceOf
engineType = P6V320hp
Porsche911
MarysCar
ProductModelCategory
instanceOf
Multi-level Modeling
• extends object-oriented modeling with
– unbounded levels of instantiation
– clabjects combining class and object facets
ER 2016 Jeusfeld, Neumayr: DeepTelos 4
categoryMgr = SusanengineType : EngineType
CarModel
instanceOf
instanceOf
engineType = P6V320hp
Porsche911
MarysCar
categoryMgr : Person
ProductModelCategory
instanceOf
Multi-level Modeling
• extends object-oriented modeling with
– unbounded levels of instantiation
– clabjects combining class and object facets
– deep characterization
ER 2016 Jeusfeld, Neumayr: DeepTelos 5
categoryMgr = SusanengineType1 : EngineTypeengineNr2 : String
CarModel
instanceOf
instanceOf
engineType = P6V320hp
Porsche911
engineNr = 52WVC10337
MarysCar
categoryMgr : Person
ProductModelCategory
instanceOf
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 Telos1 and its implementation ConceptBase2 and inherits their
– natural metamodeling facilities
– uniform treatment of objects, classes, metaclasses, ...
– uniform treatment of entities, attributes, and relationships
– and remains simple and flexible
ER 2016 Jeusfeld, Neumayr: DeepTelos 6
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)
An example Telos model (without metamodeling)
ER 2016 Jeusfeld, Neumayr: DeepTelos 8
ownerProduct
Car
Person
MarysCar
Adult
Mary
owner
owner/o
Everything is represented as Proposition
ER 2016 Jeusfeld, Neumayr: DeepTelos 9
ownerProduct
Car
Person
MarysCar
Adult
Mary
owner
owner/o
P(<ID>,<source>,<label>,<target>)
P(o0,o0,Product,o0).
P(o1,o1,Person,o1).
P(o2,o0,owner,o1).
P(o3,o3,Car,o3).
P(o4,o3,isa,o0).
P(o5,o5,Adult,o5).
P(o6,o5,isa,o1).
P(o7,o3,owner,o5).
P(o8,o7,isa,o2).
P(o9,o9,MarysCar,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).
Four kinds of propositions
ER 2016 Jeusfeld, Neumayr: DeepTelos 10
ownerProduct
Car
Person
MarysCar
Adult
Mary
owner
owner/o
P(<ID>,<source>,<label>,<target>)
P(o0,o0,Product,o0).
P(o1,o1,Person,o1).
P(o2,o0,owner,o1).
P(o3,o3,Car,o3).
P(o4,o3,isa,o0).
P(o5,o5,Adult,o5).
P(o6,o5,isa,o1).
P(o7,o3,owner,o5).
P(o8,o7,isa,o2).
P(o9,o9,MarysCar,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).
Individuals (Individual objects, Classes)
Four kinds of propositions
ER 2016 Jeusfeld, Neumayr: DeepTelos 11
ownerProduct
Car
Person
MarysCar
Adult
Mary
owner
owner/o
P(<ID>,<source>,<label>,<target>)
P(o0,o0,Product,o0).
P(o1,o1,Person,o1).
P(o2,o0,owner,o1).
P(o3,o3,Car,o3).
P(o4,o3,isa,o0).
P(o5,o5,Adult,o5).
P(o6,o5,isa,o1).
P(o7,o3,owner,o5).
P(o8,o7,isa,o2).
P(o9,o9,MarysCar,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).
Attribute classes and attribute instances
Four kinds of propositions
ER 2016 Jeusfeld, Neumayr: DeepTelos 12
ownerProduct
Car
Person
MarysCar
Adult
Mary
owner
owner/o
P(<ID>,<source>,<label>,<target>)
P(o0,o0,Product,o0).
P(o1,o1,Person,o1).
P(o2,o0,owner,o1).
P(o3,o3,Car,o3).
P(o4,o3,isa,o0).
P(o5,o5,Adult,o5).
P(o6,o5,isa,o1).
P(o7,o3,owner,o5).
P(o8,o7,isa,o2).
P(o9,o9,MarysCar,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).
Specializations(Multiple Specialization)
Four kinds of propositions
ER 2016 Jeusfeld, Neumayr: DeepTelos 13
ownerProduct
Car
Person
MarysCar
Adult
Mary
owner
owner/o
P(<ID>,<source>,<label>,<target>)
P(o0,o0,Product,o0).
P(o1,o1,Person,o1).
P(o2,o0,owner,o1).
P(o3,o3,Car,o3).
P(o4,o3,isa,o0).
P(o5,o5,Adult,o5).
P(o6,o5,isa,o1).
P(o7,o3,owner,o5).
P(o8,o7,isa,o2).
P(o9,o9,MarysCar,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).
Instantiations(Multiple Instantiation)
Names and IDs
ER 2016 Jeusfeld, Neumayr: DeepTelos 14
ownerProduct
Car
Person
MarysCar
Adult
Mary
owner
owner/o
P(<ID>,<source>,<label>,<target>)
P(o0,o0,Product,o0).
P(o1,o1,Person,o1).
P(o2,o0,owner,o1).
P(o3,o3,Car,o3).
P(o4,o3,isa,o0).
P(o5,o5,Adult,o5).
P(o6,o5,isa,o1).
P(o7,o3,owner,o5).
P(o8,o7,isa,o2).
P(o9,o9,MarysCar,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).
Object identifiers are unique.
Names and IDs
ER 2016 Jeusfeld, Neumayr: DeepTelos 15
ownerProduct
Car
Person
MarysCar
Adult
Mary
owner
owner/o
P(<ID>,<source>,<label>,<target>)
P(o0,o0,Product,o0).
P(o1,o1,Person,o1).
P(o2,o0,owner,o1).
P(o3,o3,Car,o3).
P(o4,o3,isa,o0).
P(o5,o5,Adult,o5).
P(o6,o5,isa,o1).
P(o7,o3,owner,o5).
P(o8,o7,isa,o2).
P(o9,o9,MarysCar,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).
Names of individual are unique
Names and IDs
ER 2016 Jeusfeld, Neumayr: DeepTelos 16
ownerProduct
Car
Person
MarysCar
Adult
Mary
owner
owner/o
P(<ID>,<source>,<label>,<target>)
P(o0,o0,Product,o0).
P(o1,o1,Person,o1).
P(o2,o0,owner,o1).
P(o3,o3,Car,o3).
P(o4,o3,isa,o0).
P(o5,o5,Adult,o5).
P(o6,o5,isa,o1).
P(o7,o3,owner,o5).
P(o8,o7,isa,o2).
P(o9,o9,MarysCar,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).
Names of attributes are unique in conjunction with the source object.
Derived Specialization Predicate
ER 2016 Jeusfeld, Neumayr: DeepTelos 17
ownerProduct
Car
Person
MarysCar
Adult
Mary
owner
owner/o
∀𝑜, 𝑥, 𝑐 ∶ 𝑃 𝑜, 𝑐, 𝑖𝑠𝑎, 𝑑 ⇒ 𝐼𝑠𝑎 𝑐, 𝑑
∀𝑐, 𝑑, 𝑒: 𝐼𝑠𝑎 𝑐, 𝑑 , 𝐼𝑠𝑎(𝑑, 𝑒) ⇒ 𝐼𝑠𝑎 𝑐, 𝑒
∀𝑐: 𝐼𝑛 𝑐, #𝑂𝑏𝑗 ⇒ 𝐼𝑠𝑎 𝑐, 𝑐
= Reflexive-transitive closure of specialization propositions
Derived Instantiation Predicate
ER 2016 Jeusfeld, Neumayr: DeepTelos 18
owner
Class membership of objects is inherited upwardly to the superclasses.
Product
Car
Person
MarysCar
Adult
Mary
owner
owner/o
∀𝑜, 𝑥, 𝑐 ∶ 𝑃 𝑜, 𝑥, 𝑖𝑛, 𝑐 ⇒ 𝐼𝑛 𝑥, 𝑐
∀𝑥, 𝑐, 𝑑: 𝐼𝑛 𝑥, 𝑐 ∧ 𝐼𝑠𝑎 𝑐, 𝑑 ⇒ 𝐼𝑛 𝑥, 𝑑
Constraint on Attribute Specialization
ER 2016 Jeusfeld, Neumayr: DeepTelos 19
ownerProduct
Car
Person
MarysCar
Adult
Mary
owner
owner/o
Specialization of relationships, requires that source and target are specialized (with specialization being reflexive/transitive)
∀𝑠, 𝑠′, 𝑎, 𝑎′,𝑚,𝑚′, 𝑡, 𝑡′:𝐼𝑠𝑎 𝑎′, 𝑎 ∧ 𝑃 𝑎, 𝑠, 𝑚, 𝑡 ∧ 𝑃 𝑎′, 𝑠′, 𝑚′, 𝑡′
⇒ 𝐼𝑠𝑎 𝑠′, 𝑠 ∧ 𝐼𝑠𝑎 𝑡′, 𝑡 .
Constraint on Attribute Instantiation
ER 2016 Jeusfeld, Neumayr: DeepTelos 20
ownerProduct
Car
Person
MarysCar
Adult
Mary
owner
owner/o
Instantiation of relationships, requires that source and target are instantiated
∀𝑜, 𝑥, 𝑛, 𝑦, 𝑝: 𝑃 𝑜, 𝑥, 𝑛, 𝑦 ∧ 𝐼𝑛 𝑜, 𝑝 ⇒∃𝑐,𝑚, 𝑑: 𝑃 𝑝, 𝑐, 𝑚, 𝑑 ∧ 𝐼𝑛 𝑥, 𝑐 ∧ 𝐼𝑛(𝑦, 𝑑)
Unbounded Classification Hierarchies
ER 2016 Jeusfeld, Neumayr: DeepTelos
Individuals act as classes, metaclasses, metametaclasses ...
ProductModelCategory
MarysCar
CarModel
Porsche911
22
Clabjects
ER 2016 Jeusfeld, Neumayr: DeepTelos
Individuals in multi-level hierarchies introduce attribute classes and instantiate attributes
ProductModelCategory
MarysCar
CarModel
Porsche911
catMgrPerson
catMgr/mSusan
23
Clabjects
ER 2016 Jeusfeld, Neumayr: DeepTelos
Individuals in multi-level hierarchies introduce attribute classes and instantiate attributes
ProductModelCategory
MarysCar
CarModel
Porsche911
catMgrPerson
catMgr/mSusan
IntegernrDoors
2nrDoors/d
24
Clabjects
ER 2016 Jeusfeld, Neumayr: DeepTelos
Individuals in multi-level hierarchies introduce attribute classes and instantiate attributes
ProductModelCategory
MarysCar
CarModel
Porsche911
12232 kmmileage/m
catMgrPerson
catMgr/mSusan
IntegernrDoors
2nrDoors/d
Distancemileage
25
Attribute Metaclasses
ER 2016 Jeusfeld, Neumayr: DeepTelos
Attribute metaclasses have metaclasses as target.
ProductModelCategory
MarysCar
CarModel
Porsche911
techSpecMeasure
26
Attribute Metaclasses
ER 2016 Jeusfeld, Neumayr: DeepTelos
Attribute metaclasses are instantiated by attribute classes
ProductModelCategory
MarysCar
CarModel
Porsche911
techSpecMeasure
techSpec/maxSpeedSpeed
27
Attribute Metaclasses
ER 2016 Jeusfeld, Neumayr: DeepTelos
... which in turn are instantiated by attribute values
ProductModelCategory
MarysCar
CarModel
Porsche911
techSpecMeasure
techSpec/maxSpeedSpeed
257 km/hmaxSpeed/m
28
What is missing?
ER 2016 Jeusfeld, Neumayr: DeepTelos
ProductModelCategoryHow to specify an attribute class listPrice that is instantiated by instance-instances of ProductModelCategory?
MarysCar
CarModel
Porsche911 € 127.000listPrice/p
EurolistPrice
Mismatch of instantiation steps
29
What is missing?
ER 2016 Jeusfeld, Neumayr: DeepTelos
ProductModelCategoryHow to specify an attribute class mileage that is instantiated by instance-instances of CarModel?
MarysCar
CarModel
Porsche911
12321 kmmileage/m
Distancemileage
Mismatch of instantiation steps
30
What is missing?
ER 2016 Jeusfeld, Neumayr: DeepTelos
ProductModelCategoryHow to specify an attribute class owner that is instantiated by instance-instance-instances of ProductModelCategory and which is specialized for instance-instances of CarModel?
MarysCar
CarModel
Porsche911
Maryowner/o
Personowner
instantiation instead of specialization
Adultowner
Mismatch of instantiation steps
31
ER 2016 Jeusfeld, Neumayr: DeepTelos
A metaclass may have a class as most general instance.
ProductModelCategory
ProductModel
MarysCar
Car
CarModel
Porsche911
Most General Instances (MGIs)
IN
IN
33
ER 2016 Jeusfeld, Neumayr: DeepTelos
All instances of the metaclass are (by inference) specializations of the most general instance of the metaclass
ProductModelCategory
ProductModel
MarysCar
Car
CarModel
Porsche911
Derived Subclasses of MGIs
∀𝑥, 𝑐,𝑚 ∶ 𝐼𝑛 𝑥, 𝑐 ∧ 𝐼𝑁 𝑚, 𝑐⇒ 𝐼𝑠𝑎(𝑥,𝑚)Isa
In
IN
In
IN
Isa
34
ER 2016 Jeusfeld, Neumayr: DeepTelos
ProductModelCategoryAttribute class listPrice is specified with the most-general instance of ProductModelCategory and is instantiated by instance-instances of ProductModelCategory
ProductModel
MarysCar
Car
CarModel
Porsche911
Deep Characterization
€ 127.000listPrice/p
EurolistPrice
35
ER 2016 Jeusfeld, Neumayr: DeepTelos
Attribute class mileage is specified with Car (the most-general instance of CarModel) and instantiated by instance-instances of CarModel.
ProductModelCategory
ProductModel
MarysCar
Car
CarModel
Porsche911
Deep Characterization
12321 kmmileage/m
Distancemileage
36
ER 2016 Jeusfeld, Neumayr: DeepTelos
A most-general instance dmay in turn have a most-general instance.
ProductModelCategory
ProductModel
MarysCar
Car
CarModel
Porsche911
Chains of MGIs
Product
37
ER 2016 Jeusfeld, Neumayr: DeepTelos
A most-general instance dmay in turn have a most-general instance.
Most-general instances of specializiations of d are (by inference) specializations of the most-general instance of d.
ProductModelCategory
ProductModel
MarysCar
Car
CarModel
Porsche911
Chains of MGIs and Derived Subclasses
Product∀𝑥, 𝑐, 𝑚 ∶ 𝐼𝑁 𝑚, 𝑐 ∧ 𝐼𝑁 𝑛, 𝑑
∧ 𝐼𝑠𝑎 𝑐, 𝑑 ⇒ 𝐼𝑠𝑎(𝑥,𝑚)Isa
IN
Isa
IN
38
ER 2016 Jeusfeld, Neumayr: DeepTelos
Attribute class owner is specified with the most general instance of the most general instance of ProductModelCategory.
Attribute class owner is specialized with Car, the most general instance of CarModel.
Attribute class owner is instantiated by instance-instance-instances of ProductModelCategory.
ProductModelCategory
ProductModel
MarysCar
Car
CarModel
Porsche911
Deep Characterization and Specialization
Product
Maryowner/o
Person
ownerAdult
owner
39
ER 2016 Jeusfeld, Neumayr: DeepTelos
EntityType
Linguistic Metamodeling
41
Domainproperty
Modeling language constructs are modeled as metaclasses.
ER 2016 Jeusfeld, Neumayr: DeepTelos
EntityType
Linguistic Metamodeling
42
Employee Project
Domain
Euro Integer
property
property/budget
Modeling language constructs are modeled as metaclasses.
ER 2016 Jeusfeld, Neumayr: DeepTelos
EntityType
Linguistic Metamodeling
43
mary
Employee
p346
Project
Domain
€ 140.000
Euro
7
Integer
property
budget/b
property/budget
Modeling language constructs are modeled as metaclasses.
ER 2016 Jeusfeld, Neumayr: DeepTelos
EntityType
Linguistic Metamodelingwith Most General Instances
44
Entity
IN
mary
Employee
p346
Project
Domain
Value
IN
€ 140.000
Euro
7
Integer
property
IN
budget/b
property/budget
value
Modeling constructs (i.e., metaclasses) get most-general instances which act as their proxies on the class level.
ER 2016 Jeusfeld, Neumayr: DeepTelos
EntityType
Linguistic Metamodelingwith Most General Instances
45
Entity
IN
mary
Employee
p346
Project
Domain
Value
IN
€ 140.000
Euro
7
Integer
property
value
IN
budget/b
property/budget
Derived specialization and instantiation relationships facilitate schemaless querying.
E.g., what are the property values of p346?
ER 2016 Jeusfeld, Neumayr: DeepTelos
EntityType
Linguistic Metamodelingwith Most General Instances
46
Entity
IN
Domain
Value
IN
property
value
IN
lastModified
Date
... and generic (schema-independent) extensions.
E.g., property values have a lastModified attribute.
ER 2016 Jeusfeld, Neumayr: DeepTelos
EntityType
Linguistic Metamodelingwith Most General Instances
47
Entity
IN
Employee Project
Domain
Value
IN
Euro Integer
property
value
IN
property/budget
lastModified
Date
... and generic (schema-independent) extensions.
E.g., property values have a lastModified attribute.
ER 2016 Jeusfeld, Neumayr: DeepTelos
EntityType
Linguistic Metamodelingwith Most General Instances
48
Entity
IN
mary
Employee
p346
Project
Domain
Value
IN
€ 140.000
Euro
7
Integer
property
value
IN
budget/b
property/budget
lastModified
Date
lastModified/l
2016-11-12
... and generic (schema-independent) extensions.
E.g., property values have a lastModified attribute.
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 metan-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