Graph Modelling of a Refactoring Process for Product Line Architecture Design
Résumé
Product Line Architecture (PLA) is the main tangible
element shared by all products of a Software Product Line (SPL);
it covers common functionality and the required variability of SPL
products. Responding to industrial practice, this paper proposes a
reactive refactoring bottom-up process to build a PLA from
existing similar software product architectures of a domain,
expressed by UML logical views. An architecture is represented
by a connected graph or valid architectural configuration (P, R),
where P and R represent components and connectors of the
product. This process constructs a graph (RG) for each product,
organized by levels, containing intermediate valid configurations
or connected induced sub-graphs of (P, R). A candidate PLA is
automatically constructed followed by an optimization process to
obtain the PLA using the domain quality model. The refactoring
process is applied to a case study in the robotics industry domain.
Automatic parts of the process are tool supported.