58,846 research outputs found
Incremental Consistency Checking in Delta-oriented UML-Models for Automation Systems
Automation systems exist in many variants and may evolve over time in order
to deal with different environment contexts or to fulfill changing customer
requirements. This induces an increased complexity during design-time as well
as tedious maintenance efforts. We already proposed a multi-perspective
modeling approach to improve the development of such systems. It operates on
different levels of abstraction by using well-known UML-models with activity,
composite structure and state chart models. Each perspective was enriched with
delta modeling to manage variability and evolution. As an extension, we now
focus on the development of an efficient consistency checking method at several
levels to ensure valid variants of the automation system. Consistency checking
must be provided for each perspective in isolation, in-between the perspectives
as well as after the application of a delta.Comment: In Proceedings FMSPLE 2016, arXiv:1603.0857
Aspects of Assembly and Cascaded Aspects of Assembly: Logical and Temporal Properties
Highly dynamic computing environments, like ubiquitous and pervasive
computing environments, require frequent adaptation of applications. This has
to be done in a timely fashion, and the adaptation process must be as fast as
possible and mastered. Moreover the adaptation process has to ensure a
consistent result when finished whereas adaptations to be implemented cannot be
anticipated at design time. In this paper we present our mechanism for
self-adaptation based on the aspect oriented programming paradigm called Aspect
of Assembly (AAs). Using AAs: (1) the adaptations process is fast and its
duration is mastered; (2) adaptations' entities are independent of each other
thanks to the weaver logical merging mechanism; and (3) the high variability of
the software infrastructure can be managed using a mono or multi-cycle weaving
approach.Comment: 14 pages, published in International Journal of Computer Science,
Volume 8, issue 4, Jul 2011, ISSN 1694-081
Integrating the common variability language with multilanguage annotations for web engineering
Web applications development involves managing a high diversity of files and resources like code, pages or style sheets, implemented in different languages. To deal with the automatic generation of
custom-made configurations of web applications, industry usually adopts annotation-based approaches even though the majority of studies encourage the use of composition-based approaches to implement
Software Product Lines. Recent work tries to combine both approaches to get the complementary benefits. However, technological companies are reticent to adopt new development paradigms
such as feature-oriented programming or aspect-oriented programming.
Moreover, it is extremely difficult, or even impossible, to apply
these programming models to web applications, mainly because of
their multilingual nature, since their development involves multiple
types of source code (Java, Groovy, JavaScript), templates (HTML,
Markdown, XML), style sheet files (CSS and its variants, such as
SCSS), and other files (JSON, YML, shell scripts). We propose to
use the Common Variability Language as a composition-based approach
and integrate annotations to manage fine grained variability
of a Software Product Line for web applications. In this paper, we (i)
show that existing composition and annotation-based approaches,
including some well-known combinations, are not appropriate to
model and implement the variability of web applications; and (ii)
present a combined approach that effectively integrates annotations
into a composition-based approach for web applications. We implement
our approach and show its applicability with an industrial
real-world system.Universidad de Málaga. Campus de Excelencia Internacional AndalucĂa Tech
Run-time Support to Manage Architectural Variability Speci ed with CVL
The execution context in which pervasive systems or mobile
computing run changes continuously. Hence, applications for these systems
should be adapted at run-time according to the current context.
In order to implement a context-aware dynamic reconfiguration service,
most approaches usually require to model at design-time both the list of
all possible configurations and the plans to switch among them. In this
paper we present an alternative approach for the automatic run-time generation
of application configurations and the reconfiguration plans. The
generated configurations are optimal regarding di erent criteria, such as
functionality or resource consumption (e.g. battery or memory). This is
achieved by: (1) modelling architectural variability at design-time using
Common Variability Language (CVL), and (2) using a genetic algorithm
that finds at run-time nearly-optimal configurations using the information
provided by the variability model. We also specify a case study
and we use it to evaluate our approach, showing that it is efficient and
suitable for devices with scarce resources.Campus de Excelencia Internacional Andalucia Tech y proyectos de investigaciĂłn TIN2008-01942, P09-TIC-5231 and INTER-TRUST FP7-317731
Traceability for Model Driven, Software Product Line Engineering
Traceability is an important challenge for software organizations. This is true for traditional software development and even more so in new approaches that introduce more variety of artefacts such as Model Driven development or Software Product Lines. In this paper we look at some aspect of the interaction of Traceability, Model Driven development and Software Product Line
Clafer: Lightweight Modeling of Structure, Behaviour, and Variability
Embedded software is growing fast in size and complexity, leading to intimate
mixture of complex architectures and complex control. Consequently, software
specification requires modeling both structures and behaviour of systems.
Unfortunately, existing languages do not integrate these aspects well, usually
prioritizing one of them. It is common to develop a separate language for each
of these facets. In this paper, we contribute Clafer: a small language that
attempts to tackle this challenge. It combines rich structural modeling with
state of the art behavioural formalisms. We are not aware of any other modeling
language that seamlessly combines these facets common to system and software
modeling. We show how Clafer, in a single unified syntax and semantics, allows
capturing feature models (variability), component models, discrete control
models (automata) and variability encompassing all these aspects. The language
is built on top of first order logic with quantifiers over basic entities (for
modeling structures) combined with linear temporal logic (for modeling
behaviour). On top of this semantic foundation we build a simple but expressive
syntax, enriched with carefully selected syntactic expansions that cover
hierarchical modeling, associations, automata, scenarios, and Dwyer's property
patterns. We evaluate Clafer using a power window case study, and comparing it
against other notations that substantially overlap with its scope (SysML, AADL,
Temporal OCL and Live Sequence Charts), discussing benefits and perils of using
a single notation for the purpose
A Framework for Evaluating Model-Driven Self-adaptive Software Systems
In the last few years, Model Driven Development (MDD), Component-based
Software Development (CBSD), and context-oriented software have become
interesting alternatives for the design and construction of self-adaptive
software systems. In general, the ultimate goal of these technologies is to be
able to reduce development costs and effort, while improving the modularity,
flexibility, adaptability, and reliability of software systems. An analysis of
these technologies shows them all to include the principle of the separation of
concerns, and their further integration is a key factor to obtaining
high-quality and self-adaptable software systems. Each technology identifies
different concerns and deals with them separately in order to specify the
design of the self-adaptive applications, and, at the same time, support
software with adaptability and context-awareness. This research studies the
development methodologies that employ the principles of model-driven
development in building self-adaptive software systems. To this aim, this
article proposes an evaluation framework for analysing and evaluating the
features of model-driven approaches and their ability to support software with
self-adaptability and dependability in highly dynamic contextual environment.
Such evaluation framework can facilitate the software developers on selecting a
development methodology that suits their software requirements and reduces the
development effort of building self-adaptive software systems. This study
highlights the major drawbacks of the propped model-driven approaches in the
related works, and emphasise on considering the volatile aspects of
self-adaptive software in the analysis, design and implementation phases of the
development methodologies. In addition, we argue that the development
methodologies should leave the selection of modelling languages and modelling
tools to the software developers.Comment: model-driven architecture, COP, AOP, component composition,
self-adaptive application, context oriented software developmen
Weaving Variability into Domain Metamodels
International audienceDomain-Specific Modeling Languages (DSMLs) describe the concepts of a particular domain and their relationships, in a meta-model. From a given DSML, it is possible to describe a wide range of different models. These models often share a common base and vary on some parts. Current approaches tend to distinguish the variability language from the DSMLs themselves, implying greater learning curve for DSMLs stakeholders and a significant overhead in product line engineering of DSLs. We propose to consider variability concepts as an independent aspect to be woven into the DSML to introduce variability capabilities. In particular we detail how variability is woven and how to perform product line derivation. We validate our approach through the weaving of variability into two very different metamodels: Ecore and SmartAdapter, our aspect-oriented modelling weaver, thus adding exibility in the weaving process itself. These results emphasize how new abilities of the language can be provided by this means
- …