Compositional verification of soundness

Compositional Design and Verification of
Component - Based Information Systems
C.
Jan Martijn van der Werf
Organizations cooperate
Bob
Charley
Alice
Dave
Organizations deliver services
Bob
Charley
Alice
Dave
Component-based information system
Process
Data
Process
Data
Process
Process
Data
Data
Process
Data
Process
Data
Verification vs. design
• Verification:
• Correctness by design:
• Go and do what you want,
check when finished
vs.
• Follow my rules,
and it is correct
Compositional verification of soundness
• Components form a service tree
• Components only know their direct neighbors
C
A
B
D
E
= soundness of
component
= condition on communicating
pair of components
F
Compositional verification of soundness
Compositional verification of soundness
Compositional design: refinement rules!
• Stepwise refinement
• Each step preserves soundness
• Refinement rules:
• Within component
• Outsourcing
• Over components
Process + Data = Prototype
+
+
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
Compositional Design and Verification of
Component - Based Information Systems
C
Jan Martijn van der Werf
Components and their composition
• Soundness: always possible to finish properly
(disregarding interfaces)
a
a
b
b
c
c
d
d
G
e
G
e
H
I
Correctness by design
• Refinement within a component
Correctness by design
• Refinement over components
t
v
u
w
x
t
u
v
iC
iD
q
(
p
G
p
w
q
fC
A
x
B
fD
C
y
)=
H
D
z
z
y
Correctness by design
• Outsource refinement
Sufficient conditions for
Sufficient conditions for soundness
• 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
B
B+C
B
B+C
B
B+C