Generative Programming for Embedded Software: An Industrial Experience Report

Physical products come in many variants, and so does the software embedded in them. The software embedded in a product variant usually has to be optimized to fit its limited memory and computing power. Generative programming is well suited for developing embedded software since it allows us to automatically produce variants of embedded software optimized for specific products. This paper reports on our experience in applying generative programming in the embedded domain. We propose an extended feature modeling notation, discuss tool support for feature modeling, describe a domain-independent system configuration editor, and comment on the applicability of static configuration in the area of embedded systems.

[1]  Martin L. Griss,et al.  Integrating feature modeling with the RSEB , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[2]  Don S. Batory,et al.  The design and implementation of hierarchical software systems with reusable components , 1992, TSEM.

[3]  Fakultät Informatik,et al.  Untersuchung der Modellierung von Variabilität in UML , 2001 .

[4]  Andreas Hein,et al.  Applying feature models in industrial settings , 2000, SPLC.

[5]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .

[6]  James Milne Neighbors,et al.  Software construction using components , 1980 .

[7]  David M. Weiss,et al.  Software Product-Line Engineering: A Family-Based Software Development Process , 1999 .

[8]  David Lorge Parnas,et al.  On the Design and Development of Program Families , 2001, IEEE Transactions on Software Engineering.

[9]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[10]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[11]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[12]  Lothar Baum Generative Maßschneiderung von Laufzeitplattformen für eingebettete Systeme (A Generative Approach to Customized Run-time Platforms) , 2001, it Inf. Technol..

[13]  J. Craig Cleaveland,et al.  Building application generators , 1988, IEEE Software.

[14]  J. Craig Cleaveland Program Generators with XML and Java , 2001 .

[15]  Gabor Karsai,et al.  The Generic Modeling Environment , 2001 .

[16]  M. Clauß,et al.  Modeling variability with UML , 2001 .