SQAL Self-Adaptive System's Quality Assurance Language

SQAL Self-Adaptive System's Quality Assurance Language

Esma Maatougui (LIRE Laboratory, University of Constantine 2 - Abdelahamid Mehri, Algeria), Chafia Bouanaka (LIRE Laboratory, University of Constantine 2 - Abdelahamid Mehri, Algeria) and Nadia Zeghib (LIRE Laboratory, University of Constantine 2 - Abdelahamid Mehri, Algeria)
Copyright: © 2020 |Pages: 27
DOI: 10.4018/IJISMD.2020040104

Abstract

Today's software systems tend to be flexible and dynamic by provisioning mechanisms to react quickly to the environment changes and to adapt system configuration accordingly, in order to maintain the required quality of service (QoS). The engineering of system self-adaptation requires new modeling methods and development methodologies that employ the principles of model-driven development in building self-adaptive systems (SASs). To tackle this issue, the present work proposes SQAL (self-adaptive system quality assurance language) a domain specific language for quality-aware SASs. This language allows describing SASs architectural elements and the corresponding interrelations in terms of hierarchical compositions. It also provides concepts for defining SASs behavioral aspects by identifying adaptation actions and mainly weighting them with QoS parameters. SQAL is defined in terms of its abstract and concrete syntaxes. This article associates a PSMaude-based semantics to SQAL in order to quantitatively analyze quality-aware SASs behaviors.
Article Preview
Top

Introduction

Self-adaptive systems (SASs) are a category of software systems that are able to react quickly to changes by adapting their structure and/or behavior at runtime; whenever the evaluation shows that, the software is not accomplishing what it was intended to do, or when better functionality or performance may be possible. Besides, since SASs are progressively being more used in various critical domains, such as medical community, software industry, smart home, house appliances, automobiles or avionics, they are expected to fulfill a number of requirements in terms of operational cost, safety and Quality of Service (QoS). Nevertheless, supporting the development and execution of SASs raises numerous challenges including (1) the development of new engineering processes, (2) the support of QoS requirements definition, i.e. QoS requirements have to be considered at the early stages of design and need to be identified together with their effects on the adaptability features, and (3) the adaptation mechanisms describing the best adaptation actions under uncertain conditions.

In the aim to reduce development costs and effort, while improving the modularity, flexibility, adaptability, and reliability of software systems, Model Driven Engineering (MDE) has become an interesting alternative for the design and construction of self-adaptive software systems. Such methodology allows identifying different concerns of SASs (adaptability mechanisms and quality-awareness) and tackling them separately.

The key idea behind MDE is in using models as the primary development artifacts to describe complex systems at multiple levels of abstraction and perspectives effectively expressing the domain concepts (Křikava, 2013). In particular, Domain-Specific Modeling (DSM), that involves the systematic use of Domain Specific Languages (DSLs), can significantly raise a higher-level of abstraction allowing one to specify the various facets of a SAS, in terms of models that can be used to define the structure, behavior, and even the adaptation mechanisms of a Quality-aware SAS. Defining a modeling language involves at least two aspects: the domain concepts and rules (abstract syntax), and the notation used to represent these concepts (concrete syntax); to be defined textually or graphically.

Albeit, the DSL abstract syntax facilitates software development and simplifies the design process by focusing on the structural and static semantics of software systems, it lacks necessary concepts to define the semantics or behavior of software systems in general and to maintain the correspondence between models and software implementation in order to ensure model-based adaptation executability. In (Andova, et al 2011; Bodeveix, et al, 2005), authors have proposed to use a formal semantics to describe the precise meaning of the DSL constructs. However, a reasonable and desirable formal method to be adopted for this scope should be powerful enough to capture the principal models of computation and specification methods. Additionally, the formal approach should allow working at different levels of abstraction, and be executable in order to analyze system behavior in general and Quality-aware SASs in particular.

In the aim to achieve these purposes, we provide as a first step a complete conceptual modeling approach that reduces the complexity of specifying, executing and verifying Quality-aware SASs. In fact, we propose SQAL (Self-adaptive system’s Quality Assurance Language) a DSL for Quality-aware SASs that provides a set of intuitive and easy to use concepts assisting system architects and software developers to describe Quality-aware SASs. SQAL preserves QoS requirements by quantifying them through QoS contracts. Moreover, we explore the use of PSMaude (Bentea, et al, 2012), an extension of the rewriting logic-based Maude system (Clavel, et al, 2008) as a formal notation and system for defining the semantics of SQAL.

Complete Article List

Search this Journal:
Reset
Open Access Articles: Forthcoming
Volume 12: 4 Issues (2021): Forthcoming, Available for Pre-Order
Volume 11: 4 Issues (2020): 3 Released, 1 Forthcoming
Volume 10: 4 Issues (2019)
Volume 9: 4 Issues (2018)
Volume 8: 4 Issues (2017)
Volume 7: 4 Issues (2016)
Volume 6: 4 Issues (2015)
Volume 5: 4 Issues (2014)
Volume 4: 4 Issues (2013)
Volume 3: 4 Issues (2012)
Volume 2: 4 Issues (2011)
Volume 1: 4 Issues (2010)
View Complete Journal Contents Listing