GenVoca is a powerful model for component-based productline architectures (PLAs) advocating stepwise refinement as a composition principle. This paper introduces a refinement-oriented generative language - ReGaL - to implement statically configurable GenVoca PLAs. Whereas components are programmed in Java, refinements are programmed in ReGaL by the means of generic aspects. Applications are themselves specified in ReGaL as type equations. ReGaL compiles type equations by instantiating and weaving refinement aspects with components to synthesize the requested (Java) application. As opposed to templatebased generative implementations, ReGaL promotes a clean separation of components and refinements, hence eliminating code tangling and related issues. It also defers the choice of component class composition structures until configuration time, which provides added flexibility to adapt applications. Besides, its architecture model enforces a clear rolebased design of components and supports useful architectural patterns. © Springer-Verlag 2004.
CITATION STYLE
Lesaint, D., & Papamargaritis, G. (2004). Aspects for synthesizing applications by refinement. Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 3107, 115–126. https://doi.org/10.1007/978-3-540-27799-6_10
Mendeley helps you to discover research relevant for your work.