|
Evènement pour le groupe GT Génie Logiciel
Date | 2012-03-05 10:30-12:00 |
Titre | Reverse Engineering Variability Models |
Résumé | Software-intensive systems are now declined in many
variants, offering to customers flexible solutions and a wide range of
configuration options. Variability, as "the ability of a software
system to be efficiently extended, changed, customized or configured
for use in a particular context", makes it possible to tailor software
to specific customers' needs without having to develop entirely new
applications.
When variability is properly managed, economies of scale can be
achieved by engineering several related products (i.e., software
family or software product line) as a whole.
However, with the added flexibility also comes additional complexity.
The number of variants might be huge -- exponential in the number of
configuration options.
Therefore support for the comprehension, maintenance, correctness and
evolution of variability-intensive systems is crucial. For this
purpose, high-level representations (i.e., variability models) are
commonly used to identify variation points and specify their legal
combinations. Unfortunately, the manual elaboration of a variability
model for an existing system is time-consuming, error-prone and
requires substantial effort from a modeler.
We rather want to reverse engineer the variability from software
artifacts in an automated way.
Reverse engineering has a long tradition (recovering architectures and
design patterns, identifying reusable assets, building traceability
between software artifacts, re-modularizing existing systems,
migrating toward new architectures and platforms, etc.) but the
extraction of variability is still in its infancy.
In this talk, I will first review existing works that have developed
reverse engineering procedures for the purpose of deriving variability
models. These works consider various kinds of artifacts (legacy system
documentation, textual requirements, pre-processor directives in C
code, configuration files, etc) and have been applied in various
domains (e.g., operation system domain for Linux, eCos, FreeBSD).
Then, I will report progress made with other colleagues in three
directions.
The first is related to the extraction and evolution of architectural
variability models in plugin-based systems, using FraSCAti as a case
study.
The second concerns the extraction of variability models from product
descriptions, typically organized in tabular data.
The third aims at reverse engineering variability models from user
interfaces (e.g., web configurators).
I will notably explain the role of FAMILIAR, a language dedicated to
the management of feature models (the defacto standard for modeling
variability). |
Lieu | salle 71 |
Orateur | Mathieu Acher |
Email | macher@fundp.ac.be |
Url | University of Namur, Belgium |
Aucun document lié à cet événement. RetourRetour à l'index
| |