• Keine Ergebnisse gefunden

Semantics of UML class diagrams

N/A
N/A
Protected

Academic year: 2022

Aktie "Semantics of UML class diagrams"

Copied!
14
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Semantics of UML class diagrams

Till Mossakowski1

Otto-von-Guericke Universit¨at Magdeburg, Germany

April 20, 2016

(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} difference A\B ={x |x ∈Aand not x∈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.

IfA=B, then we speak of a binary relationR onA.

(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 for all x,y ∈A: x≤y or y ≤x orx =y (trichotomy)

(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

Which of these are total?

(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

evolution of a system is only considered later (state machines)

(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

hence, “eachc is ad

(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)

no condition for overlapping and incomplete

(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 whereA is a suitable set of characters

(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:

(x,y)∈graph(f)and (x,z)∈graph(f) implyy =z

(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

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

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

m≤ | {x |(x,y)∈ S(a)} | ≤n

Here,|X |is the number of elements inX (also called cardinality

(14)

Consistency

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

snapshot satisfying all its conditions. Otherwise, it isinconsistent.

Referenzen

ÄHNLICHE DOKUMENTE

A natural number different from 1 that is divisible by 1 and itself only is called a prime number [Primzahl].. Examples of primes are: 2, 3, 5, 7, 2003, 2 13

As the volume increases, the heat capacity contains a contribution (Fig. 1) which relaxes increasingly slowly near the transition temperature leading to longer waiting time for

prices and quantities traded between regions a r e the short-term and long-term export strategies of the oil-exporting countries as well as assumptions about

In the second part some effective representations of the open subsets of the real numbers are introduced and

A UML class diagram is strongly consistent, if there is at least one snapshot intepreting all classes as non-empty sets satisfying all its conditions... Semantics of aggregations

Although a vast range of modeling and simulation tools already exists, automating the mapping from models to simulation codes remains a challenging and elusive goal – even for

is the projection of total real consumption with a level of government spending that is required to achieve 2 percent inflation target; is the baseline projection of the real

is the projection of total real consumption with a level of government spending that is required to achieve 2 percent inflation target; is the baseline projection of the real