{"title":"实现可配置产品线架构的方面和约束","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":"{\"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}","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}
Aspects and constraints for implementing configurable product-line architectures
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.