Title :
Generating product-lines of product-families
Author :
Batory, Don ; Lopez-Herrejon, Roberto E. ; Martin, Jean-Philippe
Author_Institution :
Dept. of Comput. Sci., Texas Univ., Austin, TX, USA
Abstract :
GenVoca is a methodology and technology for generating product-lines, i.e. building variants of a program. The primitive components from which applications are constructed are refinements or layers, which are modules that implement a feature that many programs of a product-line can share. Unlike conventional components (e.g., COM, CORBA, EJB), a layer encapsulates fragments of multiple classes. Sets of fully formed classes can be produced by composing layers. Layers are modular, albeit unconventional, building blocks of programs. But what are the building blocks of layers? We argue that facets is an answer. A facet encapsulates fragments of multiple layers, and compositions of facets yields sets of fully formed layers. Facets arise when refinements scale from producing variants of individual programs to producing variants of multiple integrated programs, as typified byproduct families (e.g., MS Office). We present a mathematical model that explains relationships between layers and facets. We use the model to develop a generator for tools (i.e., product family) that are used in language-extensible Integrated Development Environments (IDEs).
Keywords :
formal specification; graphical user interfaces; programming environments; GenVoca; facet; fully formed classes; language-extensible integrated development environments; mathematical model; primitive components; product-lines generation; Electrical capacitance tomography; Encapsulation; Hip; Packaging; Reactive power; Read only memory;
Conference_Titel :
Automated Software Engineering, 2002. Proceedings. ASE 2002. 17th IEEE International Conference on
Print_ISBN :
0-7695-1736-6
DOI :
10.1109/ASE.2002.1114997