We have conducted a comparative study of language support for product line implementation. In this study, we first defined a two-way extensible interpreter as a canonical example. Then, we performed product line analysis and design in a implementation-independent manner, which enabled us to easily compare various implementation techniques.
Here, we present several implementation approaches including AspectJ, Generics in Java, SML and MLPolyR.
AspectJ
Generics in Java
Standard ML
OCaml
MLPolyR
In our submission to SPLC'09, we proposed the two-way extensible interpreter as a canonical example for the comparative study of product line implementation. Its intentional resemblance to the expression problem makes it possible to bring abundant research results in the context of programming languages into this area. For example, Scala and Ocaml present their own solutions to the expression problem. We plan to study their applicability to product line implementation. We hope that our evaluation framework can be used to further explore many other interesting language features.
Any comments are welcome.
This page has been visited 32195 times.
