{"title":"Aspects and constraints for implementing configurable product-line architectures","authors":"D. Lesaint, G. Papamargaritis","doi":"10.1109/WICSA.2004.1310697","DOIUrl":null,"url":null,"abstract":"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.","PeriodicalId":262908,"journal":{"name":"Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004)","volume":"80 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2004-06-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/WICSA.2004.1310697","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3
Abstract
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.