Towards Conflict-Free Composition of Non-functional Concerns

  • Benjamin Schmeling
  • Anis Charfi
  • Marko Martin
  • Mira Mezini
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7328)


In component-based software development, applications are decomposed, e.g., into functional and non-functional components which have to be composed to a working system. The composition of non-functional behavior from different non-functional domains such as security, reliability, and performance is particularly complex. Finding a valid composition is challenging because there are different types of interdependencies between concerns, e.g. mutual exclusion, conflicts, and ordering restrictions, which should not be violated.

In this paper we formalize a set of interdependency types between non-functional actions realizing non-functional behavior. These interdependencies can either be specified explicitly or implicitly by taking action properties into account. This rich set of interdependencies can then be used to ease the task of action composition by validating compositions against interdependency constraints, proposing conflict resolution strategies, and by applying our guided composition procedure. This procedure proposes next valid modeling steps leading to conflict-free compositions.


Feature Interaction NFC Composition Model-driven development Web Services 


  1. 1.
    Beauvois, M.: Brenda: Towards a Composition Framework for Non-orthogonal Non-functional Properties. In: Distributed Applications and Interoperable Systems (DAIS 2003), Paris, France, pp. 29–40 (November 2003)Google Scholar
  2. 2.
    Bernstein, A.J.: Analysis of programs for parallel processing. IEEE Transactions on Electronic Computers EC-15(5), 757–763 (1966)CrossRefGoogle Scholar
  3. 3.
    Bernstein, P.A., Hadzilacos, V., Goodman, N.: Concurrency control and recovery in database systems. Addison-Wesley Longman Publishing Co., Inc., Boston (1987)Google Scholar
  4. 4.
    Bowen, T.F., Dworack, F.S., Chow, C.H., Griffeth, N., Herman, G.E., Lin, Y.-J.: The feature interaction problem in telecommunications systems. In: Seventh International Conference on Software Engineering for Telecommunication Switching Systems, SETSS 1989, pp. 59–62 (July 1989)Google Scholar
  5. 5.
    Clark, J., DeRose, S.: XML Path Language (XPath) Version 1.0 (November 1999)Google Scholar
  6. 6.
    de Roo, A.J., Hendriks, M.F.H., Havinga, W.K., Durr, P.E.A., Bergmans, L.M.J.: Compose*: a language- and platform-independent aspect compiler for composition filters. In: First International Workshop on Advanced Software Development Tools and Techniques, WASDeTT 2008, Paphos, Cyprus (July 2008)Google Scholar
  7. 7.
    Durr, P., Bergmans, L., Aksit, M.: Reasoning about semantic conflicts between aspects. In EIWAS 2005: The 2nd European Interactive Workshop on Aspects in Software, Brussels, Belgium, pp. 10–18 (September 2006)Google Scholar
  8. 8.
    Durr, P., Bergmans, L., Aksit, M.: Static and Dynamic Detection of Behavioral Conflicts Between Aspects. In: Sokolsky, O., Taşıran, S. (eds.) RV 2007. LNCS, vol. 4839, pp. 38–50. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  9. 9.
    Katz, S.: Aspect Categories and Classes of Temporal Properties. In: Rashid, A., Aksit, M. (eds.) Transactions on Aspect-Oriented Software Development I. LNCS, vol. 3880, pp. 106–134. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  10. 10.
    Kiczales, G., Lamping, J., Mendhekar, A., et al.: Aspect-oriented Programming. In: Aksit, M., Auletta, V. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  11. 11.
    Nagy, I., Bergmans, L., Aksit, M.: Composing Aspects at Shared Join Points. In: Hirschfeld, R., Kowalczyk, R., Polze, A., Weske, M. (eds.) NetObjectDays (NODe/GSEM), Erfurt, Germany. LNI, vol. 69, pp. 19–38. GI (September 2005)Google Scholar
  12. 12.
    OMG. Business Process Model and Notation (BPMN) 2.0 (January 2011)Google Scholar
  13. 13.
    Pulvermüller, E., Speck, A., Coplien, J.O., D’Hondt, M., De Meuter, W.: Feature Interaction in Composed Systems. In: Frohner, A. (ed.) ECOOP 2001. LNCS, vol. 2323, pp. 86–97. Springer, Heidelberg (2002)Google Scholar
  14. 14.
    Sanen, F., Truyen, E., Joosen, W.: Managing Concern Interactions in Middleware. In: Indulska, J., Raymond, K. (eds.) DAIS 2007. LNCS, vol. 4531, pp. 267–283. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  15. 15.
    Schmeling, B., Charfi, A., Mezini, M.: Composing Non-Functional Concerns in Composite Web Services. In: IEEE International Conference on Web Services (ICWS 2011), Washington DC, USA, pp. 331–338 (July 2011)Google Scholar
  16. 16.
    Schmeling, B., Charfi, A., Thome, R., Mezini, M.: Composing Non-Functional Concerns in Web Services. In: The 9th European Conference on Web Services (ECOWS 2011), Lugano, Switzerland, pp. 73–80 (September 2011)Google Scholar
  17. 17.
    Shaker, P., Peters, D.K.: Design-level detection of interactions in aspect-oriented systems. In: Proceedings of the 20th European Conference on Object-Oriented Programming, Nantes, France, pp. 23–32 (July 2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Benjamin Schmeling
    • 1
    • 2
  • Anis Charfi
    • 1
  • Marko Martin
    • 1
  • Mira Mezini
    • 2
  1. 1.Software Engineering & ToolsSAP Research DarmstadtGermany
  2. 2.Technische Universität DarmstadtDarmstadtGermany

Personalised recommendations