Results 1 -
5 of
5
Adding Variants on-the-fly: Modeling Meta-Variability in Dynamic Software Product Lines
, 2009
"... Dynamic software product lines (DSPL) are software product lines (SPL) that support runtime variability. Runtime variability is typically interpreted as binding variation points at runtime. We emphasize meta-variability as an important dimension of runtime variability in DSPL. Whereas dynamic bindin ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
(Show Context)
Dynamic software product lines (DSPL) are software product lines (SPL) that support runtime variability. Runtime variability is typically interpreted as binding variation points at runtime. We emphasize meta-variability as an important dimension of runtime variability in DSPL. Whereas dynamic binding considers the runtime (de)activation of variants within the scope of a given variability model, meta-variability considers runtime changes to the variability model itself. Meta-variability is essential to support longlived software products that are subject to evolution. In this paper, we consider meta-variability in an industrial DSPL that is developed in a joint project with Egemin N.V., a leading company that provides full life cycle support for automated transportation systems (ATS). The contribution of this paper is threefold. First, we introduce a way to model meta-variability in DSPL in an explicit manner. Second, we put forward a meta-variability meta model that extends the variability meta model with concepts that explicitly support meta-variability. Third, we capture and apply metavariability in an industrial DSPL for automated transportation systems.
A Pattern Language for Multi-Agent Systems
"... Developing architectural support for self-adaptive systems, i.e. systems that are able to autonomously adapt to changes in their operating conditions, is a key challenge for software engineers. Multi-agent systems are a class of decentralized systems that are known for realizing qualities such as ad ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
(Show Context)
Developing architectural support for self-adaptive systems, i.e. systems that are able to autonomously adapt to changes in their operating conditions, is a key challenge for software engineers. Multi-agent systems are a class of decentralized systems that are known for realizing qualities such as adaptability and scalability. In this paper, we present a pattern language for multi-agent systems. The pattern language distills domain-specific architectural knowledge derived from extensive experiences with developing various multi-agent systems. The pattern language, consisting of the five interrelated patterns, supports architects with designing software architectures for a family of self-adaptive systems. We illustrate the patters for a case study in the domain of automated transportation systems. 1.
Transferring Research into Practice: Experiences in the EMC2 Project
"... DistriNet is a research lab with 65 researchers. The general domain of expertise and innovation of DistriNet is the development of advanced open and distributed software [1]. The research is application driven and is conducted in close collaboration with industry. One particular class of application ..."
Abstract
- Add to MetaCart
(Show Context)
DistriNet is a research lab with 65 researchers. The general domain of expertise and innovation of DistriNet is the development of advanced open and distributed software [1]. The research is application driven and is conducted in close collaboration with industry. One particular class of applications we target are multiagent systems. A multiagent system consists of “a loosely coupled network of problem solvers (agents) that interact to solve problems that are beyond the individual capabilities or knowledge of each problem solver ” [2]. In a joint R&D project called EMC2, DistriNet and Egemin, a manufacturer of automated transportation systems, have applied a multiagent system for controlling automatic guided vehicles (AGVs) [3]. The driving motivations behind decentralizing the control of AGVs were new and future quality requirements such as flexibility (deal autonomously with dynamic operating conditions) and openness (deal autonomously with AGVs entering and leaving the system). At the software architectural level, the AGV control system is structured as a multiagent system; the detailed design and implementation is object-oriented. For a detailed discussion of the technical aspects of the application we refer to [4,5]. Here we reflect on our experiences with transferring