Transcript
Page 1: C. Compositional Design and Verification of Component-Based Information Systems Jan Martijn van der Werf

C.

Compositional Design and Verification of

Component-Based Information Systems

Jan Martijn van der Werf

Page 2: C. Compositional Design and Verification of Component-Based Information Systems Jan Martijn van der Werf

Organizations cooperate

BobCharley

Alice

“Who-knows-who” not transitiv

e!

Dave

Page 3: C. Compositional Design and Verification of Component-Based Information Systems Jan Martijn van der Werf

Organizations deliver services

BobCharley

Alice

Dave

Page 4: C. Compositional Design and Verification of Component-Based Information Systems Jan Martijn van der Werf

Component-based information system

Process

Data

Process

Data

Process

Data

Process

Data

Process

Data

Process

Data

Page 5: C. Compositional Design and Verification of Component-Based Information Systems Jan Martijn van der Werf

Verification vs. design

• Verification:• Go and do what you want,

check when finished

• Correctness by design:• Follow my rules,

and it is correct

vs.

Page 6: C. Compositional Design and Verification of Component-Based Information Systems Jan Martijn van der Werf

Compositional verification of soundness

• Components form a service tree• Components only know their direct neighbors

B

C

E

D

= soundness of component

= condition on communicating pair of components

A

F

Page 7: C. Compositional Design and Verification of Component-Based Information Systems Jan Martijn van der Werf

Compositional verification of soundness

Page 8: C. Compositional Design and Verification of Component-Based Information Systems Jan Martijn van der Werf

Compositional verification of soundness

Soundness not sufficient fo

r pairw

ise verification!

Page 9: C. Compositional Design and Verification of Component-Based Information Systems Jan Martijn van der Werf

Compositional design: refinement rules!

• Stepwise refinement• Each step preserves soundness• Refinement rules:

• Within component• Outsourcing• Over components

Page 10: C. Compositional Design and Verification of Component-Based Information Systems Jan Martijn van der Werf

Process + Data = Prototype

+ +

Page 11: C. Compositional Design and Verification of Component-Based Information Systems Jan Martijn van der Werf

Compositional design and verification of Component-based information systems

• Framework for component-based information systems• Compositional verification of interaction• Compositional design of interaction

• Petri nets extended with data• Message passing• Data transactions

• Process + data prototype• Re-engineering by process mining

Page 12: C. Compositional Design and Verification of Component-Based Information Systems Jan Martijn van der Werf

C

Compositional Design and Verification of

Component-Based Information Systems

Jan Martijn van der Werf

Page 13: C. Compositional Design and Verification of Component-Based Information Systems Jan Martijn van der Werf

• Soundness: always possible to finish properly(disregarding interfaces)

Components and their composition

a

b

c

d

e

a

b

c

d

e

H

IG G

Page 14: C. Compositional Design and Verification of Component-Based Information Systems Jan Martijn van der Werf

Correctness by design

• Refinement within a component

Page 15: C. Compositional Design and Verification of Component-Based Information Systems Jan Martijn van der Werf

Correctness by design

• Refinement over components

)=( p q

A

B

Gp

q

C

D

H

iC

fC

iD

fDx

v u

t

w

y

z

w

v

t

u

x

y

z

Page 16: C. Compositional Design and Verification of Component-Based Information Systems Jan Martijn van der Werf

Correctness by design

• Outsource refinement

Page 17: C. Compositional Design and Verification of Component-Based Information Systems Jan Martijn van der Werf

Sufficient conditions for

Page 18: C. Compositional Design and Verification of Component-Based Information Systems Jan Martijn van der Werf

Sufficient conditions for soundness

B B+C B B+C B B+C

• Identical communication:• B+C behaves like B on interface with A

• Alternating communication block:• B+C has same communication blocks as B

• Elastic communication:• B+C may send earlier and receive later than B