At the vari-arch workshop at the European Conference on Software Architecture (ECSA 2010), I presented my work on Active Components. Active Components are the building blocks in a software product line infrastructure that I have designed. In it’s design I have chosen flexibility over rigidity (i.e. a strong compositional way of specifying your software product, rather than driven by a central architecture). This gives better means to widen the scope of a software product line, something that was specifically the case at the ISV where I did my research.
The design is founded on the Model-Driven Engineering paradigm. Active Components employ domain-specific models and use chains of transformations to generate final software artefacts, such as code. Something that is quite distinct from other model-driven software components is that Active Components are invoked and queried during the construction, or derivation, phase (i.e. before compiling). This gives component developers tremendous power to analyze and act upon the software product line when it is being used. This is in contrast with more traditional software components which are passive during the construction phase and thereby give little guidance the component reuser.
This might be of’interest for software engineers implementing software product lines or developers who are looking for idea’s on increasing their reuse of software components.
The paper can be found here:
I’d love to hear what you think of it.