SlideShare a Scribd company logo
Jarrar © 2011 1
Final Check &
Schema Engineering Issues
Lecture Notes on Schema Engineering
Birzeit University
2011
Dr. Mustafa Jarrar
University of Birzeit
mjarrar@birzeit.edu
www.jarrar.info
Knowledge Engineering (SCOM7348)
Chapter 7, Chapter 12, & Selected Topics
Jarrar © 2011 2
Conceptual Schema Design Steps
1. From examples to elementary facts
2. Draw fact types and apply population check
3. Combine entity types
4. Add uniqueness constraints
5. Add mandatory constraints
6. Add set, subtype, & frequency constraints
7. Final checks, & schema engineering issues
Jarrar © 2011 3
Outline
• Final Check
o Rules Implications
o Rules Contradictions
o Modeling Tips (Check List)
• Rules Verbalization
• Schema equivalence and Optimization
• Schema Modularization
Jarrar © 2011 4
Final Checks
No constraint contradict the other.
No constraint implies the other.
Other Modeling Tips (Check List)
Jarrar © 2011 5
Constraint Implications (Examples)
 Many different examples are given in previous chapters
Some constraints may imply each other (see cases below), the implied
constraint should be removed because it complicates the model without
bringing no value.
Jarrar © 2011 6
Outline
• Final Check
o Rules Implications
o Rules Contradictions
o Modeling Tips (Check List)
• Rules Verbalization
• Schema Equivalence and Optimization
• Schema Modularization
Jarrar © 2011 7
Constraint Contradictions (Examples)
D will never be
populated, because of
the exclusive constraint
C will never be populated,
because A ad B ad
disjoint by definition.
One of the roles (r1, r2, or r3) will never be populated,
because we have only two values possible ‘a1’ and ‘a2’
Due to the frequency constraint, there should be at least two
different values to populate r1. In order to populate r3, we
need, by the exclusion constraint, a value different from the
two for role r1. In total, we thus need three different values in
order to be able to populate both r1 and r2, but this
contradicts with the value constraint on object-type A: we only
have 2 values at our disposal.
Some constraints may contradict each other (see cases below).
Based on [1]
Jarrar © 2011 8
Constraint Contradictions (Examples)
the uniqueness constraint indicates that the role r1 should be played by at most
one element, while the frequency constraint demands that there are at least 2
and at most 5 participants in the role. It is thus impossible to populate r1.
If the frequency constraint 3-5 on r1 is satisfied, each instance of A must play
r1 at least three times, and thus three different instances of B are required.
However, there are only two possible instances of B, which are declared by the
value constraint {‘x1’, ‘x2’}. Thus r1 cannot be populated.
Who can tell where the contradictions?
Based on [1]
Jarrar © 2011 9
Constraint Contradictions (Examples)
The exclusion constraint between the two roles r1
and r3 means that their populations should be
distinct. However, in order to satisfy the subset
constraint between the relations (r1; r2) and (r3;
r4), the populations of r1 and r3 should not be
distinct. In other words, the exclusion constraint
between roles r1 and r3 implies an exclusion
constraint between the relations (r1; r2) and (r3;
r4), which contradicts any subset or equality
constraint between both predicates.
 Many different examples are given in previous chapters
 Any Idea to detect such contradictions automatically?
Based on [1]
Jarrar © 2011 10
Reasoning on ORM Schemes
 Schema satisfiability: A schema is satisfiable if and only if there is at
least one concept in the schema that can be populated.
 Concept satisfiability: A schema is satisfiable if and only if all
concepts in the schema can be populated.
 Role satisfiability: A schema is satisfiable if and only if all roles in the
schema can be populated.
 Concept satisfiability implies schema satisfiability .
 Role satisfiability implies concept satisfiability .
 Weak satisfiability
 Strong satisfiability
Person Course
Teaches
Studies
{Math1, Prog1}
3-5
Based on [2]
Jarrar © 2011 11
Schema Satisfiability
A schema is satisfiable if and only if there is at least one concept in
the schema that can be populated.
 Weak satisfiability
Person Course
Teaches
{Math1, Prog1}
3-5
 Schema-Satisfiable,
because A, B, and C can be populated
 Schema-Satisfiable,
As both concepts alone (Person & Courses)
can be populated, although the roles cannot
be populated.
P1
P2
Math1
Prog1
- -
 Schema-Unsatisfiable,
As both concepts alone (Person &Courses)
can be populated, although the roles cannot
be populated.- -- -
Person Course
Teaches
{Math1, Prog1}
3-5
Jarrar © 2011 12
Concept Satisfiability
Person Course
Teaches
{Math1, Prog1}
3-5
 Concept-Unsatisfiable,
because there is one concept (i.e. D) that
cannot be populated.
 Concept-Satisfiable,
As all concepts can be populated, although
the roles cannot be populated.
P1
P2
Math1
Prog1
- -
 Concept-Unsatisfiable,
As no concepts can be populated, because
of the mandatory constraints.
- -- -
Person Course
Teaches
{Math1, Prog1}
3-5
A schema is satisfiable if and only if all concepts in the schema can be
populated.
Jarrar © 2011 13
Role Satisfiability
Person Course
Teaches
{Math1, Prog1}
3-5  Role-Unsatisfiable,
As no roles can be populated.
P1 Math1
P1 Prog1
 role-Unsatisfiable,
As all roles cannot be populated.Person Course
Teaches
{Math1, Prog1}
3-5
 role-Unsatisfiable,
As not all roles can be populated.
Reviews
Person Course
Teaches {Math1, Prog1}
3-5
- -
A schema is satisfiable if and only if all roles in the schema can be
populated.
Jarrar © 2011 14
Role Satisfiability
Person Course
Teaches
{Math1, Prog1}
3-5  Role-Unsatisfiable,
As no roles can be populated.
P1 Math1
P1 Prog1
 role-Unsatisfiable,
As all roles cannot be populated.Person Course
Teaches
{Math1, Prog1}
3-5
 role-Unsatisfiable,
As some roles can be populated.
Reviews
Person Course
Teaches {Math1, Prog1}
3-5
- -
A schema is satisfiable if and only if all roles in the schema can be
populated.
Although it is a strong requirement, but we
recommend that your conceptual model
is Role Satisfiable.
Jarrar © 2011 15
DogmaModeler
Is the only tool that can detect constraint contradiction for ORM
http://www.jarrar.info/Dogmamodeler/
Jarrar © 2011 16
DogmaModeler
Is the only tool that can detect constraint contradiction for ORM
Jarrar © 2011 17
DogmaModeler
Is the only tool that can detect constraint contradiction for ORM
Jarrar © 2011 18
Outline
• Final Check
o Rules Implications
o Rules Contradictions
o Modeling Tips (Check List)
• Rules Verbalization
• Schema Equivalence and Optimization
• Schema Modularization
Jarrar © 2011 19
Modeling Tips and Common Mistakes
(for beginners)
 Check each role in the model, whether it should be unique?
 Check each role in the model, whether it should be Mandatory?
 Check each entity (Object Type) whether it has an identity?
 Check each leaf nodes whether should be Value Type?
 Check each value constraint whether it placed on Value Type only?
 The syntax of values and ranges in value constraints is correct.
 Check each subtype, that it is playing some roles.
 External uniqueness and disjunctive mandatory constraints are
placed on the correct roles.
 Preferred: If you have subtypes, then their supper type should have
a value constraint.
Based on [3]
Jarrar © 2011 20
 Role names:
 At least one role, in each relation, has a label.
 Names should be correct, expressive, and meaningful
 Naming style: for example “WorksFor”, “AffiliatedWith”, “IsOf”, etc.
 Concept Names:
 Should be expressive and meaningful (as used in the domain), correct translation
 Naming style: for example “FacultyMember”, “NaturalPerson”
 Don’t use plural as concept labels (e.g., students, courses)
 ReadabilityBeauty of the Diagrams
 place related properties beside each other (country, city…) or (name, fname, lname).
 Flip roles if needed.
 Lines are straight, and the whole diagram is balanced (as much as you can)
 Page layout is landscape if needed.
 The sizes of the concepts are equal, unless you what to emphasize the main concepts.
 Important concepts are placed in the middle, and all concepts are aligned.
 Roles are aligned and similar roles have the size.
 Populate a page as much as you can (BUT NOT too much)
 Do not clone concepts if not necessary
 Modularize a large diagram into pages (but keep very related concepts in the same
page).first pages contain the most important
 Write your project details (name, course, year, project#, date,….) in each page.
Modeling Tips and Common Mistakes
(for beginners) Based on [3]
Jarrar © 2011 21
Outline
• Final Check
o Rules Implications
o Rules Contradictions
o Modeling Tips (Check List)
• Rules Verbalization
• Schema Equivalence and Optimization
• Schema Modularization
Jarrar © 2011 22
Rules Verbalization
Verbalization is the process of writing the semantics captured by the
ORM constrains as pseudo-natural language (fixed-syntax) sentences.
- Subsumption: Each Manager must be a type of Person.
- Mandatory: Each Person must Has at least one Name.
- Mandatory: Each Person must Has at least one BirthDate.
- InterUniqueness: The combination of {BirthDate, Name} must refer to at most one Person.
- Equality: Each Person WorksFor a Company must AffliatedWith that Company, and vice versa.
- Subset: Each Manager who Manages a Company must WorksFor that Company.
- ExMandatory: Each Account OwnedBy Person or OwnedBy Company, or both.
- Exclusion: No Account can be OwnedBy a Company and OwnedBy a Person.
Notice that these verbalizations
can be generated atomically
using fixed templates
Based on [3]
Jarrar © 2011 23
Rules Verbalization
Verbalization is the process of writing the semantics captured by the
ORM constrains as pseudo-natural language (fixed-syntax) sentences.
- Subsumption: Each Manager must be a type of Person.
- Mandatory: Each Person must Has at least one Name.
- Mandatory: Each Person must Has at least one BirthDate.
- InterUniqueness: The combination of {BirthDate, Name} must refer to at most one Person.
- Equality: Each Person WorksFor a Company must AffliatedWith that Company, and vice versa.
- Subset: Each Manager who Manages a Company must WorksFor that Company.
- ExMandatory: Each Account OwnedBy Person or OwnedBy Company, or both.
- Exclusion: No Account can be OwnedBy a Company and OwnedBy a Person.
Notice that these verbalizations
can be generated atomically
by using fixed templates
 This pseudo-natural language is understandable for domain
experts, which enables them to help in the modeling process, as
they can review whether the rules are correct.
 See http://www.jarrar.info/orm/verbalization/
which offers templates for verbalizing ORM in 10 languages
Jarrar © 2011 24
An ORM model with many constraints
Jarrar © 2011 25
Verbalization of the constraints (English)
-[Mandatory] Each Person must Has at least one PassPortNr.
-[Mandatory] Each Person must Has at least one BirthDate.
-[Mandatory] Each Account should be Owned-By Company or Owned-By Person.
-[Uniqueness] Each Person must Has at most one BirthDate.
-[Uniqueness] Each Person must Has at most one Name.
-[Uniqueness] Each Person must Has at most one PassPortNr.
-[Uniqueness] Each PassPortNr must IsOf at most one Person.
-[Uniqueness] It is possible that Person teaches more than one Course , and vice versa.
-[Uniqueness] It is possible that Person Reviews more than one Book , and vice versa.
-[Uniqueness] It is possible that Person Writes more than one Book , and vice versa.
-[Uniqueness] It is possible that Person Drivers more than one Car , and vice versa.
-[Uniqueness] The combination of { BirthDate and Name } must refer to at most one Person.
-[Exclusive] Each Person should be either Woman or Man.
-[Totality] Each Person must be, at least, Man or Woman.
-[Subset] If Person Drivers Car then this Person AuthorisedWith Driving Licence.
-[Subset] If Manager manages Company then this Person WorksFor that Company.
-[Equality] Person WorksFor University if and only if this Person teaches Course.
-[Equality] Person AffiliatedWith Company if and only if this Person WorksFor that Company.
-[Exclusion] No Account Owned-By Company and also Owned-By Person.
-[Exclusion] No Person Writes Book and also Reviews that Book.
-[Value] The possible instances of Country are :{Belgium, France, Germany}
-[Irreflexive] No Person ColleagueOf it/him self.
-[Symmetric] If Person X ColleagueOf Person Y, it must be vice versa.
-[Acyclic] Person cannot be directly (or indirectly through a chain) SuperiorOf it/him self .
-[Acyclic] Woman cannot be directly (or indirectly through a chain) SisterOf it/him self .
-[Asymmetric] If Person X WifeOf Person Y, it cannot be vice versa .
-[Intransitive] If Person X ParentOf Person Y, and Y ParentOf Z, then it cannot be that X ParentOf Z.
-[Frequency] If Person Teaches Course, then this Person Teaches at least 3 and at most 6 Course(s).
Jarrar © 2011 26
Same Example in Arabic
Jarrar © 2011 27
Verbalization of all constraints (Arabic)
‫االقل‬ ‫َر‬‫ف‬َ‫س‬ ُ‫از‬ َ‫و‬َ‫ج‬ ‫م‬ْ‫ق‬ َ‫ر‬ ‫له‬ ‫سان‬ْ‫ن‬ِ‫إ‬ ‫كل‬ [Mandatory]-
‫على‬ ‫واحد‬‫االقل‬ ‫تارخ‬‫يالد‬ِ‫م‬ ‫له‬ ‫سان‬ْ‫ن‬ِ‫إ‬ ‫كل‬ [Mandatory]-
‫يجب‬ ‫حساب‬ ‫كل‬‫ان‬‫مملوك‬ ‫يكون‬‫النسان‬‫او‬‫لشركة‬ ‫مملوك‬ [Mandatory]-
‫كل‬‫انسان‬‫على‬ ‫واحد‬ ‫ميالد‬ ‫تاريخ‬ ‫له‬‫االكثر‬ [Uniqueness]-
‫كل‬‫انسان‬‫على‬ ‫واحد‬ ‫اسم‬ ‫له‬‫االكثر‬ [Uniqueness]-
‫كل‬‫انسان‬‫على‬ ‫واحد‬ ‫سفر‬ ‫جواز‬ ‫رقم‬ ‫له‬‫االكثر‬ [Uniqueness]-
‫سفر‬ ‫جواز‬ ‫رقم‬ ‫كل‬‫النسان‬‫على‬ ‫واحد‬‫االكثر‬ [Uniqueness]-
‫كل‬‫انسان‬‫يمكن‬‫ان‬‫يدرس‬‫اكثر‬‫صحيح‬ ‫والعكس‬ ‫مادة‬ ‫من‬ [Uniqueness]-
‫صحيح‬ ‫والعكس‬ ‫كل‬‫انسان‬‫يمكن‬‫ان‬‫يؤلف‬‫اكثر‬‫كتاب‬ ‫من‬ [Uniqueness]-
‫كل‬‫انسان‬‫يمكن‬‫ان‬‫على‬ ‫يعلق‬‫اكثر‬‫صحيح‬ ‫والعكس‬ ‫كتاب‬ ‫من‬ [Uniqueness]-
‫كل‬‫انسان‬‫يمكن‬‫ان‬‫يقود‬‫اكثر‬‫صحيح‬ ‫والعكس‬ ‫سيارة‬ ‫من‬ [Uniqueness]-
‫الى‬ ‫يشير‬ ‫واسم‬ ‫ميالد‬ ‫تاريخ‬ ‫من‬ ‫كل‬ ‫اتحاد‬‫انسان‬‫على‬ ‫واحد‬‫االكثر‬ [Uniqueness]-
‫كل‬‫انسان‬‫يمكن‬‫ان‬‫يكون‬‫اما‬‫رجل‬‫او‬‫ة‬َ‫أ‬ َ‫ر‬ْ‫ِم‬‫ا‬ [Exclusive]-
‫كل‬‫انسان‬‫يجب‬‫ان‬‫رجل‬ ‫يكون‬‫او‬‫ة‬َ‫أ‬ َ‫ر‬ْ‫ِم‬‫ا‬ [Totality]-
‫اذا‬‫انسان‬‫هذا‬ ‫فان‬ ‫سيارة‬ ‫يقود‬‫االنسان‬‫برخصة‬ ‫مخول‬‫سياقة‬ [Subset]-
‫اذا‬‫مديريديرشركة‬‫هذا‬ ‫فان‬‫المديريعمل‬‫في‬‫هذة‬‫الشركة‬ [Subset]-
‫انسان‬‫جامعة‬ ‫في‬ ‫يعمل‬‫اذا‬‫فقط‬ ‫و‬‫اذا‬‫هذا‬‫االنسان‬‫مادة‬ ‫يدرس‬ ‫كل‬ [Equality]-
‫كل‬‫انسان‬‫لشركة‬ ‫منسوب‬‫اذا‬‫فقط‬ ‫و‬‫اذا‬‫هذا‬‫االنسان‬‫في‬ ‫يعمل‬‫هذة‬‫الشركة‬ [Equality]-
‫يمكن‬ ‫ال‬‫ان‬‫ال‬ ‫مملوك‬ ‫حساب‬ ‫يكون‬‫نسان‬‫لشركة‬ ‫مملوك‬ ‫الوقت‬ ‫نفس‬ ‫في‬ ‫و‬ [Exclusion]-
‫يمكن‬ ‫ال‬‫ان‬‫يكون‬‫انسان‬‫كتاب‬ ‫على‬ ‫يعلق‬‫و‬‫كتاب‬ ‫ذلك‬ ‫يؤلف‬ ‫الوقت‬ ‫نفس‬ ‫في‬ [Exclusion]-
{ ‫الممكنة‬ ‫القيم‬‫ل‬‫هي‬ ‫دولة‬:}‫بلجيكا‬,‫فرنسا‬,‫المانيا‬ [Value]-
‫يجوز‬ ‫ال‬‫النسان‬‫ان‬‫لنفسه‬ ‫زميل‬ ‫يكون‬ [Irreflexive]-
‫بالعكس‬ ‫العكس‬ ‫,فان‬ ‫اذا‬‫انسان‬‫زميل‬ ‫س‬‫ل‬‫ص‬ [Symmetric]-
‫اليمكن‬‫النسان‬‫ان‬‫يكون‬)‫مباشرة‬ ‫غير‬ ‫او‬ ‫مباشرة‬ ‫بطريقة‬(‫لنفسه‬ ‫ام‬ ‫او‬ ‫اب‬ [Acyclic]-
‫اليمكن‬‫النسان‬‫ان‬‫يكون‬)‫مباشرة‬ ‫غير‬ ‫او‬ ‫مباشرة‬ ‫بطريقة‬(‫نفسه‬ ‫على‬ ‫مشرف‬ [Acyclic]-
‫اذا‬‫انسان‬‫زوجة‬ ‫س‬‫النسان‬‫ص‬,‫صحيح‬ ‫غير‬ ‫العكس‬ ‫فان‬ [Asymmetric]-
‫اذا‬‫انسان‬‫س‬‫اب‬‫او‬‫ام‬‫النسان‬‫ص‬,‫و‬‫ص‬‫اب‬‫او‬‫ام‬‫النسان‬‫ج‬,‫فانه‬‫اليمكن‬‫ان‬‫يكون‬‫س‬‫اب‬‫او‬‫ام‬ ‫ل‬‫ج‬ [Intransitve]-
‫اذا‬‫االنسان‬‫مادة‬ ‫يدرس‬,‫هذا‬ ‫فان‬‫االنسان‬‫يجب‬‫ان‬‫بين‬ ‫يدرس‬2‫الى‬3‫مادة‬ [Frequency]-
Jarrar © 2011 28
Outline
• Final Check
o Rules Implications
o Rules Contradictions
o Modeling Tips (Check List)
• Rules Verbalization
• Schema Equivalence and Optimization
• Schema Modularization
Jarrar © 2011 29
Schema Equivalence and Optimization
• It is not surprising that people often come up with different ways (i.e.,
deferent conceptual models) of describing the same reality.
• Two conceptual schemas are equivalent if and only if whatever UoD
state or transition can be modeled in one can also be modeled in the
other.
• What is the difference between these two schemes:
The act of reshaping two equivalent schemes like this is said to
be a conceptual schema transformation.
Based on [2]
Jarrar © 2011 30
Schema Equivalence and Optimization
• Skills of schema transformations helps us to see what different
design choices are possible.
• Moreover, if two independently developed schemas are to be either
fully or partly integrated, we often need to resolve the differences in
the ways that each schema models common UoD features.
• To do this, we need to know whether one representation can be
transformed into the other, and if so, how.
• Another use of conceptual schema transformations is to reshape the
original conceptual schema into one that maps directly to a more
efficient implementation, or to more conceptually elegant schema.
• This process is known as conceptual schema optimization.
There are two class of schema transformations:
Predicate Specialization, and Predicate Generalization
Jarrar © 2011 31
Predicate Specialization and Generalization
We generalize smoking and drinking into indulging in a vice, where vice has
two specific cases. If we transform in the opposite direction, we specialize
indulging in a vice into two predicates, one for each case.
If two or more predicates may be thought of as special cases of a more
general predicate, then we may replace them by the more general
predicate, so long as the original distinction can be preserved in some way.
Jarrar © 2011 32
Predicate Specialization and Generalization
Because there are exactly three kinds of medals, the ternary may be
specialized into three binaries, one for each medal kind,
Where m1, and each Si corresponds
to R where B = bi
Theory: R may be specialized into S1..Sn by absorbing B.
If two or more predicates may be thought of as special cases of a more
general predicate, then we may replace them by the more general
predicate, so long as the original distinction can be preserved in some way.
?
Based on [2]
Jarrar © 2011 33
Predicate Specialization and Generalization
Each Si corresponds to
R where B = bi
The previous theorem always holds, but any constraint added to one of the
schemas must be translated into an equivalent, additional constraint on the
other schema.
The UC on the left is equivalent to the UCs on the right.
 If a UC in R spans a combination of B’s role and other roles, a UC
spans the specialization of these other roles in S1,..,Sn, and conversely.
Jarrar © 2011 34
Predicate Specialization and Generalization
The UC on the left is equivalent to the exclusion constraint on the right.
The UC on the left is equivalent to the exclusion constraint on the right.
?
?
Where m1, and each
Si corresponds to R
where B = bi
The UC on the left is equivalent to the exclusion constraint on the right.
If a UC spans all roles of R except for B’s role, then S1 .. Sn are mutually
exclusive, and conversely.
Based on [2]
Jarrar © 2011 35
?
Predicate Specialization and Generalization
if any medal results are recorded for a country, all three medal results (gold, silver,
and bronze) are required. To express, we add an equality constraint between the
medal winning roles played by Country.
 If R is a ternary with a UC spanning just B’s role and one other role, then
adding a frequency constraint of n to this other role is equivalent to adding an
equality constraint over the specialized versions of that role.
Jarrar © 2011 36
?
Predicate Specialization and Generalization
The impact of adding mandatory role and frequency constraints.
 If A’s role (or role disjunction) in R is mandatory, then the disjunction of its
specialized roles is mandatory, and conversely (1 i  m).
 If R is a ternary with a UC spanning just B’s role and one other role, then adding a
mandatory role constraint and frequency constraint of n (the number of possible
values for B) to this other role is equivalent to making each specialized version of that
role mandatory.
Each S corresponds
to R where B = bi
Based on [2]
Jarrar © 2011 37
?
Other Cases and Examples
The drives predicate is specialized by absorbing Status.
Each car in the rally has two drivers (a main driver and a backup
driver), and each person drives exactly one car.
Jarrar © 2011 38
Other Cases and Examples
 Corollary 1: If s roles are mandatory in the left-hand schema, the disjunction of s
roles in the right-hand schema is mandatory, and conversely.
 Corollary 2: If an external UC spans the roles of and in the left-hand schema, then a
UC applies to each of s roles in the right-hand schema, and conversely.
 Corollary 3: If s role in the left-hand schema is mandatory, then each of s roles in
the right-hand schema is mandatory, and conversely.
 Corollary 4: An equality constraint over s roles in the RHS is equivalent to a
frequency constraint of on s role in the left-hand schema; this constraint is
strengthened to if a UC exists on each of s roles in the right-hand schema.
Each Si corresponds
to R where T is
restricted to B = bi
Theory: R may be specialized into S1..Sn by absorbing B.
Based on [2]
Jarrar © 2011 39
Other Cases and Examples
Can the predicate be specialized?
• Transforming from the original schema to one of those strengthens the
schema by adding information.
• Transforming in the opposite direction weakens the schema by losing
information.
Any such transformations that add or lose information should be the result
of conscious decisions that are acceptable to the client (for which the
business domain is being modeled).
? ?
Based on [2]
Jarrar © 2011 40
Other Cases and Examples
Each Si corresponds to
one instance of R
Corollary 1:If an equality constraint applies over s roles in the left-hand schema, then
the frequency constraint in the right-hand schema is strengthened to , and conversely.
Corollary 2: Adding a UC to role in the right-hand schema is equivalent in the left-
hand schema to adding UCs to s roles (making the S 1:1) and strengthening the
exclusion constraint to an exclusion constraint over s roles.
Theory: The left-hand schema implies the right-hand schema.
Based on [2]
Jarrar © 2011 41
Outline
• Final Check
o Rules Implications
o Rules Contradictions
o Modeling Tips (Check List)
• Rules Verbalization
• Schema Equivalence and Optimization
• Schema Modularization
Jarrar © 2011 42
Modularization
Develop a conceptual
schema as a set of
modules and later
compose to form one
module.
Jarrar © 2011 43
Modularization
Jarrar © 2011 44
Modularization
Why to modularize?
Because Modules are:
1. Easier to reuse
2. Easier to build, maintain, and replace
3. Enable distributed development of modules
4. Enable the effective management and browsing
Jarrar © 2011 45
Modularization
When to Modularize?
Modularity criteria:
1. Subject-oriented, related facts describing
same subject matter.
2. Purpose/Task-oriented, related facts
describing same task.
3. Stability, parts of the model that are not sure
about or might be changed, etc.
Jarrar © 2011 46
References
1. Jarrar, Mustafa, and Stijn Heymans. "Towards Pattern-based
Reasoning for Friendly Ontology Debugging." Print.
2. Halpin, T. A., and Tony Morgan. Information Modeling and
Relational Databases. 2nd ed. Burlington, MA: Morgan
Kaufmann, 2008. Print.
3. Jarrar, Mustafa, C. Maria Keet, and Paolo Dongilli. "Multilingual
Verbalization of ORM Conceptual Models and Axiomatized
Ontologies." Print.

More Related Content

What's hot

Regular expression automata
Regular expression automataRegular expression automata
Regular expression automata
성욱 유
 
Effective Java - Methods Common to All Objects
Effective Java - Methods Common to All ObjectsEffective Java - Methods Common to All Objects
Effective Java - Methods Common to All Objects
Roshan Deniyage
 
DBMS CS2
DBMS CS2DBMS CS2
Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming Concepts
SanmatiRM
 
Chapter 4
Chapter 4Chapter 4
Chapter 4
Nazir Ahmed
 
Abstraction and Encapsulation
Abstraction and EncapsulationAbstraction and Encapsulation
Abstraction and Encapsulation
Haris Bin Zahid
 
Analysing-MMPLs
Analysing-MMPLsAnalysing-MMPLs
Analysing-MMPLs
miso_uam
 
Abstract class in java
Abstract class in javaAbstract class in java
Abstract class in java
Lovely Professional University
 
Classical and Fuzzy Relations
Classical and Fuzzy RelationsClassical and Fuzzy Relations
Classical and Fuzzy Relations
Musfirah Malik
 
DBMS CS3
DBMS CS3DBMS CS3
Entity relationship diagram
Entity relationship diagramEntity relationship diagram
Entity relationship diagram
Talesun Solar USA Ltd.
 
Mapping ER and EER Model
Mapping ER and EER ModelMapping ER and EER Model
Mapping ER and EER Model
Mary Brinda
 
Usage of regular expressions in nlp
Usage of regular expressions in nlpUsage of regular expressions in nlp
Usage of regular expressions in nlp
eSAT Publishing House
 
Usage of regular expressions in nlp
Usage of regular expressions in nlpUsage of regular expressions in nlp
Usage of regular expressions in nlp
eSAT Journals
 
Database - Entity Relationship Diagram (ERD)
Database - Entity Relationship Diagram (ERD)Database - Entity Relationship Diagram (ERD)
Database - Entity Relationship Diagram (ERD)
Mudasir Qazi
 
Wide Coverage Semantic Representations from a CCG Parser
Wide Coverage Semantic Representations from a CCG ParserWide Coverage Semantic Representations from a CCG Parser
Wide Coverage Semantic Representations from a CCG Parser
Mark Chang
 
Ocl
OclOcl
Object Oriented Programming using C++ Part II
Object Oriented Programming using C++ Part IIObject Oriented Programming using C++ Part II
Object Oriented Programming using C++ Part II
Ajit Nayak
 
Week 1: Getting Your Hands Dirty - Part 1
Week 1: Getting Your Hands Dirty - Part 1Week 1: Getting Your Hands Dirty - Part 1
Week 1: Getting Your Hands Dirty - Part 1
Jamshid Hashimi
 
Week 2: Getting Your Hands Dirty – Part 2
Week 2: Getting Your Hands Dirty – Part 2Week 2: Getting Your Hands Dirty – Part 2
Week 2: Getting Your Hands Dirty – Part 2
Jamshid Hashimi
 

What's hot (20)

Regular expression automata
Regular expression automataRegular expression automata
Regular expression automata
 
Effective Java - Methods Common to All Objects
Effective Java - Methods Common to All ObjectsEffective Java - Methods Common to All Objects
Effective Java - Methods Common to All Objects
 
DBMS CS2
DBMS CS2DBMS CS2
DBMS CS2
 
Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming Concepts
 
Chapter 4
Chapter 4Chapter 4
Chapter 4
 
Abstraction and Encapsulation
Abstraction and EncapsulationAbstraction and Encapsulation
Abstraction and Encapsulation
 
Analysing-MMPLs
Analysing-MMPLsAnalysing-MMPLs
Analysing-MMPLs
 
Abstract class in java
Abstract class in javaAbstract class in java
Abstract class in java
 
Classical and Fuzzy Relations
Classical and Fuzzy RelationsClassical and Fuzzy Relations
Classical and Fuzzy Relations
 
DBMS CS3
DBMS CS3DBMS CS3
DBMS CS3
 
Entity relationship diagram
Entity relationship diagramEntity relationship diagram
Entity relationship diagram
 
Mapping ER and EER Model
Mapping ER and EER ModelMapping ER and EER Model
Mapping ER and EER Model
 
Usage of regular expressions in nlp
Usage of regular expressions in nlpUsage of regular expressions in nlp
Usage of regular expressions in nlp
 
Usage of regular expressions in nlp
Usage of regular expressions in nlpUsage of regular expressions in nlp
Usage of regular expressions in nlp
 
Database - Entity Relationship Diagram (ERD)
Database - Entity Relationship Diagram (ERD)Database - Entity Relationship Diagram (ERD)
Database - Entity Relationship Diagram (ERD)
 
Wide Coverage Semantic Representations from a CCG Parser
Wide Coverage Semantic Representations from a CCG ParserWide Coverage Semantic Representations from a CCG Parser
Wide Coverage Semantic Representations from a CCG Parser
 
Ocl
OclOcl
Ocl
 
Object Oriented Programming using C++ Part II
Object Oriented Programming using C++ Part IIObject Oriented Programming using C++ Part II
Object Oriented Programming using C++ Part II
 
Week 1: Getting Your Hands Dirty - Part 1
Week 1: Getting Your Hands Dirty - Part 1Week 1: Getting Your Hands Dirty - Part 1
Week 1: Getting Your Hands Dirty - Part 1
 
Week 2: Getting Your Hands Dirty – Part 2
Week 2: Getting Your Hands Dirty – Part 2Week 2: Getting Your Hands Dirty – Part 2
Week 2: Getting Your Hands Dirty – Part 2
 

Similar to Jarrar: Final Check & Schema Engineering Issues

Regular expressions
Regular expressionsRegular expressions
Regular expressions
Raghu nath
 
UML Design.pptx
UML Design.pptxUML Design.pptx
UML Design.pptx
Md. Nazmus Saqib Khan
 
Mca 504 dotnet_unit4
Mca 504 dotnet_unit4Mca 504 dotnet_unit4
Implications of Substitution
Implications of SubstitutionImplications of Substitution
Implications of Substitution
adil raja
 
UML Basics
UML BasicsUML Basics
UML Basics
Serdar Temiz
 
[Emnlp] what is glo ve part ii - towards data science
[Emnlp] what is glo ve  part ii - towards data science[Emnlp] what is glo ve  part ii - towards data science
[Emnlp] what is glo ve part ii - towards data science
Nikhil Jaiswal
 
ANALYZING THE EFFICIENT TEST ORDER FOR INTEGRATION TESTING
ANALYZING THE EFFICIENT TEST ORDER FOR INTEGRATION TESTINGANALYZING THE EFFICIENT TEST ORDER FOR INTEGRATION TESTING
ANALYZING THE EFFICIENT TEST ORDER FOR INTEGRATION TESTING
acijjournal
 
Uml report
Uml reportUml report
Uml report
Franco Valdez
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
Debajyoti Biswas
 
Lecture-2-Relational-Algebra-and-SQL-Advanced-DataBase-Theory-MS.pdf
Lecture-2-Relational-Algebra-and-SQL-Advanced-DataBase-Theory-MS.pdfLecture-2-Relational-Algebra-and-SQL-Advanced-DataBase-Theory-MS.pdf
Lecture-2-Relational-Algebra-and-SQL-Advanced-DataBase-Theory-MS.pdf
ssuserf86fba
 
Erlang kickstart
Erlang kickstartErlang kickstart
Erlang kickstart
Ryan Brown
 
A Study Of Statistical Models For Query Translation :Finding A Good Unit Of T...
A Study Of Statistical Models For Query Translation :Finding A Good Unit Of T...A Study Of Statistical Models For Query Translation :Finding A Good Unit Of T...
A Study Of Statistical Models For Query Translation :Finding A Good Unit Of T...
iyo
 
DISE - OOAD Using UML
DISE - OOAD Using UMLDISE - OOAD Using UML
DISE - OOAD Using UML
Rasan Samarasinghe
 
functions.ppt
functions.pptfunctions.ppt
functions.ppt
JonavarGinsola
 
________ ________1.ppt
________ ________1.ppt________ ________1.ppt
________ ________1.ppt
SamiAAli44
 
Wk 5 Individual Preparing for Working in Teams [due Day#]Top of.docx
Wk 5 Individual Preparing for Working in Teams [due Day#]Top of.docxWk 5 Individual Preparing for Working in Teams [due Day#]Top of.docx
Wk 5 Individual Preparing for Working in Teams [due Day#]Top of.docx
helzerpatrina
 
The good parts in scalaz
The good parts in scalazThe good parts in scalaz
The good parts in scalaz
Kobib9
 
Introduction to OOA and UML
Introduction to OOA and UMLIntroduction to OOA and UML
Introduction to OOA and UML
Shwetha-BA
 
Explaining why methods change together
Explaining why methods change togetherExplaining why methods change together
Explaining why methods change together
Angela Lozano
 
AI Lesson 11
AI Lesson 11AI Lesson 11
AI Lesson 11
Assistant Professor
 

Similar to Jarrar: Final Check & Schema Engineering Issues (20)

Regular expressions
Regular expressionsRegular expressions
Regular expressions
 
UML Design.pptx
UML Design.pptxUML Design.pptx
UML Design.pptx
 
Mca 504 dotnet_unit4
Mca 504 dotnet_unit4Mca 504 dotnet_unit4
Mca 504 dotnet_unit4
 
Implications of Substitution
Implications of SubstitutionImplications of Substitution
Implications of Substitution
 
UML Basics
UML BasicsUML Basics
UML Basics
 
[Emnlp] what is glo ve part ii - towards data science
[Emnlp] what is glo ve  part ii - towards data science[Emnlp] what is glo ve  part ii - towards data science
[Emnlp] what is glo ve part ii - towards data science
 
ANALYZING THE EFFICIENT TEST ORDER FOR INTEGRATION TESTING
ANALYZING THE EFFICIENT TEST ORDER FOR INTEGRATION TESTINGANALYZING THE EFFICIENT TEST ORDER FOR INTEGRATION TESTING
ANALYZING THE EFFICIENT TEST ORDER FOR INTEGRATION TESTING
 
Uml report
Uml reportUml report
Uml report
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
Lecture-2-Relational-Algebra-and-SQL-Advanced-DataBase-Theory-MS.pdf
Lecture-2-Relational-Algebra-and-SQL-Advanced-DataBase-Theory-MS.pdfLecture-2-Relational-Algebra-and-SQL-Advanced-DataBase-Theory-MS.pdf
Lecture-2-Relational-Algebra-and-SQL-Advanced-DataBase-Theory-MS.pdf
 
Erlang kickstart
Erlang kickstartErlang kickstart
Erlang kickstart
 
A Study Of Statistical Models For Query Translation :Finding A Good Unit Of T...
A Study Of Statistical Models For Query Translation :Finding A Good Unit Of T...A Study Of Statistical Models For Query Translation :Finding A Good Unit Of T...
A Study Of Statistical Models For Query Translation :Finding A Good Unit Of T...
 
DISE - OOAD Using UML
DISE - OOAD Using UMLDISE - OOAD Using UML
DISE - OOAD Using UML
 
functions.ppt
functions.pptfunctions.ppt
functions.ppt
 
________ ________1.ppt
________ ________1.ppt________ ________1.ppt
________ ________1.ppt
 
Wk 5 Individual Preparing for Working in Teams [due Day#]Top of.docx
Wk 5 Individual Preparing for Working in Teams [due Day#]Top of.docxWk 5 Individual Preparing for Working in Teams [due Day#]Top of.docx
Wk 5 Individual Preparing for Working in Teams [due Day#]Top of.docx
 
The good parts in scalaz
The good parts in scalazThe good parts in scalaz
The good parts in scalaz
 
Introduction to OOA and UML
Introduction to OOA and UMLIntroduction to OOA and UML
Introduction to OOA and UML
 
Explaining why methods change together
Explaining why methods change togetherExplaining why methods change together
Explaining why methods change together
 
AI Lesson 11
AI Lesson 11AI Lesson 11
AI Lesson 11
 

More from Mustafa Jarrar

Clustering Arabic Tweets for Sentiment Analysis
Clustering Arabic Tweets for Sentiment AnalysisClustering Arabic Tweets for Sentiment Analysis
Clustering Arabic Tweets for Sentiment Analysis
Mustafa Jarrar
 
Classifying Processes and Basic Formal Ontology
Classifying Processes  and Basic Formal OntologyClassifying Processes  and Basic Formal Ontology
Classifying Processes and Basic Formal Ontology
Mustafa Jarrar
 
Discrete Mathematics Course Outline
Discrete Mathematics Course OutlineDiscrete Mathematics Course Outline
Discrete Mathematics Course Outline
Mustafa Jarrar
 
Business Process Implementation
Business Process ImplementationBusiness Process Implementation
Business Process Implementation
Mustafa Jarrar
 
Business Process Design and Re-engineering
Business Process Design and Re-engineeringBusiness Process Design and Re-engineering
Business Process Design and Re-engineering
Mustafa Jarrar
 
BPMN 2.0 Analytical Constructs
BPMN 2.0 Analytical ConstructsBPMN 2.0 Analytical Constructs
BPMN 2.0 Analytical Constructs
Mustafa Jarrar
 
BPMN 2.0 Descriptive Constructs
BPMN 2.0 Descriptive Constructs  BPMN 2.0 Descriptive Constructs
BPMN 2.0 Descriptive Constructs
Mustafa Jarrar
 
Introduction to Business Process Management
Introduction to Business Process ManagementIntroduction to Business Process Management
Introduction to Business Process Management
Mustafa Jarrar
 
Customer Complaint Ontology
Customer Complaint Ontology Customer Complaint Ontology
Customer Complaint Ontology
Mustafa Jarrar
 
Subset, Equality, and Exclusion Rules
Subset, Equality, and Exclusion RulesSubset, Equality, and Exclusion Rules
Subset, Equality, and Exclusion Rules
Mustafa Jarrar
 
Schema Modularization in ORM
Schema Modularization in ORMSchema Modularization in ORM
Schema Modularization in ORM
Mustafa Jarrar
 
On Computer Science Trends and Priorities in Palestine
On Computer Science Trends and Priorities in PalestineOn Computer Science Trends and Priorities in Palestine
On Computer Science Trends and Priorities in Palestine
Mustafa Jarrar
 
Lessons from Class Recording & Publishing of Eight Online Courses
Lessons from Class Recording & Publishing of Eight Online CoursesLessons from Class Recording & Publishing of Eight Online Courses
Lessons from Class Recording & Publishing of Eight Online Courses
Mustafa Jarrar
 
Presentation curras paper-emnlp2014-final
Presentation curras paper-emnlp2014-finalPresentation curras paper-emnlp2014-final
Presentation curras paper-emnlp2014-final
Mustafa Jarrar
 
Jarrar: Future Internet in Horizon 2020 Calls
Jarrar: Future Internet in Horizon 2020 CallsJarrar: Future Internet in Horizon 2020 Calls
Jarrar: Future Internet in Horizon 2020 Calls
Mustafa Jarrar
 
Habash: Arabic Natural Language Processing
Habash: Arabic Natural Language ProcessingHabash: Arabic Natural Language Processing
Habash: Arabic Natural Language Processing
Mustafa Jarrar
 
Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing
Mustafa Jarrar
 
Riestra: How to Design and engineer Competitive Horizon 2020 Proposals
Riestra: How to Design and engineer Competitive Horizon 2020 ProposalsRiestra: How to Design and engineer Competitive Horizon 2020 Proposals
Riestra: How to Design and engineer Competitive Horizon 2020 Proposals
Mustafa Jarrar
 
Bouquet: SIERA Workshop on The Pillars of Horizon2020
Bouquet: SIERA Workshop on The Pillars of Horizon2020Bouquet: SIERA Workshop on The Pillars of Horizon2020
Bouquet: SIERA Workshop on The Pillars of Horizon2020
Mustafa Jarrar
 
Jarrar: Sparql Project
Jarrar: Sparql ProjectJarrar: Sparql Project
Jarrar: Sparql Project
Mustafa Jarrar
 

More from Mustafa Jarrar (20)

Clustering Arabic Tweets for Sentiment Analysis
Clustering Arabic Tweets for Sentiment AnalysisClustering Arabic Tweets for Sentiment Analysis
Clustering Arabic Tweets for Sentiment Analysis
 
Classifying Processes and Basic Formal Ontology
Classifying Processes  and Basic Formal OntologyClassifying Processes  and Basic Formal Ontology
Classifying Processes and Basic Formal Ontology
 
Discrete Mathematics Course Outline
Discrete Mathematics Course OutlineDiscrete Mathematics Course Outline
Discrete Mathematics Course Outline
 
Business Process Implementation
Business Process ImplementationBusiness Process Implementation
Business Process Implementation
 
Business Process Design and Re-engineering
Business Process Design and Re-engineeringBusiness Process Design and Re-engineering
Business Process Design and Re-engineering
 
BPMN 2.0 Analytical Constructs
BPMN 2.0 Analytical ConstructsBPMN 2.0 Analytical Constructs
BPMN 2.0 Analytical Constructs
 
BPMN 2.0 Descriptive Constructs
BPMN 2.0 Descriptive Constructs  BPMN 2.0 Descriptive Constructs
BPMN 2.0 Descriptive Constructs
 
Introduction to Business Process Management
Introduction to Business Process ManagementIntroduction to Business Process Management
Introduction to Business Process Management
 
Customer Complaint Ontology
Customer Complaint Ontology Customer Complaint Ontology
Customer Complaint Ontology
 
Subset, Equality, and Exclusion Rules
Subset, Equality, and Exclusion RulesSubset, Equality, and Exclusion Rules
Subset, Equality, and Exclusion Rules
 
Schema Modularization in ORM
Schema Modularization in ORMSchema Modularization in ORM
Schema Modularization in ORM
 
On Computer Science Trends and Priorities in Palestine
On Computer Science Trends and Priorities in PalestineOn Computer Science Trends and Priorities in Palestine
On Computer Science Trends and Priorities in Palestine
 
Lessons from Class Recording & Publishing of Eight Online Courses
Lessons from Class Recording & Publishing of Eight Online CoursesLessons from Class Recording & Publishing of Eight Online Courses
Lessons from Class Recording & Publishing of Eight Online Courses
 
Presentation curras paper-emnlp2014-final
Presentation curras paper-emnlp2014-finalPresentation curras paper-emnlp2014-final
Presentation curras paper-emnlp2014-final
 
Jarrar: Future Internet in Horizon 2020 Calls
Jarrar: Future Internet in Horizon 2020 CallsJarrar: Future Internet in Horizon 2020 Calls
Jarrar: Future Internet in Horizon 2020 Calls
 
Habash: Arabic Natural Language Processing
Habash: Arabic Natural Language ProcessingHabash: Arabic Natural Language Processing
Habash: Arabic Natural Language Processing
 
Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing
 
Riestra: How to Design and engineer Competitive Horizon 2020 Proposals
Riestra: How to Design and engineer Competitive Horizon 2020 ProposalsRiestra: How to Design and engineer Competitive Horizon 2020 Proposals
Riestra: How to Design and engineer Competitive Horizon 2020 Proposals
 
Bouquet: SIERA Workshop on The Pillars of Horizon2020
Bouquet: SIERA Workshop on The Pillars of Horizon2020Bouquet: SIERA Workshop on The Pillars of Horizon2020
Bouquet: SIERA Workshop on The Pillars of Horizon2020
 
Jarrar: Sparql Project
Jarrar: Sparql ProjectJarrar: Sparql Project
Jarrar: Sparql Project
 

Recently uploaded

Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
Ivo Velitchkov
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
saastr
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
Enterprise Knowledge
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024
Vadym Kazulkin
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
A Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's ArchitectureA Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's Architecture
ScyllaDB
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
Fwdays
 

Recently uploaded (20)

Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
A Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's ArchitectureA Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's Architecture
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
 

Jarrar: Final Check & Schema Engineering Issues

  • 1. Jarrar © 2011 1 Final Check & Schema Engineering Issues Lecture Notes on Schema Engineering Birzeit University 2011 Dr. Mustafa Jarrar University of Birzeit mjarrar@birzeit.edu www.jarrar.info Knowledge Engineering (SCOM7348) Chapter 7, Chapter 12, & Selected Topics
  • 2. Jarrar © 2011 2 Conceptual Schema Design Steps 1. From examples to elementary facts 2. Draw fact types and apply population check 3. Combine entity types 4. Add uniqueness constraints 5. Add mandatory constraints 6. Add set, subtype, & frequency constraints 7. Final checks, & schema engineering issues
  • 3. Jarrar © 2011 3 Outline • Final Check o Rules Implications o Rules Contradictions o Modeling Tips (Check List) • Rules Verbalization • Schema equivalence and Optimization • Schema Modularization
  • 4. Jarrar © 2011 4 Final Checks No constraint contradict the other. No constraint implies the other. Other Modeling Tips (Check List)
  • 5. Jarrar © 2011 5 Constraint Implications (Examples)  Many different examples are given in previous chapters Some constraints may imply each other (see cases below), the implied constraint should be removed because it complicates the model without bringing no value.
  • 6. Jarrar © 2011 6 Outline • Final Check o Rules Implications o Rules Contradictions o Modeling Tips (Check List) • Rules Verbalization • Schema Equivalence and Optimization • Schema Modularization
  • 7. Jarrar © 2011 7 Constraint Contradictions (Examples) D will never be populated, because of the exclusive constraint C will never be populated, because A ad B ad disjoint by definition. One of the roles (r1, r2, or r3) will never be populated, because we have only two values possible ‘a1’ and ‘a2’ Due to the frequency constraint, there should be at least two different values to populate r1. In order to populate r3, we need, by the exclusion constraint, a value different from the two for role r1. In total, we thus need three different values in order to be able to populate both r1 and r2, but this contradicts with the value constraint on object-type A: we only have 2 values at our disposal. Some constraints may contradict each other (see cases below). Based on [1]
  • 8. Jarrar © 2011 8 Constraint Contradictions (Examples) the uniqueness constraint indicates that the role r1 should be played by at most one element, while the frequency constraint demands that there are at least 2 and at most 5 participants in the role. It is thus impossible to populate r1. If the frequency constraint 3-5 on r1 is satisfied, each instance of A must play r1 at least three times, and thus three different instances of B are required. However, there are only two possible instances of B, which are declared by the value constraint {‘x1’, ‘x2’}. Thus r1 cannot be populated. Who can tell where the contradictions? Based on [1]
  • 9. Jarrar © 2011 9 Constraint Contradictions (Examples) The exclusion constraint between the two roles r1 and r3 means that their populations should be distinct. However, in order to satisfy the subset constraint between the relations (r1; r2) and (r3; r4), the populations of r1 and r3 should not be distinct. In other words, the exclusion constraint between roles r1 and r3 implies an exclusion constraint between the relations (r1; r2) and (r3; r4), which contradicts any subset or equality constraint between both predicates.  Many different examples are given in previous chapters  Any Idea to detect such contradictions automatically? Based on [1]
  • 10. Jarrar © 2011 10 Reasoning on ORM Schemes  Schema satisfiability: A schema is satisfiable if and only if there is at least one concept in the schema that can be populated.  Concept satisfiability: A schema is satisfiable if and only if all concepts in the schema can be populated.  Role satisfiability: A schema is satisfiable if and only if all roles in the schema can be populated.  Concept satisfiability implies schema satisfiability .  Role satisfiability implies concept satisfiability .  Weak satisfiability  Strong satisfiability Person Course Teaches Studies {Math1, Prog1} 3-5 Based on [2]
  • 11. Jarrar © 2011 11 Schema Satisfiability A schema is satisfiable if and only if there is at least one concept in the schema that can be populated.  Weak satisfiability Person Course Teaches {Math1, Prog1} 3-5  Schema-Satisfiable, because A, B, and C can be populated  Schema-Satisfiable, As both concepts alone (Person & Courses) can be populated, although the roles cannot be populated. P1 P2 Math1 Prog1 - -  Schema-Unsatisfiable, As both concepts alone (Person &Courses) can be populated, although the roles cannot be populated.- -- - Person Course Teaches {Math1, Prog1} 3-5
  • 12. Jarrar © 2011 12 Concept Satisfiability Person Course Teaches {Math1, Prog1} 3-5  Concept-Unsatisfiable, because there is one concept (i.e. D) that cannot be populated.  Concept-Satisfiable, As all concepts can be populated, although the roles cannot be populated. P1 P2 Math1 Prog1 - -  Concept-Unsatisfiable, As no concepts can be populated, because of the mandatory constraints. - -- - Person Course Teaches {Math1, Prog1} 3-5 A schema is satisfiable if and only if all concepts in the schema can be populated.
  • 13. Jarrar © 2011 13 Role Satisfiability Person Course Teaches {Math1, Prog1} 3-5  Role-Unsatisfiable, As no roles can be populated. P1 Math1 P1 Prog1  role-Unsatisfiable, As all roles cannot be populated.Person Course Teaches {Math1, Prog1} 3-5  role-Unsatisfiable, As not all roles can be populated. Reviews Person Course Teaches {Math1, Prog1} 3-5 - - A schema is satisfiable if and only if all roles in the schema can be populated.
  • 14. Jarrar © 2011 14 Role Satisfiability Person Course Teaches {Math1, Prog1} 3-5  Role-Unsatisfiable, As no roles can be populated. P1 Math1 P1 Prog1  role-Unsatisfiable, As all roles cannot be populated.Person Course Teaches {Math1, Prog1} 3-5  role-Unsatisfiable, As some roles can be populated. Reviews Person Course Teaches {Math1, Prog1} 3-5 - - A schema is satisfiable if and only if all roles in the schema can be populated. Although it is a strong requirement, but we recommend that your conceptual model is Role Satisfiable.
  • 15. Jarrar © 2011 15 DogmaModeler Is the only tool that can detect constraint contradiction for ORM http://www.jarrar.info/Dogmamodeler/
  • 16. Jarrar © 2011 16 DogmaModeler Is the only tool that can detect constraint contradiction for ORM
  • 17. Jarrar © 2011 17 DogmaModeler Is the only tool that can detect constraint contradiction for ORM
  • 18. Jarrar © 2011 18 Outline • Final Check o Rules Implications o Rules Contradictions o Modeling Tips (Check List) • Rules Verbalization • Schema Equivalence and Optimization • Schema Modularization
  • 19. Jarrar © 2011 19 Modeling Tips and Common Mistakes (for beginners)  Check each role in the model, whether it should be unique?  Check each role in the model, whether it should be Mandatory?  Check each entity (Object Type) whether it has an identity?  Check each leaf nodes whether should be Value Type?  Check each value constraint whether it placed on Value Type only?  The syntax of values and ranges in value constraints is correct.  Check each subtype, that it is playing some roles.  External uniqueness and disjunctive mandatory constraints are placed on the correct roles.  Preferred: If you have subtypes, then their supper type should have a value constraint. Based on [3]
  • 20. Jarrar © 2011 20  Role names:  At least one role, in each relation, has a label.  Names should be correct, expressive, and meaningful  Naming style: for example “WorksFor”, “AffiliatedWith”, “IsOf”, etc.  Concept Names:  Should be expressive and meaningful (as used in the domain), correct translation  Naming style: for example “FacultyMember”, “NaturalPerson”  Don’t use plural as concept labels (e.g., students, courses)  ReadabilityBeauty of the Diagrams  place related properties beside each other (country, city…) or (name, fname, lname).  Flip roles if needed.  Lines are straight, and the whole diagram is balanced (as much as you can)  Page layout is landscape if needed.  The sizes of the concepts are equal, unless you what to emphasize the main concepts.  Important concepts are placed in the middle, and all concepts are aligned.  Roles are aligned and similar roles have the size.  Populate a page as much as you can (BUT NOT too much)  Do not clone concepts if not necessary  Modularize a large diagram into pages (but keep very related concepts in the same page).first pages contain the most important  Write your project details (name, course, year, project#, date,….) in each page. Modeling Tips and Common Mistakes (for beginners) Based on [3]
  • 21. Jarrar © 2011 21 Outline • Final Check o Rules Implications o Rules Contradictions o Modeling Tips (Check List) • Rules Verbalization • Schema Equivalence and Optimization • Schema Modularization
  • 22. Jarrar © 2011 22 Rules Verbalization Verbalization is the process of writing the semantics captured by the ORM constrains as pseudo-natural language (fixed-syntax) sentences. - Subsumption: Each Manager must be a type of Person. - Mandatory: Each Person must Has at least one Name. - Mandatory: Each Person must Has at least one BirthDate. - InterUniqueness: The combination of {BirthDate, Name} must refer to at most one Person. - Equality: Each Person WorksFor a Company must AffliatedWith that Company, and vice versa. - Subset: Each Manager who Manages a Company must WorksFor that Company. - ExMandatory: Each Account OwnedBy Person or OwnedBy Company, or both. - Exclusion: No Account can be OwnedBy a Company and OwnedBy a Person. Notice that these verbalizations can be generated atomically using fixed templates Based on [3]
  • 23. Jarrar © 2011 23 Rules Verbalization Verbalization is the process of writing the semantics captured by the ORM constrains as pseudo-natural language (fixed-syntax) sentences. - Subsumption: Each Manager must be a type of Person. - Mandatory: Each Person must Has at least one Name. - Mandatory: Each Person must Has at least one BirthDate. - InterUniqueness: The combination of {BirthDate, Name} must refer to at most one Person. - Equality: Each Person WorksFor a Company must AffliatedWith that Company, and vice versa. - Subset: Each Manager who Manages a Company must WorksFor that Company. - ExMandatory: Each Account OwnedBy Person or OwnedBy Company, or both. - Exclusion: No Account can be OwnedBy a Company and OwnedBy a Person. Notice that these verbalizations can be generated atomically by using fixed templates  This pseudo-natural language is understandable for domain experts, which enables them to help in the modeling process, as they can review whether the rules are correct.  See http://www.jarrar.info/orm/verbalization/ which offers templates for verbalizing ORM in 10 languages
  • 24. Jarrar © 2011 24 An ORM model with many constraints
  • 25. Jarrar © 2011 25 Verbalization of the constraints (English) -[Mandatory] Each Person must Has at least one PassPortNr. -[Mandatory] Each Person must Has at least one BirthDate. -[Mandatory] Each Account should be Owned-By Company or Owned-By Person. -[Uniqueness] Each Person must Has at most one BirthDate. -[Uniqueness] Each Person must Has at most one Name. -[Uniqueness] Each Person must Has at most one PassPortNr. -[Uniqueness] Each PassPortNr must IsOf at most one Person. -[Uniqueness] It is possible that Person teaches more than one Course , and vice versa. -[Uniqueness] It is possible that Person Reviews more than one Book , and vice versa. -[Uniqueness] It is possible that Person Writes more than one Book , and vice versa. -[Uniqueness] It is possible that Person Drivers more than one Car , and vice versa. -[Uniqueness] The combination of { BirthDate and Name } must refer to at most one Person. -[Exclusive] Each Person should be either Woman or Man. -[Totality] Each Person must be, at least, Man or Woman. -[Subset] If Person Drivers Car then this Person AuthorisedWith Driving Licence. -[Subset] If Manager manages Company then this Person WorksFor that Company. -[Equality] Person WorksFor University if and only if this Person teaches Course. -[Equality] Person AffiliatedWith Company if and only if this Person WorksFor that Company. -[Exclusion] No Account Owned-By Company and also Owned-By Person. -[Exclusion] No Person Writes Book and also Reviews that Book. -[Value] The possible instances of Country are :{Belgium, France, Germany} -[Irreflexive] No Person ColleagueOf it/him self. -[Symmetric] If Person X ColleagueOf Person Y, it must be vice versa. -[Acyclic] Person cannot be directly (or indirectly through a chain) SuperiorOf it/him self . -[Acyclic] Woman cannot be directly (or indirectly through a chain) SisterOf it/him self . -[Asymmetric] If Person X WifeOf Person Y, it cannot be vice versa . -[Intransitive] If Person X ParentOf Person Y, and Y ParentOf Z, then it cannot be that X ParentOf Z. -[Frequency] If Person Teaches Course, then this Person Teaches at least 3 and at most 6 Course(s).
  • 26. Jarrar © 2011 26 Same Example in Arabic
  • 27. Jarrar © 2011 27 Verbalization of all constraints (Arabic) ‫االقل‬ ‫َر‬‫ف‬َ‫س‬ ُ‫از‬ َ‫و‬َ‫ج‬ ‫م‬ْ‫ق‬ َ‫ر‬ ‫له‬ ‫سان‬ْ‫ن‬ِ‫إ‬ ‫كل‬ [Mandatory]- ‫على‬ ‫واحد‬‫االقل‬ ‫تارخ‬‫يالد‬ِ‫م‬ ‫له‬ ‫سان‬ْ‫ن‬ِ‫إ‬ ‫كل‬ [Mandatory]- ‫يجب‬ ‫حساب‬ ‫كل‬‫ان‬‫مملوك‬ ‫يكون‬‫النسان‬‫او‬‫لشركة‬ ‫مملوك‬ [Mandatory]- ‫كل‬‫انسان‬‫على‬ ‫واحد‬ ‫ميالد‬ ‫تاريخ‬ ‫له‬‫االكثر‬ [Uniqueness]- ‫كل‬‫انسان‬‫على‬ ‫واحد‬ ‫اسم‬ ‫له‬‫االكثر‬ [Uniqueness]- ‫كل‬‫انسان‬‫على‬ ‫واحد‬ ‫سفر‬ ‫جواز‬ ‫رقم‬ ‫له‬‫االكثر‬ [Uniqueness]- ‫سفر‬ ‫جواز‬ ‫رقم‬ ‫كل‬‫النسان‬‫على‬ ‫واحد‬‫االكثر‬ [Uniqueness]- ‫كل‬‫انسان‬‫يمكن‬‫ان‬‫يدرس‬‫اكثر‬‫صحيح‬ ‫والعكس‬ ‫مادة‬ ‫من‬ [Uniqueness]- ‫صحيح‬ ‫والعكس‬ ‫كل‬‫انسان‬‫يمكن‬‫ان‬‫يؤلف‬‫اكثر‬‫كتاب‬ ‫من‬ [Uniqueness]- ‫كل‬‫انسان‬‫يمكن‬‫ان‬‫على‬ ‫يعلق‬‫اكثر‬‫صحيح‬ ‫والعكس‬ ‫كتاب‬ ‫من‬ [Uniqueness]- ‫كل‬‫انسان‬‫يمكن‬‫ان‬‫يقود‬‫اكثر‬‫صحيح‬ ‫والعكس‬ ‫سيارة‬ ‫من‬ [Uniqueness]- ‫الى‬ ‫يشير‬ ‫واسم‬ ‫ميالد‬ ‫تاريخ‬ ‫من‬ ‫كل‬ ‫اتحاد‬‫انسان‬‫على‬ ‫واحد‬‫االكثر‬ [Uniqueness]- ‫كل‬‫انسان‬‫يمكن‬‫ان‬‫يكون‬‫اما‬‫رجل‬‫او‬‫ة‬َ‫أ‬ َ‫ر‬ْ‫ِم‬‫ا‬ [Exclusive]- ‫كل‬‫انسان‬‫يجب‬‫ان‬‫رجل‬ ‫يكون‬‫او‬‫ة‬َ‫أ‬ َ‫ر‬ْ‫ِم‬‫ا‬ [Totality]- ‫اذا‬‫انسان‬‫هذا‬ ‫فان‬ ‫سيارة‬ ‫يقود‬‫االنسان‬‫برخصة‬ ‫مخول‬‫سياقة‬ [Subset]- ‫اذا‬‫مديريديرشركة‬‫هذا‬ ‫فان‬‫المديريعمل‬‫في‬‫هذة‬‫الشركة‬ [Subset]- ‫انسان‬‫جامعة‬ ‫في‬ ‫يعمل‬‫اذا‬‫فقط‬ ‫و‬‫اذا‬‫هذا‬‫االنسان‬‫مادة‬ ‫يدرس‬ ‫كل‬ [Equality]- ‫كل‬‫انسان‬‫لشركة‬ ‫منسوب‬‫اذا‬‫فقط‬ ‫و‬‫اذا‬‫هذا‬‫االنسان‬‫في‬ ‫يعمل‬‫هذة‬‫الشركة‬ [Equality]- ‫يمكن‬ ‫ال‬‫ان‬‫ال‬ ‫مملوك‬ ‫حساب‬ ‫يكون‬‫نسان‬‫لشركة‬ ‫مملوك‬ ‫الوقت‬ ‫نفس‬ ‫في‬ ‫و‬ [Exclusion]- ‫يمكن‬ ‫ال‬‫ان‬‫يكون‬‫انسان‬‫كتاب‬ ‫على‬ ‫يعلق‬‫و‬‫كتاب‬ ‫ذلك‬ ‫يؤلف‬ ‫الوقت‬ ‫نفس‬ ‫في‬ [Exclusion]- { ‫الممكنة‬ ‫القيم‬‫ل‬‫هي‬ ‫دولة‬:}‫بلجيكا‬,‫فرنسا‬,‫المانيا‬ [Value]- ‫يجوز‬ ‫ال‬‫النسان‬‫ان‬‫لنفسه‬ ‫زميل‬ ‫يكون‬ [Irreflexive]- ‫بالعكس‬ ‫العكس‬ ‫,فان‬ ‫اذا‬‫انسان‬‫زميل‬ ‫س‬‫ل‬‫ص‬ [Symmetric]- ‫اليمكن‬‫النسان‬‫ان‬‫يكون‬)‫مباشرة‬ ‫غير‬ ‫او‬ ‫مباشرة‬ ‫بطريقة‬(‫لنفسه‬ ‫ام‬ ‫او‬ ‫اب‬ [Acyclic]- ‫اليمكن‬‫النسان‬‫ان‬‫يكون‬)‫مباشرة‬ ‫غير‬ ‫او‬ ‫مباشرة‬ ‫بطريقة‬(‫نفسه‬ ‫على‬ ‫مشرف‬ [Acyclic]- ‫اذا‬‫انسان‬‫زوجة‬ ‫س‬‫النسان‬‫ص‬,‫صحيح‬ ‫غير‬ ‫العكس‬ ‫فان‬ [Asymmetric]- ‫اذا‬‫انسان‬‫س‬‫اب‬‫او‬‫ام‬‫النسان‬‫ص‬,‫و‬‫ص‬‫اب‬‫او‬‫ام‬‫النسان‬‫ج‬,‫فانه‬‫اليمكن‬‫ان‬‫يكون‬‫س‬‫اب‬‫او‬‫ام‬ ‫ل‬‫ج‬ [Intransitve]- ‫اذا‬‫االنسان‬‫مادة‬ ‫يدرس‬,‫هذا‬ ‫فان‬‫االنسان‬‫يجب‬‫ان‬‫بين‬ ‫يدرس‬2‫الى‬3‫مادة‬ [Frequency]-
  • 28. Jarrar © 2011 28 Outline • Final Check o Rules Implications o Rules Contradictions o Modeling Tips (Check List) • Rules Verbalization • Schema Equivalence and Optimization • Schema Modularization
  • 29. Jarrar © 2011 29 Schema Equivalence and Optimization • It is not surprising that people often come up with different ways (i.e., deferent conceptual models) of describing the same reality. • Two conceptual schemas are equivalent if and only if whatever UoD state or transition can be modeled in one can also be modeled in the other. • What is the difference between these two schemes: The act of reshaping two equivalent schemes like this is said to be a conceptual schema transformation. Based on [2]
  • 30. Jarrar © 2011 30 Schema Equivalence and Optimization • Skills of schema transformations helps us to see what different design choices are possible. • Moreover, if two independently developed schemas are to be either fully or partly integrated, we often need to resolve the differences in the ways that each schema models common UoD features. • To do this, we need to know whether one representation can be transformed into the other, and if so, how. • Another use of conceptual schema transformations is to reshape the original conceptual schema into one that maps directly to a more efficient implementation, or to more conceptually elegant schema. • This process is known as conceptual schema optimization. There are two class of schema transformations: Predicate Specialization, and Predicate Generalization
  • 31. Jarrar © 2011 31 Predicate Specialization and Generalization We generalize smoking and drinking into indulging in a vice, where vice has two specific cases. If we transform in the opposite direction, we specialize indulging in a vice into two predicates, one for each case. If two or more predicates may be thought of as special cases of a more general predicate, then we may replace them by the more general predicate, so long as the original distinction can be preserved in some way.
  • 32. Jarrar © 2011 32 Predicate Specialization and Generalization Because there are exactly three kinds of medals, the ternary may be specialized into three binaries, one for each medal kind, Where m1, and each Si corresponds to R where B = bi Theory: R may be specialized into S1..Sn by absorbing B. If two or more predicates may be thought of as special cases of a more general predicate, then we may replace them by the more general predicate, so long as the original distinction can be preserved in some way. ? Based on [2]
  • 33. Jarrar © 2011 33 Predicate Specialization and Generalization Each Si corresponds to R where B = bi The previous theorem always holds, but any constraint added to one of the schemas must be translated into an equivalent, additional constraint on the other schema. The UC on the left is equivalent to the UCs on the right.  If a UC in R spans a combination of B’s role and other roles, a UC spans the specialization of these other roles in S1,..,Sn, and conversely.
  • 34. Jarrar © 2011 34 Predicate Specialization and Generalization The UC on the left is equivalent to the exclusion constraint on the right. The UC on the left is equivalent to the exclusion constraint on the right. ? ? Where m1, and each Si corresponds to R where B = bi The UC on the left is equivalent to the exclusion constraint on the right. If a UC spans all roles of R except for B’s role, then S1 .. Sn are mutually exclusive, and conversely. Based on [2]
  • 35. Jarrar © 2011 35 ? Predicate Specialization and Generalization if any medal results are recorded for a country, all three medal results (gold, silver, and bronze) are required. To express, we add an equality constraint between the medal winning roles played by Country.  If R is a ternary with a UC spanning just B’s role and one other role, then adding a frequency constraint of n to this other role is equivalent to adding an equality constraint over the specialized versions of that role.
  • 36. Jarrar © 2011 36 ? Predicate Specialization and Generalization The impact of adding mandatory role and frequency constraints.  If A’s role (or role disjunction) in R is mandatory, then the disjunction of its specialized roles is mandatory, and conversely (1 i  m).  If R is a ternary with a UC spanning just B’s role and one other role, then adding a mandatory role constraint and frequency constraint of n (the number of possible values for B) to this other role is equivalent to making each specialized version of that role mandatory. Each S corresponds to R where B = bi Based on [2]
  • 37. Jarrar © 2011 37 ? Other Cases and Examples The drives predicate is specialized by absorbing Status. Each car in the rally has two drivers (a main driver and a backup driver), and each person drives exactly one car.
  • 38. Jarrar © 2011 38 Other Cases and Examples  Corollary 1: If s roles are mandatory in the left-hand schema, the disjunction of s roles in the right-hand schema is mandatory, and conversely.  Corollary 2: If an external UC spans the roles of and in the left-hand schema, then a UC applies to each of s roles in the right-hand schema, and conversely.  Corollary 3: If s role in the left-hand schema is mandatory, then each of s roles in the right-hand schema is mandatory, and conversely.  Corollary 4: An equality constraint over s roles in the RHS is equivalent to a frequency constraint of on s role in the left-hand schema; this constraint is strengthened to if a UC exists on each of s roles in the right-hand schema. Each Si corresponds to R where T is restricted to B = bi Theory: R may be specialized into S1..Sn by absorbing B. Based on [2]
  • 39. Jarrar © 2011 39 Other Cases and Examples Can the predicate be specialized? • Transforming from the original schema to one of those strengthens the schema by adding information. • Transforming in the opposite direction weakens the schema by losing information. Any such transformations that add or lose information should be the result of conscious decisions that are acceptable to the client (for which the business domain is being modeled). ? ? Based on [2]
  • 40. Jarrar © 2011 40 Other Cases and Examples Each Si corresponds to one instance of R Corollary 1:If an equality constraint applies over s roles in the left-hand schema, then the frequency constraint in the right-hand schema is strengthened to , and conversely. Corollary 2: Adding a UC to role in the right-hand schema is equivalent in the left- hand schema to adding UCs to s roles (making the S 1:1) and strengthening the exclusion constraint to an exclusion constraint over s roles. Theory: The left-hand schema implies the right-hand schema. Based on [2]
  • 41. Jarrar © 2011 41 Outline • Final Check o Rules Implications o Rules Contradictions o Modeling Tips (Check List) • Rules Verbalization • Schema Equivalence and Optimization • Schema Modularization
  • 42. Jarrar © 2011 42 Modularization Develop a conceptual schema as a set of modules and later compose to form one module.
  • 43. Jarrar © 2011 43 Modularization
  • 44. Jarrar © 2011 44 Modularization Why to modularize? Because Modules are: 1. Easier to reuse 2. Easier to build, maintain, and replace 3. Enable distributed development of modules 4. Enable the effective management and browsing
  • 45. Jarrar © 2011 45 Modularization When to Modularize? Modularity criteria: 1. Subject-oriented, related facts describing same subject matter. 2. Purpose/Task-oriented, related facts describing same task. 3. Stability, parts of the model that are not sure about or might be changed, etc.
  • 46. Jarrar © 2011 46 References 1. Jarrar, Mustafa, and Stijn Heymans. "Towards Pattern-based Reasoning for Friendly Ontology Debugging." Print. 2. Halpin, T. A., and Tony Morgan. Information Modeling and Relational Databases. 2nd ed. Burlington, MA: Morgan Kaufmann, 2008. Print. 3. Jarrar, Mustafa, C. Maria Keet, and Paolo Dongilli. "Multilingual Verbalization of ORM Conceptual Models and Axiomatized Ontologies." Print.