Hier finden Sie wissenschaftliche Publikationen aus den Fraunhofer-Instituten.

Product line implementation technologies. Programming language view

: Patzke, T.; Muthig, D.

urn:nbn:de:0011-n-146844 (435 KByte PDF)
MD5 Fingerprint: 4a0e0ca0484937280a9a5cff8fec1326
Erstellt am: 07.05.2003

Kaiserslautern, 2002, VIII, 52 S. : Ill., Lit.
IESE-Report, 057.02/E
Reportnr.: 057.02/E
Bericht, Elektronische Publikation
Fraunhofer IESE ()
software product line; product line implementation technology; variability mechanism

Nearly all software organizations today develop and maintain more than a single product. This holds for organizations that develop tailored systems individually for single customers, as well as for organizations that develop products for a mass market. The products developed by an organization typically are similar applications in the same application domain. Hence, these products share some common characteristics and thus can be viewed as a software product line.
To implement a product line approach in practice, special technologies are required that effectively support the identification of reusable artifacts, as well as explicit means for capturing and controlling commonalities and variabilities. The focus of the PoLITe project are product line technologies at the implementation level. PoLITe defines three categories of implementation technologies [MAL+02], namely configuration management, component technologies, and generative features of programming languages (including generators). This report summarizes the product line implementation aspects in the programming- language dimension.
The report first defines the term "programming language" and its role in the PoLITe context, surveys the actual distribution of programming languages in practice. It further categorizes variability techniques in the programming-language dimension and describes numerous of them in detail. This categorization is complemented by a high-level process that integrates the systematic usage of variability techniques throughout the implementation activities. Finally, the application of variability techniques is illustrated by two case studies: one uses C++, the other Java analogously.