SAA1
Predictable Composition for Predictable Results
Overview, Focus, Problem (What?)
The continued development and deployment of distributed, real-time embedded systems technologies in recent years has resulted in a multitude of ecosystems in which service-oriented embedded systems can now be realised. Such ecosystems are often exposed to dynamic changes in user requirements, environmental conditions and network topologies that require service-oriented embedded systems to evolve at runtime.
To support both the flexibility of dynamic service adaptation, as well as to maintain the reliability of the overall service a new set of techniques is required to verify aspects such as the timely adaptation of services, and prediction of the likely impact of adaptation on the timely behaviour. Another aspect we need to consider is the possible emergence of undesired functional interaction, commonly known as undesired feature interactions.
We propose a framework for service-oriented embedded systems that can dynamically adapt to changing conditions at runtime. Supported by model-driven development techniques, the framework facilitates lightweight dynamic service composition in embedded systems while predicting the temporal nature of unforeseen service assemblies and coping with adverse feature interactions following dynamic service composition. This minimises the complexity of evolving software where services are deployed dynamically and ultimately, enables flexible and dependable service-oriented embedded systems. In order to understand the nature of dynamic adaptation we introduce a formal model of dynamic adaptation that provides a formal foundation to our work.
Approach (How?)
We developed a set of techniques, combined in a framework called TimeAct that minimise the disruption caused by run-time adaptations, and ensure that the timing response of a dynamically adaptable service does not introduce undesired behaviours.
Motivation (Why?)
Existing approaches realise the execution of adaptations within time bounds that are statically defined, either by the underlying hardware or by application-specific properties. Once executed, the adaptations are run in a transactional manner, that is, either all adaptation actions are executed or none. In our approach we partition the reconfiguration process into sub-sequences in order to allow for the adaptation to be effected gradually or as a whole.
Our approach enables the service provider to implement adaptations in a manner that guarantees the adaptation process completes within prescribed time bounds, and results in a stable re-configured service. Achieving timely and stable dynamic adaptation has been so far an open issue in software engineering




