oop and s-bpm – an analogy observation … · oop and s-bpm – an analogy observation ... there...

29
KIT – University of the State of Baden-Wuerttemberg and National Research Center of the Helmholtz Association INSTITUTE AIFB – COMPLEXITY MANAGEMENT www.kit.edu OOP and S-BPM – an analogy observation PowerSpeech Karlsruhe, October 14 th 2010 Hagen Buchwald, KIT, Institute AIFB

Upload: phamquynh

Post on 19-Aug-2018

231 views

Category:

Documents


0 download

TRANSCRIPT

KIT – University of the State of Baden-Wuerttemberg and National Research Center of the Helmholtz Association

INSTITUTE AIFB – COMPLEXITY MANAGEMENT

www.kit.edu

OOP and S-BPM – an analogy observationPowerSpeech

Karlsruhe, October 14th 2010Hagen Buchwald, KIT, Institute AIFB

Institute AIFB – Complexity Management2 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

Potential Building Blocks of S-BPM (S-BPM ONE 2009)

S-BPMNotation

T1

S-BPMArchitecture

T2

S-BPMReference

Implementation

T3

S-BPMPublication

Series

C1

S-BPM ONEConference

C2

S-BPMCommunity

Process

C3

S-BPMPatterns

M1

S-BPMProcess

Life Cycle

M2

S-BPMMaturityLevels

M3

Technology Community Methodology

PersonalProcess

Space

Institute AIFB – Complexity Management3 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

Why is a simple business process complex?The Dice Game.

Institute AIFB – Complexity Management4 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

Why is a simple business process complex?

Cycle Time

BacklogsThroughput

Costs

Institute AIFB – Complexity Management5 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

Why is a simple business process complex?

Cycle Time

BacklogsThroughput

Costs

Institute AIFB – Complexity Management6 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

Why is a simple business process complex?

Cycle Time

BacklogsThroughput

Costs

Institute AIFB – Complexity Management7 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

Why is a simple business process complex?The KreditSim role play.

State 0 State 1 State 2 State 3 State 4 State 5 State 6 State 7

S0 S7

Institute AIFB – Complexity Management8 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

Why is a simple business process complex?First answer: Process dynamics.

Variance

Institute AIFB – Complexity Management9 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

Why is a simple business process complex?First answer: Process dynamics.

Variance

Institute AIFB – Complexity Management10 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

Why is a simple business process complex?First answer: Process dynamics.

Institute AIFB – Complexity Management11 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

Why is a simple business process complex?First answer: Process dynamics.

1111

Histograms in comparison

Durchlaufzeitin Minuten

Institute AIFB – Complexity Management12 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

For understanding the complexity of a business process, you first have to explore its natural context (nCEA).

S0 S7

State 0 State 1 State 2 State 3 State 4 State 5 State 6 State 7

4 x 2 x 1 x 2 x 2 x 4 x 2 x 2 = 512

Institute AIFB – Complexity Management13 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

First Observation

1. The State is a Structure – a business object.

2. Reality is complex – there is a combinatorial number of paths fromstart to end.

3. We need a natural context exploration approach (nCEA, Matthes Elstermann, 2010) to understand (model – simulate – analyse) thecomplexity of a process.

ð How does that help us to find an adequate definition for S-BPM?

Institute AIFB – Complexity Management14 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

Personal Process SpaceThe Key Concept to formalize S-BPM

WHAT WHAT

pre-conditions post-conditions

ground model

behaviours

HOW

invariants

refinement

Institute AIFB – Complexity Management15 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

Excours: Abstract State MachinesYuri Gurevich, mid 1980

An Abstract State Machine (ASM) is a state machine operating on states which are arbitrary data structures.A state transition can only be executed if the pre-conditions for thattransition are fulfilled.The state transitions involve only a bounded part of the state, describedby post-conditionsand everything is invariant under isomorphisms of structures.Pre- and post-conditions describe the WHAT-part of a transition – thespecification.The How-part – the implementation – is described by the behaviour of the data structure, which acts like an algebra, always guaranteeing theconsistency of the invariant. An Abstract Data Type (ADT) is an algebra describing the WHAT-partof an abitrary data structure. It is the core concept of OOP.Thesis #1: ASMs are an excellent candidate as core concept of S-BPM.Thesis #2: The states of these ASMs must be described as ADTs.

Institute AIFB – Complexity Management16 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

OOP Maturity Levels

Objectbased, modular structureSystems a modularized based on their data structures.

Level 1

Data abstractionObjects must be described as implementations of abstract data types (ADTs).

Level 2

Garbage collectionUnreferenced objects should be deallocated automatically

by the underlying runtime system.

Level 3

ClassesClasses are implementations of abstract data types (ADTs).

Level 4

InheritanceA class can be defined as an reduction or extension of another class.

Level 5

Polymorphism and dynamic bindingElements of a system may reference objects of more than one class,and routines may have different implementations in different classes.

Level 6

Multiple inheritanceYou may declare classes which inherit from more than one parent class.

Level 7

o

o

o

o

o

o

þ

þ

þ

þ

þ

þ

Source: Bertrand Meyer, Object-Oriented Software Construction, 1986

Institute AIFB – Complexity Management17 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

S-BPM Maturity Levels

Source: Bertrand Meyer, Object-Oriented Software Construction, 1986

Subjectbased, modular structureSystems a modularized based on their subject‘s behaviour (habits).

Level 1

Behaviour abstractionSubjects must be described as implementations of abstract state machines (ASMs).

Level 2

Linear scalabilityThe more cores the underlying hardware offers,

the more subjects can act in parallel in order to respond to higher market demand.

Level 3

ClassesClasses are implementations of abstract state machines (ASMs).

Level 4

Inheritance (Refinement)A class can be defined as an reduction or extension of another class.

Level 5

Polymorphism and dynamic bindingElements of a system may reference subjects of more than one class,and behaviour may have different implementations in different classes.

Level 6

Multiple inheritanceYou may declare classes which inherit from more than one parent class.

Level 7

o

o

o

o

o

o

þ

þ

þ

þ

þ

þ

Institute AIFB – Complexity Management18 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

S-BPM-Systems are Software Systems.But what is a software system?

? ?

?

Source: Bertrand Meyer, Object-Oriented Software Construction, 1997

Institute AIFB – Complexity Management19 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

S-BPM-Systems are Software Systems.But what is a software system?

methods data structures

processors

A software system consists of processors,which execute methods on data structures.

The difference between OOP and S-BPM is our primary question to the system:

OOP: On what does the system work?

S-BPM: Who acts in the system?

Source: Bertrand Meyer, Object-Oriented Software Construction, 1997

Institute AIFB – Complexity Management20 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

S-BPM-Systems are Software Systems.But what is a software system?

predicates objects

subjects

A S-BPM system consists of subjects,which execute predicates on objects.

The difference between OOP and S-BPM is our primary question to the system:

OOP: On what does the system work?

S-BPM: Who acts in the system?

Source: Albert Fleischmann, S-BPM ONE 2009

Institute AIFB – Complexity Management21 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

What is OOP?A formal definition.

methods data structures

processors

A software system consists of processors,which execute methods on data structures.

OOP is the development of software systems as a structured collection of

implementations of Abstract Data Types (ADTs).

ADT

Source: Bertrand Meyer, Object-Oriented Software Construction, 1997

Institute AIFB – Complexity Management22 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

What is S-SPM?A proposal of a formal definition.

methods data structures

processors

A software system consists of processors,which execute methods on data structures.

S-BPM is the development of software systems as a structured collection of

implementations of multi-agent Abstract State Machines (ASMs) with ADTs as states.

ADT

ASM

Institute AIFB – Complexity Management23 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

Each operative class is completely described by itsInterface and the corresponding ContractClass.

Specification Levelð Abstract Data Type

Implementation Level

@ContractReference

Objectoriented Programming is the development of software systemsas structured collections of Implementations of abstract data types (ADT).

WHAT

HOW

Institute AIFB – Complexity Management24 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

RequirementsAnalysis

SystemsAnalysis

SystemsDesign

ModuleDesign

Implementation

AcceptanceTest

SystemTest

IntegrationTest

ModuleTest

Unit-Test

ClassASpec.java ATest.java

A.java

ASpecContract.java

Interfaces specify the syntax part,Contract-Classes the semantic part of the ADT.

TYPEs and FUNCTIONS

PRECONDITIONSand AXIOMs

ADT

Institute AIFB – Complexity Management25 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

0%

5%

10%

15%

20%

25%

30%

35%

40%

45%

50%

10% 20% 30% 40% 50% 60% 70% 80% 90% 100%

Results of our Design by Contract experiments SS2010Group A (Interface)

ASpec.javaStory Card

Institute AIFB – Complexity Management26 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

0%

5%

10%

15%

20%

25%

30%

35%

40%

45%

50%

10% 20% 30% 40% 50% 60% 70% 80% 90% 100%

Results of our Design by Contract experiments SS2010Group B (Interface and Test-Class)

ATest.javaASpec.javaStory Card

Institute AIFB – Complexity Management27 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

0%

5%

10%

15%

20%

25%

30%

35%

40%

45%

50%

10% 20% 30% 40% 50% 60% 70% 80% 90% 100%

Results of our Design by Contract experiments SS2010Group C (Interface, Test-Class and Contract-Class)

ASpecContract.javaASpec.java ATest.javaStory Card

Institute AIFB – Complexity Management28 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

What is S-SPM?A proposal of a formal definition.

methods data structures

processors

A software system consists of processors,which execute methods on data structures.

ADT

ASM

Institute AIFB – Complexity Management29 20.10.2010 © Hagen Buchwald – S-BPM ONE 2010 – Program

Conclusion

S-BPMNotation

T1

S-BPMArchitecture

T2

S-BPMReference

Implementation

T3

S-BPMPublication

Series

C1

S-BPM ONEConference

C2

S-BPMCommunity

Process

C3

S-BPMPatterns

M1

S-BPMProcess

Life Cycle

M2

S-BPMMaturityLevels

M3

Technology Community Methodology

PersonalProcess

Space

ComprehensiveASM Specificationof PASS

Egon Börger