A formal approach to adaptive software: continuous assurance of non-functional requirements |
| |
Authors: | Antonio Filieri Carlo Ghezzi Giordano Tamburrelli |
| |
Affiliation: | 1. DEI, Politecnico di Milano, DeepSE Group, Piazza L. da Vinci, 32, 20133, Milan, Italy
|
| |
Abstract: | 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. |
| |
Keywords: | |
本文献已被 SpringerLink 等数据库收录! |
|