The Project
QoS_DREAMS - QoS-Driven REconfigurAtion of distributed systeMS (QoS_DREAMS - DPI2012-37806-C02-01)
- Lead Researcher: Marga Marcos - (01/01/2013 - 31/12/2015)
- Research Area: Smart & Flexible Automation Production Systems
- Funding Body: Spanish Ministry of Economy and Competitiviness
Objectives
The general aim of this project is to analyse the viability of the application of domain modelling techniques and components technologies to design and develop complex, distributed and reconfigurable applications. We will partilarly focus on the dynamic reconfiguration of applications in two different areas: distributed automatisation applications and distributed embedded applications. Thus, one of the aims of this project is to analyse the use of multi-view modelling techniques both for designing (specification) and developing (code generation) of the applications, so they take into account not only the characterisation of the functionality and hardware architecture, but also the dynamic reconfiguration of the applications conducted by the application itself, triggered by predefined quality compliance criteria. In addition, the project also aims to support the reconfiguration led by QoS criteria in the execution phase, for which we propose the extension of middleware technologies based on components and the application of intelligent techniques.
Achievements
This project is currently ongoing. The goals achieved so far are:
1) Methodology for the development of automatized control systems, MEIA.
This methodology combines areas of software engineering with method and standards from industrial automation UML, GRAFCET and GEMMA to guide the analysis and design of complex automation systems. It involves 6 phases and 28 steps that guide the automation system designer, considering different possible operating modes.
2) Tools based on MEIA models.
Environment based on models that implement the methodology and allows for capturing, in a guided way, the various aspects of the design, generating documentations of the phases, as well as the functional code
3) Support mechanisms for dynamic reconfiguration of applications.
We have explored two alternatives to support the management of the distributed reconfigurable applications that have led to the design and development of two middleware components with different features:
DAMP: based on Frascati, an implementation of the Service Component Architecture (SCA) standard, and implemented in DDS as distribution middleware. It conducts the management of the distributed components, using implementations of the components of a different QoS in order to dynamically select the implementations that guarantee compliance of its QoS. In addition, the unfolded implementations in different nodes allow for securing the availability of the components of the application, this being a set of interconnected components. It also offers an API that the application can use for self-reconfiguration.
MAS-RECON is another alternative based on multi-agents, and implemented in JADE, in contrast with the previous centralisation, and it aims to explore the decision making for distributed reconfiguration, so that the agents (components of the application, nodes and applications) are at different levels of the hierarchy and negotiate with their counterparts in order to have all the applications available at any time. It is also aimed at ensuring that the components of the application mode are executed in the most adequate node. It also incorporates an event manager that allows for launching reconfiguration shots in an application or between applications to adapt to changes in the environment.
4)Modelling of distributed reconfigurable applications.
We propose a domain modelling approach that allows for defining the target applications (distributed and dynamically reconfigurable), defining the meta-model with the required concepts. It involves three views: functional (oriented towards the application field), the developmental view (oriented towards generating code and interaction with the middleware), and hardware (containing the resources of the whole systems).
5) Availability of the control system in case of node failure.
The main idea behind this is to continue the execution of the part of the control system that has been affected by a node failure (the mechatronic components affected) in a different controller. We propose a middleware architecture that knows the state of execution of the mechatronic components affected by the failure and that is capable of analysing the situation to make the best decisions on: selecting the backup controller, identifying the execution and recovery point, and the actions needed for reconfiguration.
Acknowledgements
Spanish Ministry of Economy and Competitiveness (MINECO) & FEDER.