Enriching osgi service interfaces with formal sequential contracts
Architecture description languages define component interfaces with sequential contracts, which allow for static analysis of method call sequences in component or service interactions. However, component and service platforms like OSGi for Java do not provide mechanisms for the specification or enforcement of such sequential contracts. Thus the contracts are only defined in the documentation which might be outdated when long-living systems evolve at the implementation level. This vision paper proposes to attach formal sequential models, in our case interface automata, to the interface definition of OSGi services, so that the modeling information is permanently and tightly coupled to the implementation. This enables consistent documentation, static analysis of component interactions at design time, and real-time enforcement of behavioural contracts at run time. By this means, component interactions can be seamlessly verified in long-living systems when components and their connections are added or changed over time.
Full Text: PDF