Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
DeepTelos: Multi-level Modeling with Most General Instances
1. 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
4. 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 = Susan
engineType : EngineType
CarModel
instanceOf
instanceOf
engineType = P6V320hp
Porsche911
MarysCar
categoryMgr : Person
ProductModelCategory
instanceOf
5. 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 = Susan
engineType1 : EngineType
engineNr2 : String
CarModel
instanceOf
instanceOf
engineType = P6V320hp
Porsche911
engineNr = 52WVC10337
MarysCar
categoryMgr : Person
ProductModelCategory
instanceOf
6. 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)
8. An example Telos model
(without metamodeling)
ER 2016 Jeusfeld, Neumayr: DeepTelos 8
owner
Product
Car
Person
MarysCar
Adult
Mary
owner
owner/o
9. Everything is represented as Proposition
ER 2016 Jeusfeld, Neumayr: DeepTelos 9
owner
Product
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).
10. Four kinds of propositions
ER 2016 Jeusfeld, Neumayr: DeepTelos 10
owner
Product
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)
11. Four kinds of propositions
ER 2016 Jeusfeld, Neumayr: DeepTelos 11
owner
Product
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
12. Four kinds of propositions
ER 2016 Jeusfeld, Neumayr: DeepTelos 12
owner
Product
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)
13. Four kinds of propositions
ER 2016 Jeusfeld, Neumayr: DeepTelos 13
owner
Product
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)
14. Names and IDs
ER 2016 Jeusfeld, Neumayr: DeepTelos 14
owner
Product
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.
15. Names and IDs
ER 2016 Jeusfeld, Neumayr: DeepTelos 15
owner
Product
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
16. Names and IDs
ER 2016 Jeusfeld, Neumayr: DeepTelos 16
owner
Product
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.
23. Clabjects
ER 2016 Jeusfeld, Neumayr: DeepTelos
Individuals in multi-level
hierarchies introduce
attribute classes and
instantiate attributes
ProductModelCategory
MarysCar
CarModel
Porsche911
catMgr
Person
catMgr/m
Susan
23
24. Clabjects
ER 2016 Jeusfeld, Neumayr: DeepTelos
Individuals in multi-level
hierarchies introduce
attribute classes and
instantiate attributes
ProductModelCategory
MarysCar
CarModel
Porsche911
catMgr
Person
catMgr/m
Susan
Integer
nrDoors
2
nrDoors/d
24
25. Clabjects
ER 2016 Jeusfeld, Neumayr: DeepTelos
Individuals in multi-level
hierarchies introduce
attribute classes and
instantiate attributes
ProductModelCategory
MarysCar
CarModel
Porsche911
12232 km
mileage/m
catMgr
Person
catMgr/m
Susan
Integer
nrDoors
2
nrDoors/d
Distance
mileage
25
26. Attribute Metaclasses
ER 2016 Jeusfeld, Neumayr: DeepTelos
Attribute metaclasses have
metaclasses as target.
ProductModelCategory
MarysCar
CarModel
Porsche911
techSpec
Measure
26
27. Attribute Metaclasses
ER 2016 Jeusfeld, Neumayr: DeepTelos
Attribute metaclasses are
instantiated by attribute
classes
ProductModelCategory
MarysCar
CarModel
Porsche911
techSpec
Measure
techSpec/maxSpeed
Speed
27
28. Attribute Metaclasses
ER 2016 Jeusfeld, Neumayr: DeepTelos
... which in turn are
instantiated by attribute
values
ProductModelCategory
MarysCar
CarModel
Porsche911
techSpec
Measure
techSpec/maxSpeed
Speed
257 km/h
maxSpeed/m
28
29. What is missing?
ER 2016 Jeusfeld, Neumayr: DeepTelos
ProductModelCategory
How to specify an attribute
class listPrice that is
instantiated by instance-
instances of
ProductModelCategory?
MarysCar
CarModel
Porsche911 € 127.000
listPrice/p
Euro
listPrice
Mismatch of
instantiation steps
29
30. What is missing?
ER 2016 Jeusfeld, Neumayr: DeepTelos
ProductModelCategory
How to specify an attribute
class mileage that is
instantiated by instance-
instances of CarModel?
MarysCar
CarModel
Porsche911
12321 km
mileage/m
Distance
mileage
Mismatch of
instantiation steps
30
31. What is missing?
ER 2016 Jeusfeld, Neumayr: DeepTelos
ProductModelCategory
How 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
Mary
owner/o
Person
owner
instantiation instead
of specialization
Adult
owner
Mismatch of
instantiation steps
31
33. 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
34. 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
35. ER 2016 Jeusfeld, Neumayr: DeepTelos
ProductModelCategory
Attribute 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.000
listPrice/p
Euro
listPrice
35
36. 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 km
mileage/m
Distance
mileage
36
37. ER 2016 Jeusfeld, Neumayr: DeepTelos
A most-general instance d
may in turn have a most-
general instance.
ProductModelCategory
ProductModel
MarysCar
Car
CarModel
Porsche911
Chains of MGIs
Product
37
38. ER 2016 Jeusfeld, Neumayr: DeepTelos
A most-general instance d
may 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
39. 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
Mary
owner/o
Person
owner
Adult
owner
39
41. ER 2016 Jeusfeld, Neumayr: DeepTelos
EntityType
Linguistic Metamodeling
41
Domain
property
Modeling language constructs are modeled as metaclasses.
42. ER 2016 Jeusfeld, Neumayr: DeepTelos
EntityType
Linguistic Metamodeling
42
Employee Project
Domain
Euro Integer
property
property/budget
Modeling language constructs are modeled as metaclasses.
43. 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.
44. ER 2016 Jeusfeld, Neumayr: DeepTelos
EntityType
Linguistic Metamodeling
with 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.
45. ER 2016 Jeusfeld, Neumayr: DeepTelos
EntityType
Linguistic Metamodeling
with 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?
46. ER 2016 Jeusfeld, Neumayr: DeepTelos
EntityType
Linguistic Metamodeling
with 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.
47. ER 2016 Jeusfeld, Neumayr: DeepTelos
EntityType
Linguistic Metamodeling
with 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.
48. ER 2016 Jeusfeld, Neumayr: DeepTelos
EntityType
Linguistic Metamodeling
with 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.
50. 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
51. 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
52. 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
53. Thank you for your attention!
http://conceptbase.cc/deeptelos
ER 2016 Jeusfeld, Neumayr: DeepTelos 53