180 likes | 258 Views
C. Compositional Design and Verification of Componen t- Based Information Systems. Jan Martijn van der Werf. Organizations cooperate. Bob. Charley. “Who-knows-who” not transitive!. Alice. Dave. Organizations deliver services. Bob. Charley. Alice. Dave.
E N D
C. Compositional Design and Verification of Component-Based Information Systems Jan Martijn van der Werf
Organizations cooperate Bob Charley “Who-knows-who” not transitive! Alice Dave
Organizations deliver services Bob Charley Alice Dave
Component-based information system Process Data Process Process Process Data Data Data Process Data Process Data
Verification vs. design • Verification: • Go and do what you want, check when finished • Correctness by design: • Follow my rules, and it is correct vs.
Compositional verification of soundness • Components form a service tree • Components only know their direct neighbors C A B D E = soundness of component F = condition on communicating pair of components
Compositional verification of soundness Soundness not sufficient for pairwise verification!
Compositional design: refinement rules! • Stepwise refinement • Each step preserves soundness • Refinement rules: • Within component • Outsourcing • Over components
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
C Compositional Design and Verification of Component-Based Information Systems Jan Martijn van der Werf
Components and their composition • Soundness: always possible to finish properly(disregarding interfaces) H a a b b c c d d I G G e e
Correctness by design • Refinement within a component
Correctness by design • Refinement over components
Correctness by design • Outsource refinement
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