Evolution is an inevitable phenomenon during the life time of a long-lived software systems due to the dynamic of their working environment. Software systems thus need to evolve to meet the changing demands. A key point of evolution is its uncertainty since it refers to potential future changes to software artifacts such as requirements models. Thus, the selection of evolution-resilient design alternatives for the systems is a significant challenge. This dissertation proposes a framework for modeling evolution and reasoning about it and its uncertainty in requirements models to facilitate the decision making process. The framework provides evolution rules as a means to capture requirements evolution, and a set of evolution metrics to quantify design alternatives of the system. This enables more useful information about to what extent design alternatives could resist to evolution. Thus, it helps decision makers to make strategic moves. Both evolution rules and evolution metrics are backed up with a formal model, which is based on a game-theoretic interpretation, so that it allows a formal semantics understanding of the meaning of the metrics in different scenarios. The proposed framework is supported by a series of algorithms, which automates the calculation of metrics, and a proof-of-concept Computer Aided Software Engineering (CASE) tool. The algorithms calculate metric values for each design alternative, and enumerate possible design alternatives with the best metric values, i.e., winner alternatives. The algorithms have been designed to incrementally react to every single change made to requirements models in an efficient way. The proposed framework is evaluated in a series of empirical studies that took place over a year to evaluate the modeling part of the framework. The evaluation studies used scenarios taken from industrial projects in the Air Traffic Management (ATM) domain. The studies involve different types of participants with different expertise in the framework and the domain. The results from the studies show that the modeling approach is effective in capturing the evolution of complex systems. It is reasonably possible for people, if they are supplied with appropriate knowledge (i.e., knowledge of method for domain experts, knowledge of domain for method experts, and knowledge of both domain and method for novices), to build significantly large models, and identify possible ways for these models to evolve. Moreover, the studies show that obviously there is a difference between domain experts, method experts, and students on the “baseline" (initial) model, but when it comes to model the changes with evolution rules, there is no significant difference. The proposed framework is not only applicable to requirements model, but also other system models like risk assessment. The framework has been adapted to deal with evolving risks in long-lived software systems at a high level of abstraction. It thus could work with many existing risk-assessment methods. In summary, the contribution of this dissertation to the early phase of system development should allow system designers to improve the evolution resilience of long-lived systems.

Managing the Uncertainty of the Evolution of Requirements Models / Tran, Le Minh Sang. - (2014), pp. 1-203.

Managing the Uncertainty of the Evolution of Requirements Models

Tran, Le Minh Sang
2014-01-01

Abstract

Evolution is an inevitable phenomenon during the life time of a long-lived software systems due to the dynamic of their working environment. Software systems thus need to evolve to meet the changing demands. A key point of evolution is its uncertainty since it refers to potential future changes to software artifacts such as requirements models. Thus, the selection of evolution-resilient design alternatives for the systems is a significant challenge. This dissertation proposes a framework for modeling evolution and reasoning about it and its uncertainty in requirements models to facilitate the decision making process. The framework provides evolution rules as a means to capture requirements evolution, and a set of evolution metrics to quantify design alternatives of the system. This enables more useful information about to what extent design alternatives could resist to evolution. Thus, it helps decision makers to make strategic moves. Both evolution rules and evolution metrics are backed up with a formal model, which is based on a game-theoretic interpretation, so that it allows a formal semantics understanding of the meaning of the metrics in different scenarios. The proposed framework is supported by a series of algorithms, which automates the calculation of metrics, and a proof-of-concept Computer Aided Software Engineering (CASE) tool. The algorithms calculate metric values for each design alternative, and enumerate possible design alternatives with the best metric values, i.e., winner alternatives. The algorithms have been designed to incrementally react to every single change made to requirements models in an efficient way. The proposed framework is evaluated in a series of empirical studies that took place over a year to evaluate the modeling part of the framework. The evaluation studies used scenarios taken from industrial projects in the Air Traffic Management (ATM) domain. The studies involve different types of participants with different expertise in the framework and the domain. The results from the studies show that the modeling approach is effective in capturing the evolution of complex systems. It is reasonably possible for people, if they are supplied with appropriate knowledge (i.e., knowledge of method for domain experts, knowledge of domain for method experts, and knowledge of both domain and method for novices), to build significantly large models, and identify possible ways for these models to evolve. Moreover, the studies show that obviously there is a difference between domain experts, method experts, and students on the “baseline" (initial) model, but when it comes to model the changes with evolution rules, there is no significant difference. The proposed framework is not only applicable to requirements model, but also other system models like risk assessment. The framework has been adapted to deal with evolving risks in long-lived software systems at a high level of abstraction. It thus could work with many existing risk-assessment methods. In summary, the contribution of this dissertation to the early phase of system development should allow system designers to improve the evolution resilience of long-lived systems.
2014
XXV
2013-2014
Ingegneria e scienza dell'Informaz (29/10/12-)
Information and Communication Technology
Massacci, Fabio
no
Inglese
Settore INF/01 - Informatica
File in questo prodotto:
File Dimensione Formato  
tran-thesis.pdf

accesso aperto

Tipologia: Tesi di dottorato (Doctoral Thesis)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 6.11 MB
Formato Adobe PDF
6.11 MB Adobe PDF Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11572/367614
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact