Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA'04)
Aspects and Constraints for Implementing Configurable Product-Line Architectures
Oslo, Norway
June 12-June 15
ISBN: 0-7695-2172-X
Component-based product-line architectures (PLAs) must support two operations: application configuration - the construction of valid application specifications -, and application generation - the compilation of specifications into executable applications. Whereas configuration is a combinatorial task involving advanced knowledge-based reasoning, generation is a deterministic compilation process. This suggests an application synthesis model where configuration and generation are carried out separately by interoperable tools. To this end, we introduce a PLA development toolkit which includes a constraint-based configuration language and an aspect-based generation language supporting the same architecture model. The toolkit imposes dual PLA implementations consisting of a configuration program and a generation program. The compilation of the configuration program yields an interactive configurator used to produce valid configurations at run-time. Valid configurations are then compiled by the generator with the generation program to produce Java applications. Overall, this model allows the use of powerful configuration and generation technologies - namely, Constraint Programming and Aspect-Oriented Programming - while enforcing view consistency and tool interoperability.
Citation:
David Lesaint, George Papamargaritis, "Aspects and Constraints for Implementing Configurable Product-Line Architectures," wicsa, pp.135, Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA'04), 2004