Behaviour matters: towards reliable and adaptable systems

In today's technologically driven society, the critical importance of ensuring a predictable behaviour in component-based systems cannot be overlooked. Modern software engineering practices, e.g., application autoscaling and Continuous Integration/Continuous Deployment (CICD), promote effective adaptation to time-varying workloads, code quality and rapid deployment. Despite their effectiveness, these practices cannot guarantee the absence of unexpected events within complex systems. The consequences of misbehaviour, e.g., service unavailability, violation of the Quality of Service, highlight the pressing need for enhanced practices. In this Dissertation, we address these challenges through three primary objectives. First, we propose a new timed modelling/execution language to model the behaviour and simulate the execution of component-based systems. Such language enables the evaluation of system functioning early on in the software development lifecycle, giving DevOps teams the possibility of assessing the impact of their choices, e.g., deployment decisions and scaling policies, at the modelling stage. Then, we present orchestration-based architectural reconfiguration techniques targeted at ensuring the system reaches a given goal, e.g., service replication/migration. In particular, leveraging the knowledge of component properties, e.g., functional dependencies, required resources, is crucial: starting from declarative specifications of these properties, we can automatically synthesise correct-by construction orchestrations that guarantee to instil the desired behaviour in the system. Moreover, service replication techniques exploiting these orchestrations overcome the drawbacks, i.e., the "domino effect" caused by uncoordinated scaling, of existing service-level adaptation approaches, e.g., Kubernetes Horizontal Pod Autoscaler. Finally, we devise a theoretical machinery for behavioural-based analyses in object-oriented languages endowed with typestates, i.e., protocols attached to classes dictating order of method calls, and we implement it in a typestate-based checker for Java. Our type checker can be easily integrated in CICD pipelines, enhancing them with static analyses to proactively prevent component misbehaviours.

Publication Details

Journal
AMS Dottorato Institutional Doctoral Theses Repository (University of Bologna)
Published
2025-01-01
DOI
https://doi.org/10.48676/unibo/amsdottorato/12030
Primary Topic
Geochemistry and Geologic Mapping
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Behaviour matters: towards reliable and adaptable systems

AMS Dottorato Institutional Doctoral Theses Repository (University of Bologna)
Geochemistry and Geologic Mapping
article

Behaviour matters: towards reliable and adaptable systems

article en

Abstract

In today's technologically driven society, the critical importance of ensuring a predictable behaviour in component-based systems cannot be overlooked. Modern software engineering practices, e.g., application autoscaling and Continuous Integration/Continuous Deployment (CICD), promote effective adaptation to time-varying workloads, code quality and rapid deployment. Despite their effectiveness, these practices cannot guarantee the absence of unexpected events within complex systems. The consequences of misbehaviour, e.g., service unavailability, violation of the Quality of Service, highlight the pressing need for enhanced practices. In this Dissertation, we address these challenges through three primary objectives. First, we propose a new timed modelling/execution language to model the behaviour and simulate the execution of component-based systems. Such language enables the evaluation of system functioning early on in the software development lifecycle, giving DevOps teams the possibility of assessing the impact of their choices, e.g., deployment decisions and scaling policies, at the modelling stage. Then, we present orchestration-based architectural reconfiguration techniques targeted at ensuring the system reaches a given goal, e.g., service replication/migration. In particular, leveraging the knowledge of component properties, e.g., functional dependencies, required resources, is crucial: starting from declarative specifications of these properties, we can automatically synthesise correct-by construction orchestrations that guarantee to instil the desired behaviour in the system. Moreover, service replication techniques exploiting these orchestrations overcome the drawbacks, i.e., the "domino effect" caused by uncoordinated scaling, of existing service-level adaptation approaches, e.g., Kubernetes Horizontal Pod Autoscaler. Finally, we devise a theoretical machinery for behavioural-based analyses in object-oriented languages endowed with typestates, i.e., protocols attached to classes dictating order of method calls, and we implement it in a typestate-based checker for Java. Our type checker can be easily integrated in CICD pipelines, enhancing them with static analyses to proactively prevent component misbehaviours.

AMS Dottorato Institutional Doctoral Theses Repository (University of Bologna)
Openalex Percentile: Top 70%
Geochemistry and Geologic Mapping
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.