Domain Ontology-Based Generative Component Design Using Feature Diagrams and Meta-programming Techniques

In domains, where great variability of requirements and products exists such as embedded system design domain, a product line (PL) approach is emerging as the most promising design paradigm. The key for the PL implementation is the use of domain analysis and domain modelling methods. We propose to represent domain variability using feature models enriched with lightweight domain ontology. We transform such models into generative component specifications using meta-programming techniques. We suggest: 1) to use domain analysis methods from two perspectives, software engineering and cognitive science; 2) to enrich domain variability models explicitly by contextualization and repurposing (i.e., by lightweight domain ontology); 3) to represent the model using the enriched feature diagrams (EFDs); 4) to encode EFDs using heterogeneous meta-programming.