Figure 3: Conceptual Composed Packages.
defined. Their work provides new rules when miss-
ing and eliminates existing ambiguities. Furthermore
they develop a formal model based in Alloy to check
the following properties: uniqueness, associativity,
commutativity, and idempotence (Dingel et al., 2007).
It must be noted that, from the UML specification,
package merge has as identity the empty package and
is closed (OMG, 2007).
4 ANALYSIS
We have seen that both feature composition and pack-
age merge exhibit remarkably similar algebraic prop-
erties. There are however significant differences. In
the case of FOSD the order composition is relevant
and is made explicit in the order of the operands of
feature composition operator •. In the case of pack-
age merge there is not an explicit order of composi-
tion when a receiving package is merged with multi-
ple merged packages. Another difference is that in
package merge the resulting package is always the
receiving package, this expressed algebraically us-
ing feature composition as:
Receiving = Merged
•
Receiving
.
5 CONCLUSIONS AND FUTURE
WORK
In this paper we show the significant convergencethat
exists between research in FOSD and model compo-
sition, in particular with package merge. We believe
exploring the synergies of both lines of research could
be mutually beneficial. For instance, FOSD could
be extended to compose UML class diagram artifacts
which can serve as documentation of the single prod-
uct applications or be the basis to generate from them
other artifacts such as code. As a first step we are im-
plementing a prototype tool that uses Epsilon merg-
ing language to perform package merge. Our goal is
to integrate it into the ATS.
Much of the tooling effort in MDD today is fo-
cused on representing UML-based models and defin-
ing model transformations. What is generally lacking
are tools to express model composition of UML mod-
els by algebraic means. We believe that frameworks
such as MOMENT (Boronat et al., 2007)and the work
of Romero et. al (Romero et al., 2007) can serve as a
foundation on which to implement the FOSD algebra
in a framework that encompasses not only models but
also code artifacts such as Jak. Building such tools is
the subject of our future work.
REFERENCES
Apel, S., Lengauer, C., Batory, D., Moller, B., and Kast-
ner, C. (2007). An algebra for feature-oriented soft-
ware development. Technical report, University of
Passau/MIP-0706.
Batory, D., Sarvela, J. N., and Rauschmayer, A. (2004).
Scaling Step-Wise Refinement. IEEE Transactions on
Software Engineering (TSE), 30(6):355–371.
Boronat, A., Carsí, J. A., Ramos, I., and Letelier, P. (2007).
Formal model merging applied to class diagram inte-
gration. Electr. Notes Theor. Comput. Sci., 166:5–26.
Dingel, J., Zito, A., and Diskin, Z. (2007). Understanding
and Improving Package Merge. Software and Systems
Modeling.
Herrman, C., Krahn, H., Rumpe, B., Schindler, M., and
Volkel, S. (2007). An Algebraic View on the Seman-
tics of Model Composition. In ECMDA-FA.
Lopez-Herrejon, R., Batory, D., and Lengauer, C. (2006).
A Disciplined Approach to Aspect Composition. In A
Disciplined Approach to Aspect Composition. PEPM.
OMG (2007). Uml infrastructure specification v2.1.2.
Pohl, K., Bockle, G., and van der Linden, F. J. (2005). Soft-
ware Product Line Engineering: Foundations, Princi-
ples and Techniques. In Springer.
Romero, J., Rivera, J., Durán, F., and Vallecillo, A. (2007).
Formal and Tool Support for Model Driven Engi-
neering with Maude. Journal of Object Technology
6(9):187-207.
ICSOFT 2008 - International Conference on Software and Data Technologies
296