Integration of BIP into Connectivity Factory: Implementation
Coordinating component behaviour and, in particular, concurrent access to resources is among the key difficulties of building large concurrent systems. To address this, developers must be able to manipulate high-level concepts, such as Finite State Machines and separate functional and coordination aspects of the system behaviour. OSGi associates to each bundle a simple state machine representing the bundle’s lifecycle. However, once the bundle has been started, it remains in the state Active—the functional states are not represented. Therefore, this mechanism is not sufficient for coordination of active components. This report presents the methodology, proposed in the project, for functional component coordination in OSGi by using BIP coordination mechanisms. In BIP, systems are constructed by superposing three layers of modelling: Behaviour, Interaction, and Priority. This approach allows us to clearly separate the system-wide coordination policies from the component behaviour and the interface that components expose for interaction. By using BIP, we have shown how the allowed global states and state transitions of the modular system can be taken into account in a non-invasive manner and without any impact on the technology stack within an OSGi container. We illustrate our approach on two use-cases, whereof one is based on a real-life application.
Record created on 2014-02-19, modified on 2016-08-09