Comparative Study For Product Line Implementation

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.