QoS verification and model tuning @ runtime
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Compositional reverification of probabilistic safety properties for large-scale complex IT systems
Proceedings of the 17th Monterey conference on Large-Scale Complex IT Systems: development, operation and management
Towards communication-based steering of complex distributed systems
Proceedings of the 17th Monterey conference on Large-Scale Complex IT Systems: development, operation and management
An incremental verification framework for component-based software systems
Proceedings of the 16th International ACM Sigsoft symposium on Component-based software engineering
Managing non-functional uncertainty via model-driven adaptivity
Proceedings of the 2013 International Conference on Software Engineering
Mitigating the obsolescence of specification models of service-based systems
Proceedings of the 2013 International Conference on Software Engineering
Dynamic decision networks for decision-making in self-adaptive systems: a case study
Proceedings of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems
Towards run-time testing of dynamic adaptive systems
Proceedings of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems
Adaptive model learning for continual verification of non-functional properties
Proceedings of the 5th ACM/SPEC international conference on Performance engineering
Uncertainty handling in goal-driven self-optimization - Limiting the negative effect on adaptation
Journal of Systems and Software
Hi-index | 0.00 |
Modern software systems are increasingly requested to be adaptive to changes in the environment in which they are embedded. Moreover, adaptation often needs to be performed automatically, through self-managed reactions enacted by the application at run time. Off-line, human-driven changes should be requested only if self-adaptation cannot be achieved successfully. To support this kind of autonomic behavior, software systems must be empowered by a rich run-time support that can monitor the relevant phenomena of the surrounding environment to detect changes, analyze the data collected to understand the possible consequences of changes, reason about the ability of the application to continue to provide the required service, and finally react if an adaptation is needed. This paper focuses on non-functional requirements, which constitute an essential component of the quality that modern software systems need to exhibit. Although the proposed approach is quite general, it is mainly exemplified in the paper in the context of service-oriented systems, where the quality of service (QoS) is regulated by contractual obligations between the application provider and its clients. We analyze the case where an application, exported as a service, is built as a composition of other services. Non-functional requirements—such as reliability and performance—heavily depend on the environment in which the application is embedded. Thus changes in the environment may ultimately adversely affect QoS satisfaction. We illustrate an approach and support tools that enable a holistic view of the design and run-time management of adaptive software systems. The approach is based on formal (probabilistic) models that are used at design time to reason about dependability of the application in quantitative terms. Models continue to exist at run time to enable continuous verification and detection of changes that require adaptation.