DocumentCode :
1099
Title :
Language-Independent and Automated Software Composition: The FeatureHouse Experience
Author :
Apel, Sven ; Kastner, Christian ; Lengauer, Christian
Author_Institution :
Dept. of Inf. & Math., Univ. of Passau, Passau, Germany
Volume :
39
Issue :
1
fYear :
2013
fDate :
Jan. 2013
Firstpage :
63
Lastpage :
79
Abstract :
Superimposition is a composition technique that has been applied successfully in many areas of software development. Although superimposition is a general-purpose concept, it has been (re)invented and implemented individually for various kinds of software artifacts. We unify languages and tools that rely on superimposition by using the language-independent model of feature structure trees (FSTs). On the basis of the FST model, we propose a general approach to the composition of software artifacts written in different languages. Furthermore, we offer a supporting framework and tool chain, called FEATUREHOUSE. We use attribute grammars to automate the integration of additional languages. In particular, we have integrated Java, C#, C, Haskell, Alloy, and JavaCC. A substantial number of case studies demonstrate the practicality and scalability of our approach and reveal insights into the properties that a language must have in order to be ready for superimposition. We discuss perspectives of our approach and demonstrate how we extended FEATUREHOUSE with support for XML languages (in particular, XHTML, XMI/UML, and Ant) and alternative composition approaches (in particular, aspect weaving). Rounding off our previous work, we provide here a holistic view of the FEATUREHOUSE approach based on rich experience with numerous languages and case studies and reflections on several years of research.
Keywords :
C++ language; Java; Unified Modeling Language; XML; attribute grammars; software tools; Alloy; Ant; C#; FEATUREHOUSE; Haskell; JavaCC; XHTML; XMI/UML; XML language; attribute grammar; automated software composition; feature structure tree; general-purpose concept; integrated Java; language-independent model; language-independent software composition; software artifact composition; software development; superimposition; supporting framework; tool chain; Databases; Grammar; Java; Latches; Printers; Software; Unified modeling language; FeatureHouse; feature structure trees; language independence; software composition; superimposition;
fLanguage :
English
Journal_Title :
Software Engineering, IEEE Transactions on
Publisher :
ieee
ISSN :
0098-5589
Type :
jour
DOI :
10.1109/TSE.2011.120
Filename :
6095570
Link To Document :
بازگشت