Supporting changes in software models is becoming increasingly important. Some of these changes are induced by non-functional aspects that are nowadays analyzed throughout the entire software life-cycle. However, non-functional analysis is generally based on models, tools and data that are different from the ones usually adopted for software functional design. Therefore, it becomes crucial to develop methods to reduce the gap between design knowledge and non-functional analysis context. To this extent, in the last two decades, a number of approaches, mostly based on Model-Driven Engineering (MDE) like model transformation, have been introduced to generate non-functional analysis models from software models. However, when analysis models are modified to meet non-functional requirements, changes are not propagated back to the software model, whereas the automated identification and propagation of changes would better support a round-trip analysis process. Moreover, once the system is built and running in production, advanced techniques are required to continuously assess and improve non-functional properties. In the last few years, design-runtime interactions proved to be effective in addressing this problem on a number of practical scenarios. In this PhD thesis we intend to bridge this gap by providing solutions to: (i) support complex change propagation and model synchronization scenarios by developing advanced model-driven techniques to enhance bidirectional model transformation and traceability management; (ii) generate availability analysis models from software models, and automatically propagate changes, driven by availability requirements satisfaction, from analysis models back to software models; (iii) relate design and runtime artifacts to detect potential performance problems and resolve them through the automated refactoring of models as well as of the running system; (iv) assist the detection of root causes of defects in safety-critical systems, especially when such defects only manifest after deployment. The model-driven techniques developed in this thesis are specifically targeted at change propagation and traceability management problems. They are mainly implemented within the Janus Transformation Language (JTL), a constraint-based model transformation framework designed to support bidirectionality and change propagation. The approaches we realized on the basis of these techniques are applied to different non-functional properties such as performance, availability, reliability and safety. We have been able to validate our approaches on several case studies and benchmarks from both literature and industry.

Tecniche model-driven avanzate per il miglioramento delle proprietà non funzionali dei sistemi software / Tucci, Michele. - (2021 May 04).

Tecniche model-driven avanzate per il miglioramento delle proprietà non funzionali dei sistemi software

TUCCI, MICHELE
2021

Abstract

Supporting changes in software models is becoming increasingly important. Some of these changes are induced by non-functional aspects that are nowadays analyzed throughout the entire software life-cycle. However, non-functional analysis is generally based on models, tools and data that are different from the ones usually adopted for software functional design. Therefore, it becomes crucial to develop methods to reduce the gap between design knowledge and non-functional analysis context. To this extent, in the last two decades, a number of approaches, mostly based on Model-Driven Engineering (MDE) like model transformation, have been introduced to generate non-functional analysis models from software models. However, when analysis models are modified to meet non-functional requirements, changes are not propagated back to the software model, whereas the automated identification and propagation of changes would better support a round-trip analysis process. Moreover, once the system is built and running in production, advanced techniques are required to continuously assess and improve non-functional properties. In the last few years, design-runtime interactions proved to be effective in addressing this problem on a number of practical scenarios. In this PhD thesis we intend to bridge this gap by providing solutions to: (i) support complex change propagation and model synchronization scenarios by developing advanced model-driven techniques to enhance bidirectional model transformation and traceability management; (ii) generate availability analysis models from software models, and automatically propagate changes, driven by availability requirements satisfaction, from analysis models back to software models; (iii) relate design and runtime artifacts to detect potential performance problems and resolve them through the automated refactoring of models as well as of the running system; (iv) assist the detection of root causes of defects in safety-critical systems, especially when such defects only manifest after deployment. The model-driven techniques developed in this thesis are specifically targeted at change propagation and traceability management problems. They are mainly implemented within the Janus Transformation Language (JTL), a constraint-based model transformation framework designed to support bidirectionality and change propagation. The approaches we realized on the basis of these techniques are applied to different non-functional properties such as performance, availability, reliability and safety. We have been able to validate our approaches on several case studies and benchmarks from both literature and industry.
Tecniche model-driven avanzate per il miglioramento delle proprietà non funzionali dei sistemi software / Tucci, Michele. - (2021 May 04).
File in questo prodotto:
File Dimensione Formato  
MicheleTucci_Thesis.pdf

accesso aperto

Descrizione: Advanced Model-Driven Techniques to Improve Non-Functional Properties of Software Systems
Tipologia: Tesi di dottorato
Dimensione 10.96 MB
Formato Adobe PDF
10.96 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/11697/168332
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact