Proceedings of the 17th International ACM Sigsoft Symposium on Component-Based Software Engineering 2014
DOI: 10.1145/2602458.2602460
|View full text |Cite
|
Sign up to set email alerts
|

Injecting quality attributes into software architectures with the common variability language

Abstract: Quality attributes that add new behavior to the functional software architecture are known as functional quality attributes (FQAs). These FQAs are applied to pieces of software from small components to entire systems, usually crosscutting some of them. Due to this crosscutting nature, modeling them separately from the base application has many advantages (e.g. reusability, less coupled architectures). However, different applications may require differ-ent configurations of an FQA (e.g. different levels of secu… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
19
0

Year Published

2016
2016
2017
2017

Publication Types

Select...
2
2
1

Relationship

4
1

Authors

Journals

citations
Cited by 6 publications
(19 citation statements)
references
References 14 publications
0
19
0
Order By: Relevance
“…Specifically, each variation point (dashed line) defines a transformation (eg, object existence, object substitution, and parameter assignment) in the software architecture that will be executed by the CVL engine when a particular configuration is selected in the variability model, adapting the components of the autonomous vehicle. () For example, when the context changes because the vehicle joins a motorway, a new configuration is generated: The new context is selected in the tree, and the IDM model is automatically selected in the configuration due to the cross‐tree constraints defined in OCL. The CVL engine will resolve the variability, changing the IDM component to be the car‐following model in the autonomous vehicle.…”
Section: Reconfigurable Vehicle Controller Agentmentioning
confidence: 99%
See 1 more Smart Citation
“…Specifically, each variation point (dashed line) defines a transformation (eg, object existence, object substitution, and parameter assignment) in the software architecture that will be executed by the CVL engine when a particular configuration is selected in the variability model, adapting the components of the autonomous vehicle. () For example, when the context changes because the vehicle joins a motorway, a new configuration is generated: The new context is selected in the tree, and the IDM model is automatically selected in the configuration due to the cross‐tree constraints defined in OCL. The CVL engine will resolve the variability, changing the IDM component to be the car‐following model in the autonomous vehicle.…”
Section: Reconfigurable Vehicle Controller Agentmentioning
confidence: 99%
“…4 The bottom half of Figure 1 defines a transformation (eg, object existence, object substitution, and parameter assignment) in the software architecture that will be executed by the CVL engine 37 when a particular configuration is selected in the variability model, adapting the components of the autonomous vehicle. 38,39 For example, when the context changes because the vehicle joins a motorway, a new configuration is generated: The new context is selected in the tree, Each configuration of the controller is a set of choices in the variability model (features in grey in Figure 1). In our approach, we first generate a particular configuration of the reconfigurable vehicle controller agent, which is able to detect changes in weather conditions (rain intensity) and evaluate the traffic quality based on the selected indicators of safety (time to collision, post-encroachment time) and efficiency (travel time).…”
Section: Variability Modelling Of the Autonomous Vehicle: Traffic Conmentioning
confidence: 99%
“…Another advantage of CVL is that the complete variability model of the FQAs can be divided and modularised in different levels of detail and thus, it is possible to model each FQA separately in different variability models (like Security in Figure 5) and then relate those models defining a complete variability model, that includes all the FQAs, with their dependency relationships (i.e., the interFQAs-dependencies) (see Figure 4). The CVL variability models of other FQAs are detailed in [14].…”
Section: Fqas Variability Modelmentioning
confidence: 99%
“…By combining SPL and aspect-oriented software development (AOSD) technologies, we have defined a generic process to: (i) specify and model the variability and dependencies among FQAs, defining a reusable family of FQAs; (ii) customise the FQAs to fulfil the application requirements and automatically generate an architectural configuration of FQAs; and (iii) weave the customised FQAs into the software architecture of the base application without manually modifying it. We present and compare two instantiations of our generic process using different variability languages and architecture description languages: 1) with feature models and AO-ADL, an aspect-oriented architecture description language [12,13]; and 2) using the Common Variability Language (CVL) and a MOF-compliant language such as UML [14]. We illustrate our approach with an evoting case study and quantitatively evaluate both approaches by using suitable metrics (degree of dependency, variability, automation, separation of concerns) to assess the benefits of each approach.…”
Section: Introductionmentioning
confidence: 99%
“…However, although SPLs are traditionally used to exploit and handle the commonalities and variations of the base functionality of the applications, QAs variability has not received as much attention (Etxeberria et al 2007), and there is a lack of existing approaches that integrate QA variability as a part of the systematic variability management of SPLs (Myllärniemi et al 2012). In this paper, we follow our previous approach (Horcas et al 2014a) to model the variability of the QAs separately from the base application variability. Separately modelling the variability of the QAs from the variability of the base application has many advantages such as a better reusability of both the QAs and the applications.…”
mentioning
confidence: 99%