Journal of Computer Science

Common Metamodel of Component Diagram and Feature Diagram in Generative Programming

Matija Novak, Ivan Magdalenić and Danijel Radošević

DOI : 10.3844/jcssp.2016.517.526

Journal of Computer Science

Volume 12, Issue 10

Pages 517-526


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.


© 2016 Matija Novak, Ivan Magdalenić and Danijel Radošević. This is an open access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.