Research Article Open Access

Common Metamodel of Component Diagram and Feature Diagram in Generative Programming

Matija Novak1, Ivan Magdalenić1 and Danijel Radošević1
  • 1 University of Zagreb, Croatia


Component-based software engineering and generative programming are common approaches in software engineering. Each approach has some benefits and domain of usage. Component-based development is used to build autonomous components that can be further combined in different ways, while generative programming is more suitable when building systems that have different variants. Before a variable component based system can be build, it needs to be modeled. In this article, a new common metamodel that aims to enable modeling a system which combines both component-based development and generative programming is introduced. The introduced metamodel proposed in this paper combines the component diagram that is used to model systems in component-based development and the feature diagram that is employed in modeling systems in generative programming. The combined metamodel enables modeling of variable systems using components.

Journal of Computer Science
Volume 12 No. 10, 2016, 517-526


Submitted On: 5 July 2016 Published On: 15 December 2016

How to Cite: Novak, M., Magdalenić, I. & Radošević, D. (2016). Common Metamodel of Component Diagram and Feature Diagram in Generative Programming. Journal of Computer Science, 12(10), 517-526.

  • 1 Citations



  • Metamodel
  • Component-Based Development
  • Component Diagram
  • Generative Programming
  • Feature Diagram