Graph_Product_Line
Description: Lopez-Herrejon and Batory [2001] developed the Graph Product Line as a bench- mark for product line technology. Similar to the Functional Graph Library, a user can select between weighted and unweighted and between directed and undi- rected edges, between three different underlying data structures (vertex lists, neighbor lists, edge objects), and several algorithms such as depth first search, cycle detection, or Kruskal’s algorithm. The Graph Product Line is interesting as a case study, because it contains many alternative features and nontrivial depen- dencies (e.g., Kruskal’s algorithm requires undirected and weighted edges) and because the domain is well-known. The Graph Product Line was developed from scratch with the feature-oriented language Jak (27 feature modules). We manually wrote a Java implementation that merges all features in a single code base and annotated that implementa- tion. Additionally, we annotated the HTML documentation, so each variant has a documentation that describes only available features.
Generator: CIDE
Authors: Roberto Lopez Herrejon, Christian Kästner
Institution:
Language: Jak, HTML
Development tool: CIDE
Number of Features: 18
Lines of code*: 1350
Number of classes: 16
Number of products:
License:
Upload date: 2012-08-12
Last updated: 2012-08-12
Download: Graph_Product_Line.zip