dc.description.abstract | New technologies such as SOA (Service Oriented Architecture), SPL (Software Product Line)
or Cloud computing, raised the awareness on the importance of (i) having a robust, traceable
and verifiable software architecture, (ii) being able to evolve a given architecture towards new
needs, for example migrate a monolithic application to the cloud, or decompose it in a set of
services that can be used by other applications.
Software architecture is traditionally a rather static view on software systems. For example,
software development processes put the design of the architecture long before starting to actually
implement it: a common view sees architecture as the set of design decisions that are critical
for the success of software systems (D.Garlan, M.Shaw, Software Architecture: Perspectives on
an Emerging Discipline, Prentice Hall, 1996).
Yet it is also commonly agreed that defining the right architecture is key to fulfil a system’s requirements
(functional and non-functional). It can for example impact such things as efficiency
of the software system, or its ability to recover from errors. In this sense, the architecture also
impacts and is impacted by the runtime properties of the system. Concurrently, new architectural
paradigms such as SPL or SOA, force people to think in term of features and to define
their architectures around these features.
In this project, we propose to perform dynamic analyses of a software system to map the source
code to features and relate it to a feature based architecture. The project will be based on
the Moose platform, a sophisticated environment o↵ering tools to model software systems, and
query, analyse, or visualize the models. | |