Processamento Paralelo Introdução

Transcription

Processamento Paralelo Introdução
Ontological
Foundations for
Conceptual Modeling
Giancarlo Guizzardi
Federal University of
Espírito Santo, Brazil
gguizzardi@inf.ufes.br
CAISE 2012
Gdansk, Poland
What is Conceptual Modeling?
• “the activity of formally describing some aspects of the physical
and social world around us for purposes of understanding and
communication…Conceptual modelling supports structuring and
inferential facilities that are psychologically grounded. After all,
the descriptions that arise from conceptual modelling activities
are intended to be used by humans, not machines... The
adequacy of a conceptual modelling notation rests on its
contribution to the construction of models of reality that
promote a common understanding of that reality among their
human users.”
•
John Mylopoulos
Definition (Oxford)
•
•
•
Definition (1): a branch of metaphysics concerned with the
nature and relations of being;
Definition (2): a particular theory about the nature of being
or the kinds of existents;
Defintion (3): a theory concerning the kinds of entities that
are to be admitted to a language system.
Formal Ontology
•
•
To uncover and analyze the general categories and principles
that describe reality is the very business of philosophical
Formal Ontology
Formal Ontology (Husserl): a discipline that deals with
formal ontological structures (e.g. theory of parts, theory of
wholes, types and instantiation, identity, dependence, unity)
which apply to all material domains in reality.
?
Type
ObjectType
Sortal Type
Rigid Sortal Type
Kind
Mixin Type
Anti-Rigid Sortal Type
Phase
Role
Anti-Rigid MixinType
RoleMixin
Type
ObjectType
Sortal Type
Rigid Sortal Type
Kind
Mixin Type
Anti-Rigid Sortal Type
Phase
Role
Anti-Rigid MixinType
RoleMixin
R
?
Type
ObjectType
Sortal Type
Rigid Sortal Type
Kind
Mixin Type
Anti-Rigid Sortal Type
Phase
Role
Anti-Rigid MixinType
RoleMixin
R
R’
Type
ObjectType
Sortal Type
Rigid Sortal Type
Kind
Mixin Type
Anti-Rigid Sortal Type
Phase
Role
Anti-Rigid MixinType
RoleMixin
Situations represented by
the valid specifications of
language L
Admissible state of affairs
according to a
conceptualization C
State of affairs
represented
by the valid models
of Ontology O1
State of affairs represented by the valid models
of Ontology O2
Admissible state of affairs
according to the
conceptualization
underlying
O2
Admissible state of affairs
according to the conceptualization underlying
O1
State of affairs
represented
by the valid models
of Ontology O1
State of affairs represented by the valid models
of Ontology O2
Admissible state of affairs
according to the
conceptualization
underlying
O2
Admissible state of affairs
according to the conceptualization underlying
O1
FALSE AGREEMENT!
“one of the main reasons that so many
online market makers have foundered
[is that] the transactions they had
viewed as simple and routine actually
involved many subtle distinctions in
terminology and meaning”
(Harvard Business Review)
“What are ontologies and why we
need them?”
1. Reference Model of Consensus to support different types of
Semantic Interoperability Tasks
2. Explicit, declarative and machine processable artifact coding
a domain model to enable efficient automated reasoning
A Software Engineering view…
Conceptual Modeling
Implementation1
Implementation2
Implementation3
A Software Engineering view…
Conceptual Modeling
DESIGN
Implementation1
Implementation2
Implementation3
…transported to Ontological Engineering
Ontology as a
Conceptual Model
Ontology as
Implementation1
(SHOIN/OWL-DL,
DLRUS)
Ontology as
Implementation2
(CASL)
Ontology as
Implementation3
(Alloy, F-Logic…)
…transported to Ontological Engineering
Ontology as a
Conceptual Model
DESIGN
Ontology as
Implementation1
(SHOIN/OWL-DL,
DLRUS)
Ontology as
Implementation2
(CASL)
Ontology as
Implementation3
(Alloy, F-Logic…)
Semantic Networks
(Collins & Quillian, 1967)
KL-ONE (Brachman, 1979)
The Logical Level
• x Apple(x)  Red(x)
The Epistemological Level
Apple
color = red
Red
sort = apple
The Ontological Level
sortal universal
Apple
color = red
Red
characterizing
Universal
(mixin)
sort = apple
Foundations
• (1) We can only make identity and identification
statements with the support of a Sortal, i.e., the identity of
an individual can only be traced in connection with a Sortal
type, which provides a principle of individuation and
identity to the particulars it collects
Every Object in a conceptual model (CM) of the domain
must be an instance of a class representing a sortal type
Foundations
•
Moreover, since Non-Sortals cannot supply a principle of
identity for its instances, we have that, all Non-Sortal Types
in the model must be represented as Abstract Classes
Unique principle of Identity
X
YY
Unique principle of Identity
X
YY
Foundations
• (2) An individual cannot obey incompatible principles of
identity
Distinctions Among Categories of
Object Types
Type
Object Type
Sortal Type
{Person, Apple, Student}
Non-Sortal Type
{Insurable Item, Red}
Rigidity (R+)
•
A type T is rigid if for every instance x of T, x is
necessarily (in the modal sense) an instance of T. In
other words, if x instantiates T in a given world w, then
x must instantiate T in every possible world w’:
R+(T) =def □(x T(x)  □(T(x)))
e.g.,
R+(Person) =def □(x Person(x)  □(Person(x)))
Anti-Rigidity (R-)
•
A types T is anti-rigid if for every instance x of T, x is
possibly (in the modal sense) not an instance of T.
In other words, if x instantiates T in a given world
w, then there is a possible world w’ in which x does
not instantiate T:
R-(T) =def □(x T(x)  (T(x)))
e.g.,
R-(Student) =def □(x Student)  (Student(x)))
Distinctions Among Categories
of Object Types
Type
ObjectType
Sortal Type
Non-Sortal Type
{Insurable Item}
Rigid Sortal Type
{Person, Brazilian}
Anti-Rigid Sortal Type
{Student, Teenager,
FootballPlayer}
A principle of identity cannot be supplied by
either of these two anti-rigid types,
since it should be used to identify individuals
in every possible situations!
Foundations
• (3) If an individual falls under two sortals in the course of
its history there must be exactly one ultimate rigid sortal
of which both sortals are specializations and from which
they inherit a principle of identity
S
…
P
P’
Restriction Principle
S
…
P
P’
(4) Instances of P and P’ must
have obey a principle of
identity (by 1)
(5) The principles obeyed by the
instances of P and P’ must
be the same (by 2)
(6) The common principle of
identity cannot be supplied
by P neither by P’
Uniqueness Principle
G
(7) G and S cannot have incompatible
principles of identity (by 2).
Therefore, either:
- G supplies the same principle as S
and therefore G is the ultimate Sortal
- G is does not supply any principle
of identity (non-sortal)
…
S
…
P
P’
Distinctions Among Categories
of Object Types
Type
ObjectType
Sortal Type
Non-Sortal Type
{Insurable Item}
Anti-Rigid Sortal Type
Rigid Sortal Type
{Student, Teenager,
FootballPlayer}
Kind
subKind
{Person}
{Man, Woman}
Foundations
• Since the unique principle of identity supplied by a Kind is
inherited by its subclasses, we have that:
• An Object in a conceptual model of the domain cannot
instantiate more than one ultimate Kind
«kind»
SocialBeing
«kind»
Group
Organization
instance of
TheBeatles
I1
«kind»
SocialBeing
I1, I2
«kind»
Group
Organization
instance of
I1, I2
TheBeatles
I2
«kind»
SocialBeing
«kind»
Group
Organization
instance of
TheBeatles
«kind»
SocialBeing
«kind»
Group
Organization
instance of
TheBeatles
Model extracted from CyC!
«kind»
SocialBeing
«kind»
Group
Organization
instance of
TheBeatles
Model extracted from CyC!
This fragment also
Present in FOAF!
«kind»
SocialBeing
«kind»
Group
«constitution»
Organization
instance of
TheBeatles
Staff
instance of
{John,Paul,George,Ringo}
Foundations
• It is not the case that we cannot have multiple supertyping.
Only that we a type cannot have multiple kinds as
supertypes!
Type
ObjectType
Sortal Type
Anti-Rigid Sortal Type
Rigid Sortal Type
Kind
Non-Sortal Type
subKind
A Kind cannot be a supertype of another Kind
Type
ObjectType
Sortal Type
Anti-Rigid Sortal Type
Rigid Sortal Type
Kind
Non-Sortal Type
subKind
A subKind cannot be a supertype of a kind
Type
ObjectType
Sortal Type
Anti-Rigid Sortal Type
Rigid Sortal Type
Kind
Non-Sortal Type
subKind
A subKind type MUST have as a supertype
a (unique) Kind
Type
ObjectType
Sortal Type
Anti-Rigid Sortal Type
Rigid Sortal Type
Kind
Non-Sortal Type
subKind
An Anti-Rigid type MUST have as a supertype
a (unique) Kind
Type
ObjectType
Sortal Type
Anti-Rigid Sortal Type
Rigid Sortal Type
Kind
Non-Sortal Type
subKind
A Kind cannot be a supertype of a Non-Sortal Type
Type
ObjectType
Sortal Type
Anti-Rigid Sortal Type
Rigid Sortal Type
Kind
Non-Sortal Type
subKind
A Kind cannot be a supertype of a Non-Sortal Type
in fact, since all sortals will inherit a principle of
Identity from a Kind
Type
ObjectType
Sortal Type
Anti-Rigid Sortal Type
Rigid Sortal Type
Kind
Non-Sortal Type
subKind
A Sortal Type cannot be a supertype of a Non-Sortal Type
Relational Dependence (D+)
•
A type T is relationally dependent on another type P
via relation R iff for every instance x of T there is an
instance y of P such that x and y are related via R:
D+(T,P,R) =def □(x T(x)  y P(y)  R(x,y))
e.g.,
D+(Student, School, Enrolled-at) =def
□(x Student(x)  y School (y)  Enrolled-at(x,y))
Distinctions Among Categories
of Object Types
Type
ObjectType
Sortal Type
Non-Sortal Type
{Insurable Item}
Anti-Rigid Sortal Type
Rigid Sortal Type
Kind
subKind
{Person}
{Man, Woman}
Phase
{Teenager,
LivingPerson}
Role
{Student,
Husband}
Roles
«role»
Student
enrolled-at
School
*
Roles
e
n
«role»
Student
enrolled-at
School
*
The Relational property in this case is part of
the very definition of the Role:
Student(x) =def Person(x)  y School(y)
 enrolled-at(x,y)
Roles
• Defined as a (anti-rigid) specialization of a kind such that the
specialization condition is a relational one (correlated with
derivation by participation)
«kind»Person
enrolled-at
«role»Student
«kind»School
1..*
1..*
«kind»Person
enrolled-at
«role»Student
«kind»School
1..*
1..*
SCHOOL
PERSON
STUDENT
WORLD W
«kind»Person
enrolled-at
«role»Student
«kind»School
1..*
1..*
SCHOOL
PERSON
STUDENT
WORLD W’
«kind»Person
enrolled-at
«role»Student
«kind»School
1..*
1..*
SCHOOL
PERSON
STUDENT
WORLD W’’
Phases
• Defined as a (anti-rigid) specialization of a kind such that the
specialization condition is an intrinsic one
• Phases are always defined in a so-called Phase Partition
• Phase Partitions are partitions in strong sense, i.e., they are
disjoint and complete generalization sets
Person
{disjoint,complete}
«phase»
LivingPerson
«phase»
DeceasedPerson
Person
{disjoint,complete}
«phase»
LivingPerson
«phase»
DeceasedPerson
LivingPerson
Deceased
Person
PERSON
WORLD W
Person
{disjoint,complete}
«phase»
LivingPerson
«phase»
DeceasedPerson
LivingPerson
Deceased
Person
PERSON
WORLD W’
Person
{disjoint,complete}
«phase»
LivingPerson
«phase»
DeceasedPerson
LivingPerson
Deceased
Person
PERSON
WORLD W’’
{disjoint,complete}
«kind»
Person
«phase»
DeceasedPerson
{disjoint,complete}
«subkind»
Man
«phase»
LivingPerson
«subkind»
Woman
{disjoint,complete}
«kind»
Person
«phase»
LivingPerson
«phase»
DeceasedPerson
{disjoint,complete}
«subkind»
Man
«subkind»
Woman
Man
Living
Person
Deceased
Person
Woman
PERSON
WORLD W
{disjoint,complete}
«kind»
Person
«phase»
LivingPerson
«phase»
DeceasedPerson
{disjoint,complete}
«subkind»
Man
«subkind»
Woman
Man
Living
Person
Deceased
Person
Woman
PERSON
WORLD W’
«phase»
Child
{disjoint,complete}
{disjoint,complete}
«kind»
Person
«phase»
Teenager
«phase»
Adult
«phase»
DeceasedPerson
{disjoint,complete}
«subkind»
Man
«phase»
LivingPerson
«subkind»
Woman
«role»
Customer
«kind»
Person
«role»
Customer
«kind»
Person
«kind»
Organization
«role»
Customer
«kind»
Person
«kind»
Organization
An anti-rigid type cannot be a supertype of a Rigid Type
WORLD W
Student
Person
Instance of
x
WORLD W
Student
Instance of
Person
Instance of
x
WORLD W’
Student
R-
Instance of
Person
Instance of
x
Since Student is anti-rigid, there must be a world
W’ such that x is not an instance of Student in W’
WORLD W’
Student
R-
Person
R+
Instance of
Instance of
x
But since Person is rigid then x
must be an instance of Person in all worlds,
including in W’
WORLD W’
Student
R-
Person
R+
Instance of
Instance of
Instance of
x
But, given the semantics of supertying, we have
that in all worlds (including W’),
whoever is a Person is a Student
WORLD W’
Student
R-
Person
R+
Instance of
Instance of
Instance of
x
We run into a logical contradiction!
Subtyping with Rigid and Anti-Rigid Types
Student
Person
1.
2.
3.
4.
5.
6.
7.
8.
x Person(x)  □Person(x)
x Student(x)  Student(x)
□(Person(x)  Student(x))
Person(John)
Student(John)
□Person(John)
□Student(John)
□Student(John) 
Student(John)
Logical Contradiction!
Type
ObjectType
Sortal Type
Anti-Rigid Sortal Type
Rigid Sortal Type
Kind
Non-Sortal Type
subKind
Phase
Role
An anti-rigid type cannot be a supertype of a Rigid Type
Different Categories of Object Types
Category of Type
Supply
Identity
Inherits
Identity
Rigidity
Dependence
SORTAL
-
+
« kind »
+
+
+
-
« subkind »
-
+
+
-
« role »
-
+
-
+
« phase »
-
+
-
-
NON-SORTAL
-
-
Distinctions Among Object Types
Type
ObjectType
Sortal Type
Rigid Sortal Type
Kind
Non-Sortal Type
Anti-Rigid Sortal Type
subkind
{Person}
Phase
Rigid Non-Sortal Type
Anti-Rigid Non-Sortal Type
Role
{Student,
{Teenager,
Living Person} Employee}
{Customer}
Distinctions Among Object Types
Type
ObjectType
Sortal Type
Rigid Sortal Type
Non-Sortal Type
Anti-Rigid Sortal Type
Kind
subkind
Phase
{Person}
{Man, Woman}
{Student,
Husband}
{Person}
Role
Rigid Non-Sortal Type
Anti-Rigid Non-Sortal Type
Category
{Teenager, {Physical Object}
LivingPerson}
{Student,
{Teenager,
Living Person} Employee}
{Customer}
Categories (I-,R+)
• Categories are rigid non-sortals representing necessary (in
the modal sense) features of entities of different kinds
• Typically, they form the top-most layer of object types in an
ontology
«category»
Rational Entity
PERSON
{disjoint}
«kind»
Person
«kind»
Artificial Agent
ARTIFICIAL
AGENT
RATIONAL ENTITY
Categories
• Like all non-sortals, categories are always defined as
abstract classes, which means that all categories must have
at least a kind as a subtype
Type
ObjectType
Sortal Type
Rigid Sortal Type
Kind
subkind
Non-Sortal Type
Anti-Rigid Sortal Type
Phase
Role
Rigid Non-Sortal Type
Category
Anti-Rigid Non-Sortal Type
Categories
• A kind can be subtype of multiple categories and a category
can be a supertype of multiple kinds
• Since all kinds are disjoint (otherwise the instances in their
intersection would inherit multiple principles of identity), all
subtypes of a category form a disjoint generalization set
• On the other hand, since categories represent features of
multiple kinds, they are very seldom complete
«category»
PhysicalObject
{disjoint}
«kind»Person
«kind»Car
«kind»Bridge
Distinctions Among Object Types
Type
ObjectType
Sortal Type
Rigid Sortal Type
Non-Sortal Type
Anti-Rigid Sortal Type
Kind
subkind
Phase
{Person}
{Man, Woman}
{Student,
Husband}
{Person}
Role
Rigid Non-Sortal Type
Anti-Rigid Non-Sortal Type
Category
RoleMixin
{Teenager, {Physical Object}
LivingPerson}
{Student,
{Teenager,
Living Person} Employee}
{Client}
{Customer}
RoleMixin(I-,R-,D+)
• RoleMixen are anti-rigid and relational dependent nonsortals representing contigent (in the modal sense) features
of entities of different kinds
• As all Non-Sortals, RoleMixins classify entities belonging to
different kinds
• Like all non-sortals, categories are always defined as
abstract classes
Roles with Disjoint Allowed Types
«role»Customer
Person
Organization
Roles with Disjoint Allowed Types
Person
Organization
«role»Customer
participation
Forum
Participant
1..*
Person
SIG
*
participation
Forum
Participant
1..*
Person
SIG
*
Roles with Disjoint Admissible Types
«roleMixin»
Customer
Roles with Disjoint Allowed Types
«roleMixin»
Customer
«role»
PersonalCustomer
«role»
CorporateCustomer
Roles with Disjoint Allowed Types
«roleMixin»
Customer
Person
«role»
PersonalCustomer
Organization
«role»
CorporateCustomer
«roleMixin»
Customer
«kind»
Person
«role»
PrivateCustomer
«roleMixin»
Participant
«kind»
Social Being
Organization
«role»
CorporateCustomer
«kind»
Person
«kind»
Social Being
SIG
«role»
«role»
IndividualParticipant CollectiveParticipant
Roles with Disjoint Admissible Types
1..*
F
«roleMixin»
A
1..*
D
E
«role»
B
«role»
C
Which one is better?
Computer
Computer
has-part
has-part
Computer Part
Disk Drive
Memory
Computer Part
Disk Drive
Memory
Disk Part
Memory Part
by Chris Welty
The Pattern in ORM
by Terry Halpin
RoleMixins
• A RoleMixin cannot be a super-type of a category, in
fact, an Anti-Rigid Non-Sortal type cannot be a
supertype of a rigid one
Type
ObjectType
Sortal Type
Rigid Sortal Type
Kind
subkind
Non-Sortal Type
Anti-Rigid Sortal Type
Phase
Role
Rigid Non-Sortal Type
Anti-Rigid Non-Sortal Type
Category
RoleMixin
RoleMixin
Supplier
PERSON
Personal
Customer
CUSTOMER
Corporate
Customer
ORGANIZATION
WORLD W
RoleMixin
Supplier
PERSON
Personal
Customer
CUSTOMER
Corporate
Customer
ORGANIZATION
WORLD W’
Distinctions Among Object Types
Type
ObjectType
Sortal Type
Rigid Sortal Type
Kind
subkind
{Person}
{Man, Woman}
Non-Sortal Type
Anti-Rigid Sortal Type
Phase
Role
Rigid Non-Sortal Type
Non-Rigid Non-Sortal Type
Category
Anti-Rigid Non-Sortal Type
Semi-Rigid Non-Sortal Type
RoleMixin
Mixin
{Client}
{Insurable Item}
{Student, {Teenager, {Physical Object}
Husband} LivingPerson}
Modal Meta-Properties
• We will discuss here four types of Ontological MetaProperties which are of a modal nature
RIGIDITY
NON-RIGIDITY
ANTI-RIGIDITY
SEMI-RIGIDITY
Non-Rigidity
• Anti-Rigidity is not the logical negation of rigidity, nonrigidity is! Anti-Rigidity is stronger than that as a logical
constraint
Rigidity
R+(T) =def □(x T(x)  □(T(x)))
Logical Negation
Non-Rigidity
R-(T) =def (xT(x) T(x))
Non-Rigidity
• Anti-Rigidity is not the logical negation of rigidity, nonrigidity is! Anti-Rigidity is stronger than that as a logical
constraint
Rigidity
R+(T) =def □(x T(x)  □(T(x)))
Logical Negation
Non-Rigidity
Anti-Rigidity
R-(T) =def (xT(x) T(x))
R~(T) =def □(x T(x)  (T(x)))
Non-Rigidity
• Anti-Rigidity is not the logical negation of rigidity, nonrigidity is! Anti-Rigidity is stronger than that as a logical
constraint
Rigidity
R+(T) =def □(x T(x)  □(T(x)))
Logical Negation
Non-Rigidity
R-(T) =def (xT(x) T(x))
Anti-Rigidity
R~(T) =def □(x T(x)  (T(x)))
Semi-Rigidity
R (T) =def R-(T)  R~(T)
Mixins
• Mixins represent semi-rigid features of multiple kinds
• Since all kinds are disjoint, all subtypes of a mixin form a
disjoint generalization set. On the other, like in the case of
categories, these generalization sets are very seldom
complete
«mixin»
InsuredItem
«kind»House
{disjoint}
{disjoint,complete}
«kind»Car
«phase»
«phase»
InsuredHouse NonInsuredHouse
Mixin
CAR
INSURABLE
ITEM
HOUSE
Insured
house
Uninsured
house
WORLD W
Mixin
CAR
INSURABLE
ITEM
HOUSE
Insured
house
Uninsured
house
WORLD W’
Different Categories of Object Types
Category of Type
Supply
Identity
Identity
Rigidity
Dependence
SORTAL
-
+
« kind »
+
+
+
-
« subkind »
-
+
+
-
« role »
-
+
-
+
« phase »
-
+
-
-
NON-SORTAL
-
-
« category »
-
-
+
-
« roleMixin »
-
-
-
+
« mixin »
-
-
~
-
Ontological Meta-Properties of Object Types
• These ontological meta-properties define a typology of
Object Types that:
– Define a formal semantics for these modeling primitives
(present in a number of current approaches – ORM,
OntoClean) but which have been defined in a ad hoc manner
in the past
– Support a number of operational semantics with important
consequences to a number of implementation technologies
(e.g., OWL, OOP, RDB), but also for verification and validation
technologies
– Define methodological guidelines for guiding users in the
modeling activity
Ontology-Derived Patterns
1..*
Obj.Type F
«roleMixin»
A
Sortal D
«role»
B
1..*
Sortal E
«role»
C
min1
ATL Transformation
Simulation and Visualization
Alloy Analyzer + OntoUML visual Plugin
1..*
«mediation»
«role»
Transplant Surgeon
«kind»
Person
«role»Organ Donee
1
«mediation»
1..*
«mediation»
«relator»Transplant
«role»Organ Donor
1
1..*
1..*
FORMAL THEORIES OF PARTHOOD
Parthood
• Part-whole relations are fundamental from a cognitive
perspective, i.e., for the realization of many important
cognitive tasks.
• Moreover, and also for this reason, parthood is a relation of
significant importance in conceptual modeling, being
present in practically all conceptual/object-oriented
modeling languages (e.g., OML, UML, EER)
• Although it has not yet been adopted as a modeling
primitive in the semantic web languages, there is a
significant body of work discussing its relevance for
reasoning in description logics
• From now on, we use the symbol (<) to represent the partwhole relation
Ground Mereology
Parthood is irreflexive, i.e., nothing is part of itself
x (x<x)
Ground Mereology
Parthood is irreflexive, i.e., nothing is part of itself
x (x<x)
Parthood is anti-symmetric, i.e., if X is part of Y
then Y cannot be part of X
x,y (x < y)  ¬(y < x)
Ground Mereology
Parthood is irreflexive, i.e., nothing is part of itself
x (x<x)
Parthood is anti-symmetric, i.e., if X is part of Y
then Y cannot be part of X
x,y (x < y)  ¬(y < x)
Parthood is transitive, i.e., if X is part of Y
and Y is part of Z then X is part of Z
x,y,z (x < y)  (y < z)  (x < z)
Minimum Mereology
• The formal semantics just present defines a so-called strict
partial order relation
• These axioms are not sufficient to differentiate parthood
from other partial order relations (e.g., less-than, biggerthan, causality, strict temporal precedence)
• A stronger theory named Minimum Mereology, thus,
defines some additional notions
Overlap
X
Y
Two entities overlap if they share a part
(x  y) =def z (z  x)  (z  y)
Notice that this includes the case in which
one is part of the other
Y
X
X
Y
Disjointness
X
Two entities are disjoint if they do no overlap
(x  y) =def ¬(x  y)
Y
Weak Supplementation
• Mininum Mereology takes the partial order axioms of
Ground Mereology and includes the so-called WSP (Weal
Supplementation Property)
X
Y
?
Weak Supplementation
X
Y
?
X
Y
Z
Weak Supplementation Principle
If Y is part of X and if parthood is irreflexive
Then there must be another part of X which
is complementary to Y
x,y (y < x)  z (z < x)  (z  y)
Weak Supplementation Principle
*
Event
*
1..*
Event
*
Weak Supplementation Principle
*
Event
*
1..*
Event
*
Weak Supplementation Pattern
2..*
Entity
{disjoint,complete}
AtomicEntity
ComplexEntity
*
Weak Supplementation Pattern
2..*
Event
{disjoint,complete}
AtomicEvent
ComplexEvent
*
Extensional Mereology
• From a formal perspective, the most used theory of
parthood is the Extensional Mereology, which can be
obtained from the Minimum Mereology by including a
Strong Supplementation Principle
Extenstional Mereology (+Strong Supplementation Principle)
Minimum Mereology (+WSP)
Ground Mereology (Irreflexivity, Anti-Symmetry, Transitivity)
Extensional Mereology
• The Strong Supplementation Principle implies something
called the Extensional Principle which implies that: two e
entities are identical if they have the same parts
((x=y)  z ((z < x)  (z < y)))
Problems from a Conceptual Modeling
point of view
• Ground Mereology
– Unrestricted transitivity of parthood
John
part of
Conceptual
Modeling
Group
part of
part of
UFES
John´s
Brain
part of
part of
John
part of
UFES
John´s
Brain
part of
part of
John
part of
UFES
Problems from a CM point of view
• Extensional Mereology
– Extensional Principle of Identity which makes all parts of an
entity as essential parts
– In other words, every object is defined by the sum of its. Thus,
we have that:
• (i) The change of any of the parts changes the identity of the object
John
George
Paul
Paul
John
Pete
The Beatles
Ringo
George
?
Problems from a CM point of view
• Extensional Mereology
– Extensional Principle of Identity which makes all parts of an
entity as essential parts
– In other words, every object is defined by the sum of its. Thus,
we have that:
• (ii) Two objects are the same if and only if they have the same parts
John
George
Paul
Pete
The Beatles = The Liverpool Indoors Football Team
Problems from a CM point of view
• Extensional Mereology
– Failure to take into account the different roles that parts play
within the whole. In other words, not all parts have the same
importance with respect to the whole: some parts are
optional, some parts can be replaced by others of the same
kind, some parts cannot be replaced without causing the
entity to change its class. Finally, some parts cannot be
replaced at all, i.e., without altering the identity of the whole
Problems from a CM point of view
• Extensional Mereology
– There are other meta-properties that can be used to qualify
the relation between parts and wholes. An common one is
the distinction between shared or non-shared parts.
Problems from a CM point of view
• Extensional Mereology
– There are other meta-properties that can be used to qualify
the relation between parts and wholes. An common one is
the distinction between shared or non-shared parts.
•The other representations of parthood in UML is termed Composition
•The black diamond is connected to the whole
•Composition is supposed to be a irreflexive, anti-symmetric and
transitive relation
•It is also suppose to imply non-shareability of parts and lifetime
dependence from the part to the whole
•As we will see, the notions of non-shareability, lifetime dependence
and transitivity are orthogonal!
Problems from a Conceptual Modeling
point of view
• In general, mereological theories treat aggregates (wholes)
roughly as sets of entities
• As a consequence, the conditions that bind all the parts of a
whole together are minimal. Thus, a whole formed by any
arbitrary sum of entities is considered as good as any other (e.g.,
the aggregate of number 3, van Gogh’s ear and the third act of
Turandot)
• However, humans only accept the aggregation of entities if the
resulting aggregate plays some role in their conceptual schemes,
i.e., if the wholes they form represent genuine categories
• We need then genuine unifying (characterizing) relations for
Integral Wholes
Integral Wholes
• We must complement mereology (the theory of parts) with
a theory of wholes, in which the relations that tie the parts
of a whole together are also considered.
Not one but several parthood relations
• Studies in Cognitive Science and Linguistics have shown that
we do not have a single notion of part, but multiple
parthood relations forming different types of aggregates
– (a) Quantities
• Subquantity of (alcohol-wine)
– (b) Collectives
• Member of (a specific tree – the black forest)
• Subcollective of (the north part of the black forest – the black forest)
– (c) Functional Entities
• Component of (heart-circulatory system)
Not one but several parthood relations
• These different notions of part are neither orthogonal to
the previously mentioned mereological axioms nor to the
different meta-properties that can be applied to part-whole
relations. Moreover, different notions of parts are related
to different sorts of unifying relations
Tool Support
The underlying algorithm merely has to check structural properties of the
diagram and not the content of involved nodes
OPTIONAL, MANDATORY,
IMMUTABLE AND ESSENTIAL
PARTHOOD
Optional Parts
• Optional Parts are parts that the whole can lack without
having any effect on its classification or identity
Car
Spare Tyre
1
0..1
• Contrast it with non-optional parts:
Car
Engine
1
1
John
partOf
John’s Heart
Heart
John’s
Person
Heart
1
1
John
partOf
John’s Brain
Person
Brain
1
1
Different Types of Dependence Relations
• The two relations just described reflect two different types
of ontological dependence relations
Generic Dependence
•
An individual y is generic dependent of a type T if for y
to exists it requires an instance of T to exists as well
GD(y,T) =def □((y)  x T(x)  (x))
Generic Dependence
•
An individual y is generic dependent of a type T if for y
to exists it requires an instance of T to exists as well
GD(y,T) =def □((y)  x T(x)  (x))
represents existence
Mandatory Parthood
•
An individual x is a mandatory part of another
individual y if y is generically dependent of an type T
that x instantiates, and y has, necessarily, as a part an
instance of T:
MP(T,y) =def □((y)  (x T(x) (x < y))
John
partOf
John’s Heart
Heart
John’s
Person
Heart
1
1
□(x Person(x)  (□((x)  !y Heart(y)  (y < x))))
Existential Dependence
•
We have that an individual x is existentially dependent
on another individual y (symbolized as ed(x,y)) if, in
order to exist, x requires that (one specific ) y exists as
well
ed(x,y) =def □((x)  (y))
Essential Parthood
•
An individual x is an essential part of another
individual y if y is existentially dependent on x and x
is, necessarily, a part of y:
EP(x,y) =def □((y)  (x  y))
John
partOf
John’s Brain
{essential}
Person
1
Brain
1
□(x Person (x) (!y Brain(y)  □((x)  (y < x))))
Contrast Mandatory vs. Essential Parthood
Mandatory Part
□(x Person(x)  (□((x)  !y Heart(y)  (y < x))))
Consider □ as an iterator over a set of worlds
The instance of heart can change from world to world
Essential Part
□(x Person (x) (!y Brain(y)  □((x)  (y < x))))
The instance of Brain is selected before □ starts
Iterating from world to world, i.e., the instance of
Brain is fixed and cannot change!
Essential vs. Mandatory Part
{essential}
Car
Chassis
0..1
1
0..1
Engine
1
Essential Parts
Time
Lifespan of an essential part
a
b
c
Possibilities for
the lifespan of the whole
d
= start of lifetime
= end of lifetime
Extensional Individuals
• Now, one can easily define the notion of an extensional
individual (from the extensional mereology) using the
notion of Essential Parts
Ext(y) =def □(x (x < y)  EP(x,y))
Now from the part to the whole…
Inseparable Parthood
•
An individual x is an inseparable part of another
individual y if x is existentially dependent on y, and x is,
necessarily, a part of y:
IP(x,y) =def □((x)  (x  y))
Inseparable Parthood
•
An individual x is an inseparable part of another
individual y if x is existentially dependent on y, and x is,
necessarily, a part of y:
IP(x,y) =def □((x)  (x  y))
{essential,
inseparable}
Person
1
Brain
1
□(x Brain (x) (!y Person(y)  □((x)  (x < y))))
Mandatory Wholes
•
An individual y is a mandatory whole for another
individual x if, x is generically dependent on a type T
that y instantiates, and x is, necessarily, part of an
individual instantiating T:
MW(T,x) =def □((x)  (y T(y)  (x < y)))
Mandatory Wholes
•
An individual y is a mandatory whole for another
individual x if, x is generically dependent on a type T
that y instantiates, and x is, necessarily, part of an
individual instantiating T:
MW(T,x) =def □((x)  (y T(y)  (x < y)))
Person
Heart
1
1
□(x Heart(x)  (□((x)  !y Person(y)  (x < y))))
Inseparable Parts
Time
Lifespan of the whole
a
b
c
d
Possibilities for
the lifespan of an
inseparable part
Essentiality and Inseparability
•
Essentiality does not imply inseparability:
–
•
Think about a Collected Works publication of some authors. It is
defined by that specific extensional collection of papers, but
the papers could exist prior to and outlive the collection
Inseparability does not imply Essentiality :
–
A whole in this table is an inseparable part of it, but not an
essential part of the table
Essential and Inseparable Parts
Time
Lifespan of the whole
Lifespan of an essential
and inseparable part
As we will see later Essentiality does not
imply unshareability...
Unshareability also does not imply
Essentiality!
John’s Heart
partOf
«kind»Person
«kind»Heart
1
1
1
{essential,
inseparable}
partOf
«kind»Brain
1
Parts of Anti-Rigid Object Types
•
•
“every boxer must have a hand”
“every biker must have a leg”
«kind»
Person
«role»Boxer
«kind»Hand
1
1..2
Mandatory Part?
«kind»
Person
«role»Boxer
«kind»Hand
1
1..2
□(x Boxer(x)  (□((x)  y Hand(y)  (y < x))))
Mandatory Part?
«kind»
Person
«role»Boxer
«kind»Hand
1
1..2
□(x Boxer (x)  (□((x)  y Hand(y)  (y < x))))
The instance of hand can change from world to world?
Mandatory Part?
«kind»
Person
«role»Boxer
«kind»Hand
1
1..2
□(x Boxer(x) (y hand(y)  □((x)  (y < x))))
Essential Part?
«kind»
Person
«role»Boxer
«kind»Hand
1
1..2
□(x Boxer(x) (y hand(y) □((x)  (y < x))))
This implies that the boxer must have that hand
in every possible situation. Is it true?
De Re/De Dicto Modalities
(i) The queen of the Netherlands is necessarily queen;
(ii) The number of planets in the solar system is
necessarily even.
Sentence (i)
• The queen of the Netherlands is necessarily queen:
x QueenOfTheNetherlands(x)  □(Queen(x))
□(x QueenOfTheNetherlands(x)  Queen(x))
DE RE
DE DICTO
Sentence (i)
• The queen of the Netherlands is necessarily queen:
x QueenOfTheNetherlands(x)  □(Queen(x))
□(x QueenOfTheNetherlands(x)  Queen(x))
DE RE
DE DICTO
Sentence (ii)
• The number of planets in the solar system is
necessarily even:
x NumberOfPlanets(x)  □(Even(x)))
□(x NumberOfPlanets(x)  Even(x)))
DE RE
DE DICTO
Sentence (ii)
• The number of planets in the solar system is
necessarily even:
x NumberOfPlanets(x)  □(Even(x)))
□(x NumberOfPlanets(x)  Even(x)))
DE RE
DE DICTO
The Boxer Example
“every boxer must have a hand”
“If someone is a boxer than he has at least a
hand in every possible circumstance”
DE RE
□((x Boxer(x)  y Hand (y)  □((x)  (y < x)))
□((x Boxer(x)  □((x)  y Hand(y)  (y < x)))
“In any circumstance, whoever is boxer has at
least one hand”
DE DICTO
The Boxer Example
“every boxer must have a hand”
“If someone is a boxer than he has at least a
hand in every possible circumstance”
DE RE
□((x Boxer(x)  y Hand (y)  □((x)  (y < x)))
□((x Boxer(x)  □((x)  y Hand(y)  (y < x)))
“In any circumstance, whoever is boxer has at
least one hand”
DE DICTO
The Boxer Example
“every boxer must have a hand”
“If someone is a boxer than he has at least a
hand in every possible circumstance”
DE RE
□(x Boxer(x)  y Hand (y)  □((x)  (y < x)))
□(x Boxer(x)  □((x)  y Hand(y)  (y < x)))
“In any circumstance, whoever is boxer has at
least one hand”
DE DICTO
□(x Boxer(x) y Hand(y)  □((x)  Boxer(x)  (y < x)))
The Boxer Example
“every boxer must have a hand”
“If someone is a boxer than he has at least a
hand in every possible circumstance”
DE RE
□(x Boxer(x)  y Hand (y)  □((x)  (y < x)))
□(x Boxer(x)  □((x)  y Hand(y)  (y < x)))
“In any circumstance, whoever is boxer has at
least one hand”
DE DICTO
□(x Boxer(x) y Hand(y)  □((x)  Boxer(x)  (y < x)))
On one hand, the object is fixed
.On the other hand, the parthood relation
is only required to take place in those
worlds in which the person is a Boxer
Further Distinctions among Part-Whole
relations
(i) specific dependence with de re modality: Essential Parts
(ii) generic dependence with de re modality: Mandatory parts
(iii) specific dependence with de dicto modality: Immutable parts
Lifetime Dependency (Essential Parts)
Notice that
1. Only Rigid Types can be connected to Essential Parts
2. Essential implies Mandatory
–
If you need to have a specific part X in every possible
situation then you need to have a part of type T (where T is
the type of X) in every possible situation
{essential}
A
B
1
*
Notice that
1. Only Rigid Types can be connected to Essential Parts
2. Essential implies Mandatory
–
If you need to have a specific part X in every possible
situation then you need to have a part of type T (where T is
the type of X) in every possible situation
{essential}
A
B
1
*
{essential}
A
B
1
1..*
Notice that
3. Inseparable implies Mandatory Whole
–
If you need to be part of a specific whole X in every possible
situation then you need to be part of an instance of type T
(where T is the type of X) in every possible situation
{inseparable}
A
B
1
1..*
Notice that
4. Essential implies Immutable Part
5. Inseparable implies Immutable Whole
The De Dicto equivalent of De Re formulae
Essential Part (DE RE)
□(x Person (x)  !y Brain(y) 
□((x)  (y < x)))
Inseparable Part (DE DICTO)
□(x Person (x)  !y Brain(y) 
□((x)  Person(x)  (y < x)))
The De Dicto equivalent of De Re formulae
Essential Part (DE RE)
□(x Person (x)  !y Brain(y) 
□((x)  (y < x)))
Essential Part (DE DICTO)
□(x Person (x)  !y Brain(y) 
□((x)  Person(x)  (y < x)))
Notice that this identical to the definition of Immutable Parts
If Person is Rigid then this is always true! In other words,
an Essential Part is immutable part defined for a Rigid Type
The De Dicto equivalent of De Re formulae
Mandatory Part (DE RE)
□(x Person (x)  □((x)
 !y Heart(y)  (y < x)))
Mandatory Part (DE DICTO)
□(x Person (x)  □((x)  Person(x)
 !y Heart(y)  (y < x)))
Immutable Part
«kind»
Person
{immutable part}
«role»Boxer
«kind»Hand
1
1..2
□(x Boxer(x) y hand(y) 
□((x)  Boxer(x)  (y < x)))
□(x A(x)  □((x)  A(x)
 y C(y)  (y < x)))
A
C
1
1
1
{immutable part}
1
B
□(x A(x)  y B(y) 
□((x)  A(x)  (y < x)))
□(x A(x)  □((x)  A(x)
 y C(y)  (y < x)))
A
C
1
1
1
{immutable part}
1
B
□(x A(x)  y B(y) 
□((x)  A(x)  (y < x)))
If A is a rigid type then B becomes an essential part of A
and the formulae can be simplified
□(x C(x)  □((x)  C(x)
 y A(y)  (x < y)))
A
C
1
1
1
{immutable whole}
1
B
□(x B(x)  y A(y) 
□((x)  B(x)  (x < y)))
□(x C(x)  □((x)  C(x)
 y A(y)  (x < y)))
A
C
1
1
1
{immutable whole}
1
B
□(x B(x)  y A(y) 
□((x)  B(x)  (x < y)))
If A is a rigid type then B becomes an inseparable part of A
and the formulae can be simplified
Example of Immutable Whole
«kind»
Brain
{disjoint,complete}
1
«phase»
NonFunctioningBrain
1
«phase»
FunctioningBrain
«kind»Person
{essential,
immutable whole}
Example of Immutable Whole
«kind»
Brain
{disjoint,complete}
1
«phase»
NonFunctioningBrain
1
«phase»
FunctioningBrain
«kind»Person
{essential,
immutable whole}
□(x FunctioningBrain(x)  !y Person(y)  □((x)
 FunctioningBrain(x)  (x < y)))
Example of Immutable Whole
□(x Person (x)  !y FunctioningBrain(y)
□((x)  FunctioningBrain(y)  (y < x)))
«kind»
Brain
{disjoint,complete}
1
«phase»
NonFunctioningBrain
1
«phase»
FunctioningBrain
«kind»Person
{essential,
immutable whole}
□(x FunctioningBrain(x)  !y Person(y)  □((x)
 FunctioningBrain(x)  (x < y)))
Immutable Whole and Immutable Part
□(x LivingPerson (x)  !y FunctioningBrain(y)
□((x)  LivingPerson(y)  FunctioningBraing(x)  (y < x)))
«kind»
Brain
«kind»Person
{disjoint,complete}
{disjoint,complete}
1
«phase»
NonFunctioningBrain
1
«phase»
LivingPerson
«phase»
FunctioningBrain
«phase»
DeceasedPerson
{immutable part,
immutable whole}
□(x FunctioningBrain(x)  !y LivingPerson(y)  □((x)
 FunctioningBrain(x)  LivingPerson(y)  (x < y)))
□(x A(x)  □((x)  A(x)
 y C(y)  (y < x)))
A
C
1
1
1
{immutable part}
1
B
□(x A(x)  y B(y) 
□((x)  A(x)  B(y)  (y < x)))
If A and B are rigid types then the predicates in red
can be omitted
□(x C(x)  □((x)  C(x)
 y A(y)  (x < y)))
A
C
1
1
1
{immutable whole}
1
B
□(x B(x)  y A(y) 
□((x)  B(x)  A(x)  (x < y)))
If A and B are rigid types then the predicates in red
can be omitted
For the case
of mandatory parts
and mandatory wholes,
these remain the same
□(x C(x)  □((x)  C(x)
 y A(y)  (x < y)))
A
C
1
1
1
{immutable whole}
1
B
□(x B(x)  y A(y) 
□((x)  B(x)  A(x)  (x < y)))
If A and B are rigid types then the predicates in red
can be omitted
Mandatory Part and Mandatory Whole
□(x LivingPerson(x)  □((x)  LivingPerson(x) 
y FunctioningHeart(y)  (y <x)))
«kind»
Person
«kind»
Heart
{disjoint,complete}
{disjoint,complete}
1
«phase»
NonFunctioningHeart
«phase»
FunctioningHeart
1
«phase»
LivingPerson
«phase»
DeceasedPerson
□(x FunctioningHeart(x)  □((x)  FunctioningHeart(x) 
y LivingPerson(y)  (x < y)))
http://www.iaoa.org/
gguizzardi@inf.ufes.br