ACM Home Page
Please provide us with feedback. Feedback
Code generation to support static and dynamic composition of software product lines
Full text PdfPdf (310 KB)
Source
Generative Programming And Component Engineering archive
Proceedings of the 7th international conference on Generative programming and component engineering table of contents
Nashville, TN, USA
SESSION: Technical papers 1 table of contents
Pages 3-12  
Year of Publication: 2008
ISBN:978-1-60558-267-2
Authors
Marko Rosenmüller  University of Magdeburg, Magdeburg, Germany
Norbert Siegmund  University of Magdeburg, Magdeburg, Germany
Gunter Saake  University of Magdeburg, Magdeburg, Germany
Sven Apel  University of Passau, Passau, Germany
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 21,   Downloads (12 Months): 161,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1449913.1449917
What is a DOI?

ABSTRACT

Software product lines (SPLs) are used to create tailor-made software products by managing and composing reusable assets. Generating a software product from the assets of an SPL is possible statically before runtime or dynamically at load-time or runtime. Both approaches have benefits and drawbacks with respect to composition flexibility, performance, and resource consumption. Which type of composition is preferable should be decided by taking the application scenario into account. Current tools and languages, however, force a programmer to decide between static and dynamic composition during development. In this paper, we present an approach that employs code generation to support static and dynamic composition of features of a single code base. We offer an implementation on top of FeatureC++, an extension of the C++ programming language that supports software composition based on features. To simplify dynamic composition and to avoid creation of invalid products we furthermore provide means to (1) validate the correctness of a composition at runtime, (2) automatically instantiate SPLs in case of stand-alone applications, and (3) automatically apply interaction code of crosscutting concerns.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
S. Apel, T. Leich, M. Rosenmüller, and G. Saake. FeatureC++: On the Symbiosis of Feature-Oriented and Aspect-Oriented Programming. In Proceedings of the International Conference on Generative Programming and Component Engineering (GPCE), volume 3676 of Lecture Notes in Computer Science, pages 125--140. Springer Verlag, 2005.
 
3
 
4
I. Aracic, V. Gasiunas, M. Mezini, and K. Ostermann. An Over view of CaesarJ. In Transactionson Aspect-Oriented Software Development I, volume 3880 of Lecture Notes in Computer Science, pages 135--173. Springer Verlag, 2006.
 
5
AspectJ Team. The AspectJ Programming Guide. Version 1.5.4., Available from http://eclipse.org/aspectj, 2007.
 
6
D. Batory. Feature Models, Grammars, and Propositional Formulas. In Proceedings of the International Software Product Line Conference (SPLC), volume 3714 of Lecture Notes in Computer Science, pages 7--20. Springer Verlag, 2005.
 
7
 
8
 
9
Big Lever. Gears. http://www.biglever.com.
10
 
11
12
13
 
14
P. Costanza, R. Hirschfeld, and W. de Meuter. Efficient Layer Activation for Switching Context-Dependent Behavior. In Proceedings of the Joint Modular Languages Conference (JMLC), volume 4228 of Lecture Notes in Computer Science, pages 84--103. Springer Verlag, 2006.
 
15
E. W. Dijkstra. On the Role of Scientific Thought. In Selected Writings on Computing: A Personal Perspective, pages 60--66. Springer Verlag, 1982.
 
16
 
17
 
18
W. Gilani and O. Spinczyk. Dynamic Aspect Weaver Family for Family-based Adaptable Systems. In Proceedings of Net. Object Days, pages 94--109. Gesellschaftfür Informatik, 2005.
 
19
 
20
C. Hundt, K. Mehner, C. Pfeiffer, and D. Sokenou. Improving Alignment of Crosscutting Features with Code in Product Line Engineering. Journal of Object Technology (JOT) - Special Issue: TOOLS EUROPE 2007, 6(9):417--436, 2007.
21
 
22
K. Kang, S. Cohen, J. Hess, W. Novak, and A. Peterson. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University, 1990.
 
23
24
 
25
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-Oriented Programming. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP), volume 1241 of Lecture Notes in Computer Science, pages 220--242. Springer Verlag, 1997.
 
26
M. Kuhlemann, S. Apel, and T. Leich. Streamlining Feature-Oriented Designs. In Proceedings of ETAPS International Symposium on Software Composition (SC), 2007.
 
27
28
 
29
K. J. Lieberherr, D. Lorenz, and J. Ovlinger. Aspectual Collaborations - Combining Modules and Aspects. The Computer Journal, 46(5):542---565, 2003.
 
30
31
32
33
34
 
35
 
36
C. Prehofer. Feature-Oriented Programming: A Fresh Look at Objects. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP), volume 1241 of Lecture Notes in Computer Science, pages 419--443. Springer Verlag, 1997.
 
37
pure-systems GmbH. Technical White Paper: Variant Management with pure::variants, 2003-2004. http://www.pure-systems.com.
38
 
39
N. Siegmund, M. Kuhlemann, M. Rosenmüller, C. Kaestner, and G. Saake. Integrated Product Line Model for Semi-Automated Product Derivation Using Non-Functional Properties. In Workshop on Variability Modelling of Software-intensive Systems (VaMoS), pages 25--31, 2008.
40


Collaborative Colleagues:
Marko Rosenmüller: colleagues
Norbert Siegmund: colleagues
Gunter Saake: colleagues
Sven Apel: colleagues