business processes modelling mpb (6 cfu,...

45
Business Processes Modelling MPB (6 cfu, 295AA) Roberto Bruni http://www.di.unipi.it/~bruni 03 - Models and Abstraction 1

Upload: others

Post on 07-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Business Processes Modelling MPB (6 cfu, 295AA)

Roberto Bruni http://www.di.unipi.it/~bruni

03 - Models and Abstraction

!1

Page 2: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Object

2

Overview of the conceptual models and abstraction mechanisms in business process modeling

Ch.3.1--3.3 of Business Process Management: Concepts, Languages, Architectures

Page 3: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Model

3

A model is a simplified representation of reality

"Essentially all models are wrong, but some are useful"

(George P. Box)

Page 4: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Abstraction

4

To derive general rules and concepts from specific examples of some phenomenon,

by selecting only the aspects which are relevant for a particular purpose

A way to cope with complexity

Page 5: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Guiding principle

5

Separation of Concerns (SoC) (to separate a system into distinct features that

overlap in functionality as little as possible)

Page 6: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

6

http://www.cs.utexas.edu/users/EWD/

Page 7: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

On the role of scientific thought (EWD447)

7

Let me try to explain to you, what to my taste is characteristic for all intelligent thinking.

It is, that one is willing to study in depth an aspect of one's subject matter in isolation for the sake of its own consistency, all the time knowing that one is occupying oneself only with one of the aspects.

Page 8: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

8

... We know that a program must be correct and we can study it from that viewpoint only; we also know that it should be efficient and we can study its efficiency on another day, so to speak. In another mood we may ask ourselves whether, and if so: why, the program is desirable.

But nothing is gained —on the contrary!— by tackling these various aspects simultaneously.

On the role of scientific thought (EWD447)

Page 9: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

9

... It is what I sometimes have called "the separation of concerns", which, even if not perfectly possible, is yet the only available technique for effective ordering of one's thoughts, that I know of.

… it does not mean ignoring the other aspects, it is just doing justice to the fact that from this aspect's point of view, the other is irrelevant.

On the role of scientific thought (EWD447)

Page 10: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

10

Business data processing systems are sufficiently complicated to require such a separation of concerns

and the suggestion that in that part of the computing world "scientific thought is a non-applicable luxury" puts the cart before the horse: the mess they are in has been caused by too much unscientific thought....

On the role of scientific thought (EWD447)

Page 11: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

SoC: an example

11

HyperText Markup Language (HTML): organization of webpage content

Cascading Style Sheets (CSS): definition of content presentation style

JavaScript (JS): user interactions

Page 12: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Abstractions

12

Horizontal: separation at different modeling levels

Aggregation: separation at different granularity levels

Vertical: separation at different subdomains

Page 13: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Horizontal Abstraction

13

Page 14: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Horizontal abstraction (modeling levels)

14

Concrete entities

Classes of similar instances

Concepts that discipline model definition

Graphical symbols (different notations for the same metamodel

are possible)

Abstract entities to define concepts

(better be read bottom-up)

Page 15: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

15! !

"#$!"%&'"()%*

"+,!-&./0&/.%1!2.(3!,45&.'0&!6"78!&(!+%&'9*%)!6":8!

An example: MOF metamodel (OMG)

Page 16: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Process models and process instances

16

Page 17: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

17

A process metamodel (level M2)

90 3 Business Process Modelling Foundation

Fig. 3.13. Model for process models: process metamodel, MOF level M2

Each node is associated with at least one edge. The different types of nodesare represented by the generalization relation. Activity models reflect the workunits to be performed, event models represent the occurrence of states relevantfor the business process, and gateway models represent execution constraintsof activities, such as split and join nodes.

While the association between nodes and edges are defined at the nodelevel, the cardinality of the association between special types of nodes (activitymodels, event models, and gateway models) differs. Each activity model hasexactly one incoming and one outgoing edge.

Each process starts with exactly one event, the initial event, and endswith exactly one event, the final event. Therefore, certain events can haveno incoming edges (initial event) or no outgoing edges (final event). Gatewaymodels represent control flow. Therefore, they can act as either split nodesor join nodes, but not both. Hence, each gateway model can have multipleoutgoing edges (split gateway node) or multiple incoming edges (join gatewaynode).

Figure 3.14 shows a process model based on the process metamodel in-troduced. The notation used to express this process model is taken from theBusiness Process Model and Notation:

• Event model nodes are represented by circles; the final event model isrepresented by a bold circle.

• Activity models are represented by rectangles with rounded edges.• Gateway models are represented by diamonds.• Edges are represented by directed edges between nodes.

composition (each part belongs to a unique whole)

association

is a

entities

attributes

UML-like syntax

Page 18: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

17

A process metamodel (level M2)

90 3 Business Process Modelling Foundation

Fig. 3.13. Model for process models: process metamodel, MOF level M2

Each node is associated with at least one edge. The different types of nodesare represented by the generalization relation. Activity models reflect the workunits to be performed, event models represent the occurrence of states relevantfor the business process, and gateway models represent execution constraintsof activities, such as split and join nodes.

While the association between nodes and edges are defined at the nodelevel, the cardinality of the association between special types of nodes (activitymodels, event models, and gateway models) differs. Each activity model hasexactly one incoming and one outgoing edge.

Each process starts with exactly one event, the initial event, and endswith exactly one event, the final event. Therefore, certain events can haveno incoming edges (initial event) or no outgoing edges (final event). Gatewaymodels represent control flow. Therefore, they can act as either split nodesor join nodes, but not both. Hence, each gateway model can have multipleoutgoing edges (split gateway node) or multiple incoming edges (join gatewaynode).

Figure 3.14 shows a process model based on the process metamodel in-troduced. The notation used to express this process model is taken from theBusiness Process Model and Notation:

• Event model nodes are represented by circles; the final event model isrepresented by a bold circle.

• Activity models are represented by rectangles with rounded edges.• Gateway models are represented by diamonds.• Edges are represented by directed edges between nodes.

relationships and dependencies

between nodes

composition (each part belongs to a unique whole)

association

is a

entities

attributes

UML-like syntax

Page 19: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

17

A process metamodel (level M2)

90 3 Business Process Modelling Foundation

Fig. 3.13. Model for process models: process metamodel, MOF level M2

Each node is associated with at least one edge. The different types of nodesare represented by the generalization relation. Activity models reflect the workunits to be performed, event models represent the occurrence of states relevantfor the business process, and gateway models represent execution constraintsof activities, such as split and join nodes.

While the association between nodes and edges are defined at the nodelevel, the cardinality of the association between special types of nodes (activitymodels, event models, and gateway models) differs. Each activity model hasexactly one incoming and one outgoing edge.

Each process starts with exactly one event, the initial event, and endswith exactly one event, the final event. Therefore, certain events can haveno incoming edges (initial event) or no outgoing edges (final event). Gatewaymodels represent control flow. Therefore, they can act as either split nodesor join nodes, but not both. Hence, each gateway model can have multipleoutgoing edges (split gateway node) or multiple incoming edges (join gatewaynode).

Figure 3.14 shows a process model based on the process metamodel in-troduced. The notation used to express this process model is taken from theBusiness Process Model and Notation:

• Event model nodes are represented by circles; the final event model isrepresented by a bold circle.

• Activity models are represented by rectangles with rounded edges.• Gateway models are represented by diamonds.• Edges are represented by directed edges between nodes.

units of workrelevant states

(e.g., start, end)

split/join control flow

relationships and dependencies

between nodes

composition (each part belongs to a unique whole)

association

is a

entities

attributes

UML-like syntax

Page 20: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

17

A process metamodel (level M2)

90 3 Business Process Modelling Foundation

Fig. 3.13. Model for process models: process metamodel, MOF level M2

Each node is associated with at least one edge. The different types of nodesare represented by the generalization relation. Activity models reflect the workunits to be performed, event models represent the occurrence of states relevantfor the business process, and gateway models represent execution constraintsof activities, such as split and join nodes.

While the association between nodes and edges are defined at the nodelevel, the cardinality of the association between special types of nodes (activitymodels, event models, and gateway models) differs. Each activity model hasexactly one incoming and one outgoing edge.

Each process starts with exactly one event, the initial event, and endswith exactly one event, the final event. Therefore, certain events can haveno incoming edges (initial event) or no outgoing edges (final event). Gatewaymodels represent control flow. Therefore, they can act as either split nodesor join nodes, but not both. Hence, each gateway model can have multipleoutgoing edges (split gateway node) or multiple incoming edges (join gatewaynode).

Figure 3.14 shows a process model based on the process metamodel in-troduced. The notation used to express this process model is taken from theBusiness Process Model and Notation:

• Event model nodes are represented by circles; the final event model isrepresented by a bold circle.

• Activity models are represented by rectangles with rounded edges.• Gateway models are represented by diamonds.• Edges are represented by directed edges between nodes.

units of workrelevant states

(e.g., start, end)

split/join control flow

relationships and dependencies

between nodes

composition (each part belongs to a unique whole)

association

is a

entities

attributes

UML-like syntax

Page 21: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Process models and process instances

18

Process Model

Node Edge

Event Model

Activity Model

Gateway Model

Process Instance

Node Instance

1

*

1*

1*

2 1..*

1

1..*

1

2..*

Event

Activity Instance

Gateway Instance

1*

1*

1*

Fig 3.17. Model for process models and process instancesM

. Wes

ke: B

usin

ess

Pro

cess

Man

agem

ent,

© S

prin

ger-

Ver

lag

Ber

lin H

eide

lber

g 20

07

Page 22: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Aggregation Abstraction

19

Page 23: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Aggregation abstraction

20

Multiple elements of a lower level of granularity can be grouped and represented by a single artifact at the

higher level of granularity

Different from horizontal abstraction, where all entities lie at the same level of granularity

Page 24: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

A sample aggregation

21

Page 25: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Vertical Abstraction

22

Page 26: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Vertical abstraction (domain separation)

23

BPM includes multiple modelling domains, integrated by Process Modelling

Page 27: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Function models

24

Units of work enacted by processes (at different levels of granularity)

Informal description, textual documents (coarse-grain business level)

Formal description, function specifications (fine-grain software layer)

Page 28: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Value Chains

25

Value chains are a way to organize the work that a company conducts to achieve its business goal

Value chains were developed by Michael Porter to organize high-level business functions and

to relate them to each other

Page 29: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Value systems

26

Companies have goals to fulfill

To reach their goals, companies can cooperate with each other

The value chains of cooperating companies become linked/related to each other:

they form a value system

Value systems can provide an immediate understanding of ``how a company operates’’

Page 30: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Value systems

27

Informal, high-level business functions decomposition produce a

Value system made of

Value chains centred at the enterprise E under consideration

Collaboration is flowing in both directions inside chains

(not necessarily left-to-right)

Collaboration requires contract negotiation

Page 31: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Ecology of value chains

28

``gaining and sustaining competitive advantage depends on understanding not only a firm’s value

chain but how the firm fits in the overall value system’’

- Porter

Page 32: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

High-level business functions

29

The value chain of a company has a rich internal structure, consisting of a set of coarse-grained

business functions (e.g. Order management, Human resources)

High-level business functions can be decomposed into finer-grained functions

(this is called functional decomposition) (e.g. from ``Order management’’ to ``storing’’ and ``checking’’ orders)

Page 33: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Activity models and activity instances

30

Page 34: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Value chains and processes

31

Porter was not able to identify the role of processes within value chains

However, process-orientation can fit very well with value-chains and functional decomposition

(see Lecture 4)

Key factor: the granularity of business processes must be in line with the particular goals associated with the

supported business function

Page 35: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Information models

32

Data representation is crucial: all decisions made during a business process

depends on data values

Data dependencies between activities are also important

(ensure data-availability, reduce waiting time)

Page 36: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Data models

33

M2: Metamodel(data meta model,

e.g., Entity Relationship Model)

M1: Model(data model)

M0: Instance(data values)

describes

describes

Notation(data model notation,

e.g., ER Notation, UML Class Diagrams)

expre

sses

Instance-of

Instance-of

Fig 3.23. MOF levels of modelling data

M. W

eske

: Bus

ines

s P

roce

ss M

anag

emen

t, ©

Spr

inge

r-V

erla

g B

erlin

Hei

delb

erg

2007

Page 37: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Organizational models

34

Organizational structure must be represented

Activities must be associated to specific roles or departments

Page 38: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Organizational models

35

M2: Metamodel(organization meta model)

M1: Model(organization model)

M0: Instance(persons, e.g.,

knowledge workers, managers)

describes

describes

Notation(organization model

notation, e.g., Organization Chart)

expre

sses

Instance-of

Instance-of

Fig 3.25. MOF levels of organization aspect

M. W

eske

: Bus

ines

s P

roce

ss M

anag

emen

t, ©

Spr

inge

r-Ver

lag

Ber

lin H

eide

lber

g 20

07

Page 39: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

An organizational metamodel

36

Person Positionoccupies

Role

participates in

can delegate work to

Organizational Unitis member

of

Organizational Team

reports to

Fig 3.26. Organization metamodel M. W

eske

: Bus

ines

s P

roce

ss M

anag

emen

t, ©

Spr

inge

r-Ver

lag

Ber

lin H

eide

lber

g 20

07

Page 40: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

IT landscape

37

Many activities in a business process are supported by information systems

Information systems and programming interfaces needs to be represented because they provide

functionalities

Page 41: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Interface Definition Languages

38

M2: Metamodel(Interface Definition Languages)

M1: Model(Interface Definitions)

M0: Instance(Executing Software providing

Defined Functionality)

describes

describes

Notation(IDL specifications)

expres

ses

Instance-of

Instance-of

Fig 3.29. MOF levels of operational perspective

M. W

eske

: Bus

ines

s Pr

oces

s M

anag

emen

t, ©

Spr

inge

r-V

erla

g Be

rlin

Hei

delb

erg

2007

Page 42: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Service enabling

39

Activity

Software Layer

*

*

AnalyzeOrder

Ord23x24

Hardware Node 1

Hardware Node 2

Technical Infrastructure Layer

*

*

_ERP0092

Node 3 Node 4

Order_324

Analyze Order Service

Service

*

*

Fig 3.30. Service-enabling closes gap between technical infrastructure and business processes

M. W

eske

: Bus

ines

s P

roce

ss M

anag

emen

t, ©

Spr

inge

r-V

erla

g B

erlin

Hei

delb

erg

2007

An activity can be realized by multiple services

(and vice versa)

Page 43: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

Process models

40

Define the glue between the subdomains

Relate functions and execution constraints

Relate data values with process instances (e.g. the process of a credit approval may depend

on the requested amount)

Page 44: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

A process model with role information

41

Enter credit

request

Analyze client

Finalize Decision

Propose Decision

Clerk Manager

Fig 3.34. Simple business process model with role information M. W

eske

: Bus

ines

s P

roce

ss M

anag

emen

t, ©

Spr

inge

r-V

erla

g B

erlin

Hei

delb

erg

2007

Page 45: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistrale... · 2018-09-23 · JavaScript (JS): user interactions . Abstractions 12

A process instance with workers information

42

Enter c.r. (r017, Miller ,

10000)Analyze client (r017, Miller)

Finalize Decision

(r017, Miller )

Propose Decision (r017,

Miller )

Charles JanePeter Anne

Clerk Manager

Fig 3.35. Simple business process instance with knowledge workers associated with activities

M. W

eske

: Bus

ines

s P

roce

ss M

anag

emen

t, ©

Spr

inge

r-V

erla

g B

erlin

Hei

delb

erg

2007