Skip to main content
Log in

Formal specification of non-functional properties of component-based software systems

A semantic framework and some applications thereof

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript


Component-based software engineering (CBSE) is viewed as an opportunity to deal with the increasing complexity of modern-day software. Along with CBSE comes the notion of component markets, where more or less generic pieces of software are traded, to be combined into applications by third-party application developers. For such a component market to work successfully, all relevant properties of components must be precisely and formally described. This is especially true for non-functional properties, such as performance, memory foot print, or security. While the specification of functional properties is well understood, non-functional properties are only beginning to become a research focus. This paper discusses semantic concepts for the specification of non-functional properties, taking into account the specific needs of a component market. Based on these semantic concepts, we present a new specification language QML/CS that can be used to model non-functional product properties of components and component-based software systems.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others


  1. Aagedal, J.Ø.: Quality of Service Support in Development of Distributed Systems. PhD thesis, University of Oslo (2001)

  2. Abadi M., Lamport L.: The existence of refinement mappings. Theor. Comput. Sci. 82(2), 253–284 (1991)

    Article  MATH  MathSciNet  Google Scholar 

  3. Abadi M., Lamport L.: An old-fashioned recipe for real time. ACM ToPLaS 16(5), 1543–1571 (1994)

    Article  Google Scholar 

  4. Abadi M., Lamport L.: Conjoining specifications. ACM ToPLaS 17(3), 507–534 (1995)

    Article  Google Scholar 

  5. Aigner, R., Pohl, C., Pohlack, M., Zschaler, S.: Tailor-made containers: Modeling non-functional middleware service. In: Bruel, J.-M., Georg, G., Hussmann, H., Ober, I., Pohl, C., Whittle, J., Zschaler, S. (eds.) Workshop on Models for Non-functional Aspects of Component-Based Software (NfC’04) at UML conference 2004, September 2004. Technical Report TUD-FI04-12 Sept.2004 at Technische Universität Dresden

  6. Amundsen, S., Lund, K., Eliassen, F., Staehli, R.: QuA: platform-managed QoS for component architectures. In: Proceedings of the Norwegian Informatics Conference (NIK), Stavanger, Norway. Tapir Akademisk Forlag, Trondheim, Norway, November (2004)

  7. Balarin F., Watanabe Y., Hsieh H., Lavagno L., Passerone C., Sangiovanni-Vincentelli A.: Metropolis: an integrated electronic system design environment. IEEE Comput. 36, 45–52 (2003)

    Google Scholar 

  8. Beugnard A., Jézéquel J.-M., Plouzeau N., Watkins D.: Making components contract aware. IEEE Comput. 32(7), 38–45 (1999)

    Google Scholar 

  9. Bézivin, J., Gérard S., Muller P.-A., Rioux, L.: MDA components: Challenges and opportunities. In: Evans, A., Sammut, P., Willans, J.S. (eds.) Proceedings of First International Workshop Metamodelling for MDA, pp. 23–41, York (2003)

  10. Börger E.: The ASM refinement method. Formal Aspects Comput. 15(2–3), 237–257 (2003)

    Article  MATH  Google Scholar 

  11. Börger E., Stärk R.: Abstract State Machines–A Method for High-Level System Design and Analysis. Springer, Berlin (2003)

    MATH  Google Scholar 

  12. Broy M., Deimel A., Henn J., Koskimies K., Plášil F., Pomberger G., Pree W., Stal M., Szyperski C.: What characterizes a (software) component?. Softw. Concepts Tools 19(1), 49–56 (1998)

    Article  Google Scholar 

  13. Bruel, J.-M. (ed.): Proceedings of First International Workshop on Quality of Service in Component-Based Software Engineering, Toulouse, France. Cépaduès-Éditions, June (2003)

  14. Cheesman J., Daniels J.: UML Components: A Simple Process for Specifying Component-Based Software. Addison-Wesley, Reading (2001)

    Google Scholar 

  15. Chen, S., Gorton, I., Liu, A., Liu, Y.: Performance prediction of COTS component-based enterprise applications. In: Crnkovic, I., Schmidt, H., Stafford, J., Wallnau, K. (eds.) Proceedings of Fifth ICSE Workshop on Component-Based Software Engineering (CBSE’2002): Benchmarks for Predictable Assembly, May (2002)

  16. Chimaris, A., Papadopoulos, G.A.: Implementing QoS aware component-based applications. In: Meersman, R., Tari, Z. (eds.) On the Move to Meaningful Internet Systems 2004: CoopIS, DOA, and ODBASE: OTM Confederated International Conferences, LNCS, vol. 3291, pp. 1173–1189. Springer, Agia Napa (2004)

  17. Chung J.-Y., Liu J.W.S., Lin K.-J.: Scheduling periodic jobs that allow imprecise results. IEEE Trans. Comput. 39(9), 1156–1174 (1990)

    Article  Google Scholar 

  18. Chung, L., Nixon, B.A., Yu, E., Mylopoulos, J.: Non-Functional Requirements in Software Engineering. The Kluwer international series in software engineering. Kluwer, Dordrecht (1999)

  19. Ciao website:

  20. Ciupke, O., Schmidt, R.: Components as context-independent units of software. In: WCOP 96, Special Issues in Object-Oriented Programming, Workshop Reader of the Tenth European Conference on Object-Oriented Programming ECOOP96, pp. 139–143. d.punkt.verlag, Heidelberg (1996)

  21. Clark, T., Evans, A., Kent, S.: Engineering modelling languages: A precise meta-modelling approach. In: Kutsche, R.-D., Weber, H. (eds.) Proceedings of Fifth International Conference on Fundamental Approaches to Software Engineering (FASE 2002), LNCS, vol. 2306, pp. 159–173. Springer, Grenoble (2002)

  22. Cottenier, T., van den Berg, A., Elrad, T.: Joinpoint inference from behavioral specification to implementation. In: Ernst, E. (ed.) 21st European Conference on Object-Oriented Programming (ECOOP’07), LNCS, vol. 4609, pp. 476–500. Springer, Berlin (2007)

  23. Councill W.T., Heinemann G.T.: Definition of a software component and its elements. In: Heinemann, G.T., Councill, W.T. (eds) Component-Based Software Engineering—Putting the Pieces Together, pp. 5–20. Addison-Wesley, Reading (2001)

    Google Scholar 

  24. Crnkovic, I., Larsson, M., Preiss, O.: Concerning predictability in dependable component-based systems: Classification of quality attributes. In: de Lemos, R., et al. (eds.), Architecting Dependable Systems III, LNCS, vol. 3549, pp. 257–278. Springer, Berlin (2005)

  25. Filman R.E., Elrad T., Clarke S., Akşit M.: Aspect-Oriented Software Development. Addison-Wesley, Reading (2004)

    Google Scholar 

  26. Fishburn P.: Preference structures and their numerical representations. Theor. Comput. Sci. 217(2), 359–383 (1999)

    Article  MATH  MathSciNet  Google Scholar 

  27. Ford, G.: Measurement theory for software engineers. In: Lecture Notes on Engineering Measurement for Software Engineers. Carnegie Mellon University. CMU/SEI report CMU/SEI-93-EM-9 (1993)

  28. Franch, X.: Systematic formulation of non-functional characteristics of software. In: Proceedings of Third International Conference on Requirements Engineering, IEEE Computer Society, pp. 174–181 (1998)

  29. Frølund, S., Koistinen, J.: Qml: A language for quality of service specification. Technical report, Hewlett-Packard Software Technology Laboratory. Technical Report No. HPL-98-10 (1998)

  30. Gościński A.: Distributed Operating Systems: The logical design. Addison-Wesley, Reading (1991)

    Google Scholar 

  31. Griffel F.: Componentware. dpunkt.verlag, Heidelberg (1998)

    MATH  Google Scholar 

  32. Hamann, C.-J.: On the quantitative specification of jitter constrained periodic streams. In: Proceedings of Fifth International Workshop on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS’97). IEEE Computer Society (1997)

  33. Hamann, C.-J., Zschaler, S.: Scheduling real-time components using jitter-constrained streams. In: Proceedings of Workshop on Advances in Quality of Service Management (AQuSerM’06) (2006)

  34. Härtig, H., Zschaler, S., Pohlack, M., Aigner, R., Göbel, S., Pohl, C., Röttger, S.: Enforceable component-based realtime contracts—supporting realtime properties from software development to execution. Springer Real Time Syst. J. 35(1), January (2007)

  35. Hissam, S.A., Moreno, G.A., Stafford, J.A., Wallnau, K.C.: Packaging predictable assembly. In: Bishop, J. (ed.) Proceedings of IFIP/ACM Working Conference on Component Deployment (CD 2002), LNCS, vol. 2370, pp. 108–126. Springer, Berlin (2002)

  36. Hofmeister, C., Nord, R.L., Soni, D.: Describing software architecture with UML. In: Donohoe, P. (ed.) Software Architecture. Proceedings of First Working IFIP Conference on Software Architecture (WICSA1), pp. 145–159 (1999)

  37. Hu, T., Marcus, L.: Semantic foundations of an adaptive security infrastructure: Delegation. Unpublished (2005)

  38. Information technology–quality of service: Framework. ISO/IEC 13236:1998, ITU-T X.641 (1998)

  39. Jacobson I., Griss M., Jonsson P.: Software Reuse–Architecture, Process and Organization for Business Success. ACM Press, London (1997)

    Google Scholar 

  40. Jones, C.B.: Specification and design of (parallel) programs. In: Manson, R.E.A. (ed.) Proceedings of IFIP ’83, IFIP, pp. 321–332. North-Holland, Amsterdam (1983)

  41. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Akşit, M., Matsuoka, S. (eds.) 11th European Conference on Object- Oriented Programming (ECOOP’97), LNCS, vol. 1241, pp. 220–242. Springer, Berlin (1997)

  42. Kleppe A., Warmer J., Bast W.: MDA Explained: The Model Driven Architecture: Practice and Promise. Addison-Wesley, Reading (2003)

    Google Scholar 

  43. Krüger, I.H.: Service specification with MSCs and roles. In: Proceedings of IASTED International Conference on Software Engineering (IASTED SE’04), IASTED, ACTA Press, Innsbruck (2004)

  44. Lamport L.: Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley, Reading (2002)

    Google Scholar 

  45. Lee, C.: On Quality of Service Management. PhD thesis, Carnegie Mellon University, August (1999)

  46. Leue, S.: QoS specification based on SDL/MSC and temporal logic. In: Bochmann, G.v., de Meer, J., Vogel, A. (eds.) Workshop on Multimedia Applications and Quality of Service Verification, Montreal (1994)

  47. Liu J.W.S.: Real-Time Systems. Prentice-Hall, New Jersey (2000)

    Google Scholar 

  48. Liu, J.W.S., Nahrstedt, K., Hull, D., Chen, S., Li, B.: EPIQ QoS characterization. ARPA Report, Quorum Meeting, July (1997)

  49. Lund, M.S., den Braber, F., Stølen, K.: A component-oriented approach to security risk analysis. In: Bruel [13], pp. 99–110

  50. Malan, R., Bredemeyer, D.: Defining non-functional requirements. Bredemeyer Consulting, White Paper., 2001

  51. Medvidovic N., Taylor R.N.: A classification and comparison framework for software architecture description languages. IEEE Trans. Softw. Eng. 26(1), 70–93 (2000)

    Article  Google Scholar 

  52. Naumovich, G., Clarke, L.A.: Classifying properties: An alternative to the safety–liveness classification. In: Proceedings of the eighth ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 159–168. ACM Press, New York (2000)

  53. Nothnagel, J.: Ressourcenverwaltung in drops. Diplomarbeit, Technische Universität Dresden, July 2002. In German

  54. Object Management Group. Real-time CORBA joint revised submission. OMG Document, March 1999. URL or

  55. Object Management Group. UML profile for schedulability, performance, and time specification. OMG Document, March (2002). URL

  56. Object Management Group. UML 2.0 OCL specification. OMG Document, October (2003). URL

  57. Object Management Group. MDA guide version 1.0.1. OMG Document, June (2003). URL

  58. Object Management Group. Request for proposals: MDA tool component. OMG Document, July (2006) URL

  59. Rajkumar, R., Lee, C., Lehoczky, J., Siewiorek, D.: Practical solutions for QoS-based resource allocation problems. In: Proceedings of IEEE Real-Time Systems Symposium, December (1998)

  60. Reussner, R.H.: Parametrisierte Verträge zur Protokolladaption bei Software-Komponenten. Logos Verlag, Berlin (2001) (In German)

  61. Reussner, R.H., Poernomo, I.H., Schmidt, H.W.: Reasoning about software architectures with contractually specified components. In: Cechich, A., Piattini, M., Vallecillo, A. (eds.) Component-Based Software Quality: Methods and Techniques, LNCS, vol. 2693, pp. 287–325. Springer, Berlin (2003)

  62. Röttger, S., Aigner, R.: Modeling of non-functional contracts in component-based systems using a layered architecture. In: Component Based Software Engineering and Modeling Non-functional Aspects (SIVOES-MONA), Workshop at UML, October 2002

  63. Röttger, S., Zschaler, S.: CQML+: Enhancements to CQML. In: Bruel [13], pp. 43–56

  64. Röttger, S., Zschaler, S.: Tool support for refinement of non-functional specifications. Softw. Syst. Model. J. (SoSyM), 6(2), June (2007)

  65. Sabata, B., Chatterjee, S., Davis, M., Sydir, J.J., Lawrence, T.F.: Taxonomy for QoS specifications. In: Proceedings of Third International Workshop on Object-oriented Real-Time Dependable Systems (WORDS’97). Newport Beach, California (1997)

  66. Salzmann, C., Schätz, B.: Service-based software specification. In: Proceedings of International Workshop on Test and Analysis of Component-Based Systems (TACOS) ETAPS 2003, Electronic Notes in Theoretical Computer Science. Elsevier, Warsaw (2003)

  67. Schmidt, D.C., Kuhns, F.: An overview of the real-time CORBA specification. IEEE Comput. 56–63 (2000)

  68. Schmidt, D.C., Levine, D.L., Mungee, S.: The design of the TAO real-time object request broker. Comput. Commun. 21(4), April (1998)

  69. Selic B.: A generic framework for modeling resources with UML. IEEE Comput. 33(6), 64–69 (2000)

    Google Scholar 

  70. Skene, J., Lamanna, D.D., Emmerich, W.: Precise service level agreements. In: Proceedings of 26th International Conference on Software Engineering (ICSE’04), pp. 179–188. IEEE Computer Society, Edinburgh (2004)

  71. Smith, C.U., Williams, L.G.: Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software. Object-Technology Series. Addison-Wesley, Reading (2002)

  72. Sommerville I.: Software Engineering. Addison-Wesley, Reading (1996)

    Google Scholar 

  73. Staehli, R., Eliassen, F., Aagedal, J.Ø., Blair, G.: Quality of service semantics for component-based systems. In: Middleware 2003 Companion, Second International Workshop on Reflective and Adaptive Middleware Systems (2003)

  74. Stirling, C.: Modal and Temporal Properties of Processes. Texts in Computer Science. Springer, Berlin (2001)

  75. Szyperski, C.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Component Software Series. Addison-Wesley, Reading (2002)

  76. Tanenbaum A.S.: Modern Operating Systems, 2nd edn. Prentice-Hall, Englewood Cliffs (2002)

    Google Scholar 

  77. Völter, M.: A generative component infrastructure for embedded systems. In: Voelter, M., Kircher, M., Schwanninger, C., Zdun, U., Schmid, A. (eds.) Proceedings of Workshop on Reuse in Constrained Environments at OOPSLA’03, October (2003)

  78. Völter, M.: Model-driven development of component infrastructures for embedded systems. In: Klein, T., Rumpe, B., Schätz, B. (eds.) Proceedings of Dagstuhl-Workshop Modellbasierte Entwicklung eingebetteter Systeme (MBEES 2005), Dagstuhl, Germany, 2005. Internationales Begegnungs- und Forschungszentrum (IBFI), Schloss Dagstuhl.

  79. Werner, M., Richling, J.: Komponierbarkeit nichtfunktionaler Eigenschaften–Versuch einer Definition. In: Fachtagung, G.I. Betriebssysteme 2002 Gesellschaft für Informatik, Berlin (2002) (In German)

  80. Zhang, C., Jacobsen, H.-A.: Resolving feature convolution in middleware systems. In: Vlissides, J.M., Schmidt, D.C. (eds.) Proceedings of 19th Annual ACM SIGPLAN Conf. Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2004), pp. 188–205. ACM, Vancouver

  81. Zschaler, S.: A Semantic Framework for Non-functional Specifications of Component-Based Systems. PhD thesis, Technische Universität Dresden, Germany, April (2007)

  82. Zschaler, S.: Example specifications of non-functional properties of a simple counter application. Technical Report COMP-006-2008, Computing Department, Lancaster University (2008)

Download references

Author information

Authors and Affiliations


Corresponding author

Correspondence to Steffen Zschaler.

Additional information

Communicated by Dr. Robyn Lutz.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Zschaler, S. Formal specification of non-functional properties of component-based software systems. Softw Syst Model 9, 161–201 (2010).

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: