5 research outputs found
Recommended from our members
Using problem descriptions to represent variabilities for context-aware applications
This paper investigates the potential use of problem descriptions to represent and analyse variability in context-aware software products. By context-aware, we refer to recognition of changes in properties of external domains, which are recognised as affecting the behaviour of products. There are many reasons for changes in the operating environment, from fluctuating resources upon which the product relies, to different operating locations or the presence of objects. There is an increasing expectation for software intensivedevices to be context-aware which, in turn, adds further variability to problem description and analysis. However, we argue in this paper that the capture of contextual variability on current variability representations and analyses has yet to be explored. We illustrate the representation of this type of variability in a pilot study, and conclude with lessons learnt and an agenda for further work
Representing Variability in Software Architecture: A Systematic Literature Review
Variability in software
-
intensive systems is the ability of a software artefact (e.g., a
system, subsystem, or component) to be extended, customised or configured for
deployment in a specific context. Software Architecture is
a high
-
level description of a
software
-
intensive system that abstracts the system implementation details allowing the
architect to view the system as a whole.
Although variability in software architecture is
recognised as a challenge in multiple domains,
there has been no formal consensus on
how variability should be captured or represented. The objective of this research was to
provide a snapshot of the state
-
of
-
the
-
art on representing variability in software
architecture while assessing the nature of the
different approaches. To achieve this
objective, a Systematic Literature Review (SLR) was conducted covering literature
produced from January 1991 until June 2016. Then, grounded theory was used to
conduct the analysis and draw conclusions from data, mini
mising threats to validity. In
this paper
, we report on the findings from the study
The ALI Architecture Description Language
Architecture Description Languages (ADLs) have emerged over the past two decades as a means to abstract details of large-scale systems in order to enable better intellectual control over the complete systems. Recently, there has been an explosion in the number of ADLs created in the research community. However, industrial adoption of these ADLs has been rather limited. This has been attributed to various reasons, including the lack of support of some ADLs for: variability management, requirements traceability, architectural artefact reusability and multiple architectural views. To overcome these limitations, this paper is a report on ALI, an ADL that was designed to complement existing work by adding mechanisms to address the aforementioned limitations. The ALI design principles, concepts, notations and formal semantics are presented in this paper. The notation is illustrated using two distinct case studies, one from the information systems domain " an Asset Management System (AMS); and another from the embedded systems domain - a Wheel Brake System (WBS)
Representing Variability in Software Architecture
Software Architecture is a high level description of a software intensive system that enables architects to have a better intellectual control over the complete system. It is also used as a communication vehicle among the various system stakeholders. Variability in software-intensive systems is the ability of a software artefact (e.g., a system, subsystem, or component) to be extended, customised, or configured for deployment in a specific context. Although variability in software architecture is recognised as a challenge in multiple domains, there has been no formal consensus on how variability should be captured or represented.
In this research, we addressed the problem of representing variability in software architecture through a three phase approach. First, we examined existing literature using the Systematic Literature Review (SLR) methodology, which helped us identify the gaps and challenges within the current body of knowledge. Equipped with the findings from the SLR, a set of design principles have been formulated that are used to introduce variability management capabilities to an existing Architecture Description Language (ADL). The chosen ADL was developed within our research group (ALI) and to which we have had complete access. Finally, we evaluated the new version of the ADL produced using two distinct case studies: one from the Information Systems domain, an Asset Management System (AMS); and another from the embedded systems domain, a Wheel Brake System (WBS).
This thesis presents the main findings from the three phases of the research work, including a comprehensive study of the state-of-the-art; the complete specification of an ADL that is focused on managing variability; and the lessons learnt from the evaluation work of two distinct real-life case studies