FEATUREHOUSE: Language-independent, automated software composition 论文

2009引用 245
Advanced Software Engineering MethodologiesSoftware Engineering ResearchSoftware System Performance and Reliability

详细信息

发表日期
2009-01-01
发表年份
2009

关键词

Advanced Software Engineering MethodologiesSoftware Engineering ResearchSoftware System Performance and Reliability

摘要

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, JavaCC, and XML. Several case studies demonstrate the practicality and scalability of our approach and reveal insights into the properties a language must have in order to be ready for superimposition.