• No results found

Semantics of UML class diagrams

N/A
N/A
Protected

Academic year: 2021

Share "Semantics of UML class diagrams"

Copied!
19
0
0

Loading.... (view fulltext now)

Full text

(1)

Semantics of UML class diagrams

Till Mossakowski1

Otto-von-Guericke Universit¨at Magdeburg, Germany

(2)

Sets

Definition (Set)

A set is a collection of objects. The basic relation is membership:

x ∈A (x is a member ofA)

The following operations and relations are defined on sets:

empty set ∅is the set with no members

enumeration set {a1; . . .;an} contains exactlya1; . . .;an

subset A⊆B iff for all x: x∈Aimpliesx ∈B comprehension {x ∈A|P(x)}

(the set of allx∈Asuch that P(x) holds)

union A∪B ={x |x∈Aor x ∈B} intersection A∩B ={x |x∈Aandx ∈B}

(3)

Relations

Definition (Cartesian product) A×B ={(a,b)|a∈A andb∈B}

A×B×C ={(a,b,c)|a∈A,b∈B andc ∈C}

etc.

Definition (Relation)

A binary relationR onAandB is given by a set of pairs

R⊆A×B (a,b)∈R often is written asa R b.

(4)

Orders

Definition (Partial Order)

Apartial order (A,≤) is given by a set Aand a binary relation ≤

onA, such that

for all x ∈A: x ≤x (reflexivity)

for all x,y,z ∈A: x ≤y andy ≤z imply x≤z (transitivity)

for all x,y ∈A: x ≤y andy ≤x implyx =y (antisymmetry)

Definition (Total Order)

A partial order(A,≤) is called atotal order, if additionally

(5)

Orders

Example (Sample partial orders)

the set of natural numbers with the usual ordering ≤

the set of natural numbers with the ordering “x can be

divided by y”

the lexicographic order on strings (used for sorting) the prefix order on strings

(6)

Semantics of UML class diagrams

The semantics is given by a mathematical function S,

representing a snapshot of a system

A snapshot S includes all objects of a system, and their

relations

The evolution of a system can be represented by the transition

of a system from a snapshot S1 to a new snapshot S2

(7)

Semantics of a class hierarchy

A class hierarchy is given a by a partial order(C,≤) antisymmetry means that cyclic subclasses are forbidden

Each class c ∈C is interpreted as a finite setS(c)

S(c)is the set of objects that are instances of classc

Ifc ≤d, thenS(c)⊆ S(d) must hold

(8)

Semantics of a generalisation set

disjoint(c1 ≤d, . . . ,cn≤d) expresses the condition

S(ci)∩ S(cj) =∅for i 6=j

complete(c1 ≤d, . . . ,cn≤d) expresses the condition

S(c1)∪ · · · ∪ S(cn) =S(d)

(9)

Semantics of enumeration types and built-in types

An enumeration type T with literalsl1, . . . ,ln has as its

semantics the set of literals:

S(T) ={l1, . . . ,ln}

A built-in type has a predefined semantics, e.g.

S(integer) =Z S(string) =A∗

(10)

Functions

Definition (Function)

A functionf from a setA to a set B, written f :A 7→B,

associates with some of the elementsa∈A a unique element

b∈B. This association is symbolically expressed asf(a) =b. The

elemena∈A is called the argument andb the value of the

function applicationf(a). If there is nob, then f(a) is undefined.

Note: a functionf :A 7→B can be represented as a binary relation

graph(f)⊆A×B as follows:

graph(f) ={(a,f(a))|a∈A}

We have right-uniqueness:

(11)

Semantics of attributes

The semantics of an attributea:T of a classc is given by a

partial function

S(a) :S(c) 7→ S(T)

The function is needed to be partial because the value of the attribute may not have been initialised yet.

If an attributea:T has multiplicity other than 1, the semantics is given by

(12)

Semantics of query operations

The semantics of a query operationop(x1 :T1; . . .xn:Tn) :T of

a classc is given by a partial function

S(op) :S(c)× S(T1)× · · · × S(Tn) 7→ S(T)

Non-query operations will lead to a new snapshot and are not considered here.

(13)

Semantics of associations

Given two classes c and d, the semantics of an association

c a d is given by a binary relation

S(a)⊆ S(c)× S(d)

An association c a d satisfies the multiplicity

cm..n a d

if for all y∈ S(d),

(14)

Consistency

A UML class diagram isconsistent, if there is at least one

snapshot satisfying all its conditions. Otherwise, it is

inconsistent.

A UML class diagram isstrongly consistent, if there is at

least one snapshot intepreting all classes as non-empty

(15)

Semantics of association ends

The semantics of an association end

c e a d

is given by a function S(e) :S(d)→ P(S(c)): fory ∈ S(d), S(e)(y) ={x|(x,y)∈ S(a)}

The semantics of an association end with multiplicity 0..1

c e a

0..1 d

(16)

Semantics of association ends

The semantics of an association end with multiplicity 1

c e a

1 d

is given by a total functionS(e) :S(d)→ S(c):

fory ∈ S(d), S(e)(y) = thex with (x,y)∈ S(a)(always exists) The semantics of an association end

c e a

ordered d

(17)

Semantics of aggregations and compositions

Aggregations and compositions are associations and inherit their semantics

Aggregations and compositions represent part-whole

relationships; hence they areirreflexive(and so are their transitive closures)

For compositions, there is a condition on evolution of snapshots: if an object of the composite class is deleted, so must be all associated elements of component classes

Definition (transitive closure)

Given a binary relationR⊆A×A, its transitive closureis the

(18)

Semantics of object diagrams

An object diagram specifies some objects to be part of the

snapshot S

If an object o is specified to have classc, then it must hold that

S(o)∈ S(c)

If there is an association abetween objectso andp, then it must hold that

(19)

Different stages of “goodness” of UML class diagrams

1 Syntactically ill-formed

2 Syntactically well-formed, but static-semantically ill-formed

3 Syntactically and static-semantically well-formed, but

inconsistent

4 Syntactically and static-semantically well-formed and

consistent, but methodologically doubtful

5 Syntactically and static-semantically well-formed, consistent

References

Related documents

This standard contains the essential welding variables for carbon steel plate and pipe in the thickness range of 16 through3/4 in., using manual shielded metal arc welding. It cites

• At birth, global DNA-methylation in white blood cells in cord blood was significantly higher in infants delivered by elective CS as compared to those born by normal VD (Paper

In this research the geospatial intelligence data is captured in the graph database, by using API those data can be retrieved or updated for authenticated users using API Manager?.

• IRB approval • STEPS program • SRNA commitment to participate • physical meeting space in nursing building • hard copies of consent forms and the Pittsburgh

Incorporating the actual degree of facilities-based and service-based intra-platform competition allows an analysis of the efficacy of both forms of access regulation, including

application, including a description of the harm suffered resulting from the commission of any crime committed within the jurisdiction of the Court, or, in case the victim is

We have audited the accompanying consolidated financial statements of Joint Stock Commercial Bank “National Reserve Bank” (Open Joint Stock Company) (the “Bank”) and its

Given an input query or test scene, represented by its Scene matrix cell, an effective scene decision mod- ule is proposed to rapidly decide if the test scene matches one of