53
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

DeepTelos: Multi-level Modeling with Most General Instances

Embed Size (px)

Citation preview

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)

Prerequisites: Basics of Telos/ConceptBase

ER 2016 Jeusfeld, Neumayr: DeepTelos 7

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

∀𝑜, 𝑥, 𝑛, 𝑦, 𝑝: 𝑃 𝑜, 𝑥, 𝑛, 𝑦 ∧ 𝐼𝑛 𝑜, 𝑝 ⇒∃𝑐,𝑚, 𝑑: 𝑃 𝑝, 𝑐, 𝑚, 𝑑 ∧ 𝐼𝑛 𝑥, 𝑐 ∧ 𝐼𝑛(𝑦, 𝑑)

Metamodeling in Telos/ConceptBase(without extension)

ER 2016 Jeusfeld, Neumayr: DeepTelos 21

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

Extending Telosfor Deep Characterization

ER 2016 Jeusfeld, Neumayr: DeepTelos 32

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

Linguistic Metamodeling in DeepTelos

ER 2016 Jeusfeld, Neumayr: DeepTelos 40

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, 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 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