Mori, Marco (2012) A framework to support consistent design and evolution of adaptive systems. Advisor: Inverardi, Prof. Paola. pp. 135. [IMT PhD Thesis]
Mori_phdthesis.pdf - Published Version
Available under License Creative Commons Attribution No Derivatives.
Download (15MB) | Preview
Nowadays software systems in the ubiquitous environment have to consider variability as their main characteristic. The ever-changing environment affects these systems and their ability of satisfying functional and non-functional requirements. It is challenging to create and to support the variability of such applications taking into account different variability dimensions. Traditional software processes are not suited for adaptive applications since they consider a fixed definition of context and a clear division between design-time and runtime activities. Attempts to manage variability are only focused at specific phases of the process while it is missing a comprehensive process to face variability at all phases thus supporting the complete creation and the evolution of adaptive applications. The thesis aims to give a possible solution to these problems by defining a new software lifecycle process for building and evolving adaptive applications in a consistent manner. A system is represented following a feature engineering perspective which considers together requirements and code artifacts. We have identified which are the inconsistencies for evolving a system and we have discovered that in order to keep the correctness of the evolution it is necessary to consider system models ranging from the model space to the solution space. The proposed process encompasses two different kinds of evolution: design-time and run-time evolutions. Design-time evolutions are planned before running the system by means of a set of variants whose behavior consistently fit a set of predefined contexts. These alternatives are checked for inconsistencies at design time whereas reconfiguration decisions are taken at run-time based on the current context. Results shows that it is promising to consider predictive information for selecting the best reconfiguration especially in the presence of multiple competing objectives. Runtime evolutions are enacted by enhancing the system with new requirements that may be introduced by the user as a consequence of unpredicted context situations. In this case the consistency check for a new alternative behavior is performed directly at run-time. The proposed process is supported by an evolution framework. The framework is defined in terms of a generic definition and one possible instantiation. The generic interface architecture describes the interfaces that should be provided to support the software process for adaptive systems. A possible instantiation with current technologies shows the feasibility of supporting the process.
|Item Type:||IMT PhD Thesis|
|Subjects:||Q Science > QA Mathematics > QA75 Electronic computers. Computer science|
|PhD Course:||Computer Science and Engineering|
|Date Deposited:||10 Jul 2012 14:38|
Actions (login required)