Contract-based Verification of Kmelia Component Assemblies using Event-B
Abstract
Building reliable software systems from components requires to verify the consistency of components and the correctness of component assemblies. In this work, we design a verification method to address the problem of verifying the consistency of component states and the correctness of assembly contracts, using pre-/post-conditions. The starting point is specifications written with Kmelia: a Kmelia component type declares provided and required services which are used to link components in component assemblies. From these Kmelia specifications we generate Event-B models in such a way that we can check the consistency and also the correctness of assembly at the Kmelia level, using Event-B provers. An illustrative example based on a stock management system is used to support the presentation.