Abstract
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, access via your institution.
References
Aagedal, J.Ø.: Quality of Service Support in Development of Distributed Systems. PhD thesis, University of Oslo (2001)
Abadi M., Lamport L.: The existence of refinement mappings. Theor. Comput. Sci. 82(2), 253–284 (1991)
Abadi M., Lamport L.: An old-fashioned recipe for real time. ACM ToPLaS 16(5), 1543–1571 (1994)
Abadi M., Lamport L.: Conjoining specifications. ACM ToPLaS 17(3), 507–534 (1995)
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
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)
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)
Beugnard A., Jézéquel J.-M., Plouzeau N., Watkins D.: Making components contract aware. IEEE Comput. 32(7), 38–45 (1999)
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)
Börger E.: The ASM refinement method. Formal Aspects Comput. 15(2–3), 237–257 (2003)
Börger E., Stärk R.: Abstract State Machines–A Method for High-Level System Design and Analysis. Springer, Berlin (2003)
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)
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)
Cheesman J., Daniels J.: UML Components: A Simple Process for Specifying Component-Based Software. Addison-Wesley, Reading (2001)
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)
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)
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)
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)
Ciao website: http://www.cs.wustl.edu/~schmidt/CIAO.html
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)
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)
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)
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)
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)
Filman R.E., Elrad T., Clarke S., Akşit M.: Aspect-Oriented Software Development. Addison-Wesley, Reading (2004)
Fishburn P.: Preference structures and their numerical representations. Theor. Comput. Sci. 217(2), 359–383 (1999)
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)
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)
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)
Gościński A.: Distributed Operating Systems: The logical design. Addison-Wesley, Reading (1991)
Griffel F.: Componentware. dpunkt.verlag, Heidelberg (1998)
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)
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)
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)
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)
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)
Hu, T., Marcus, L.: Semantic foundations of an adaptive security infrastructure: Delegation. Unpublished (2005)
Information technology–quality of service: Framework. ISO/IEC 13236:1998, ITU-T X.641 (1998)
Jacobson I., Griss M., Jonsson P.: Software Reuse–Architecture, Process and Organization for Business Success. ACM Press, London (1997)
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)
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)
Kleppe A., Warmer J., Bast W.: MDA Explained: The Model Driven Architecture: Practice and Promise. Addison-Wesley, Reading (2003)
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)
Lamport L.: Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley, Reading (2002)
Lee, C.: On Quality of Service Management. PhD thesis, Carnegie Mellon University, August (1999)
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)
Liu J.W.S.: Real-Time Systems. Prentice-Hall, New Jersey (2000)
Liu, J.W.S., Nahrstedt, K., Hull, D., Chen, S., Li, B.: EPIQ QoS characterization. ARPA Report, Quorum Meeting, July (1997)
Lund, M.S., den Braber, F., Stølen, K.: A component-oriented approach to security risk analysis. In: Bruel [13], pp. 99–110
Malan, R., Bredemeyer, D.: Defining non-functional requirements. Bredemeyer Consulting, White Paper. http://www.bredemeyer.com/papers.htm, 2001
Medvidovic N., Taylor R.N.: A classification and comparison framework for software architecture description languages. IEEE Trans. Softw. Eng. 26(1), 70–93 (2000)
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)
Nothnagel, J.: Ressourcenverwaltung in drops. Diplomarbeit, Technische Universität Dresden, July 2002. In German
Object Management Group. Real-time CORBA joint revised submission. OMG Document, March 1999. URL http://cgi.omg.org/cgi-bin/doc?orbos/99-02-12 or http://cgi.omg.org/cgi-bin/doc?orbos/99-03-29
Object Management Group. UML profile for schedulability, performance, and time specification. OMG Document, March (2002). URL http://www.omg.org/cgi-bin/doc?ptc/02-03-02
Object Management Group. UML 2.0 OCL specification. OMG Document, October (2003). URL http://www.omg.org/cgi-bin/doc?ptc/03-10-14
Object Management Group. MDA guide version 1.0.1. OMG Document, June (2003). URL http://www.omg.org/cgi-bin/doc?omg/03-06-01
Object Management Group. Request for proposals: MDA tool component. OMG Document, July (2006) URL http://www.omg.org/cgi-bin/doc?ad/2006-06-09
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)
Reussner, R.H.: Parametrisierte Verträge zur Protokolladaption bei Software-Komponenten. Logos Verlag, Berlin (2001) (In German)
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)
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
Röttger, S., Zschaler, S.: CQML+: Enhancements to CQML. In: Bruel [13], pp. 43–56
Röttger, S., Zschaler, S.: Tool support for refinement of non-functional specifications. Softw. Syst. Model. J. (SoSyM), 6(2), June (2007)
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)
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)
Schmidt, D.C., Kuhns, F.: An overview of the real-time CORBA specification. IEEE Comput. 56–63 (2000)
Schmidt, D.C., Levine, D.L., Mungee, S.: The design of the TAO real-time object request broker. Comput. Commun. 21(4), April (1998)
Selic B.: A generic framework for modeling resources with UML. IEEE Comput. 33(6), 64–69 (2000)
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)
Smith, C.U., Williams, L.G.: Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software. Object-Technology Series. Addison-Wesley, Reading (2002)
Sommerville I.: Software Engineering. Addison-Wesley, Reading (1996)
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)
Stirling, C.: Modal and Temporal Properties of Processes. Texts in Computer Science. Springer, Berlin (2001)
Szyperski, C.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Component Software Series. Addison-Wesley, Reading (2002)
Tanenbaum A.S.: Modern Operating Systems, 2nd edn. Prentice-Hall, Englewood Cliffs (2002)
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)
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. http://drops.dagstuhl.de/opus/volltexte/2005/31
Werner, M., Richling, J.: Komponierbarkeit nichtfunktionaler Eigenschaften–Versuch einer Definition. In: Fachtagung, G.I. Betriebssysteme 2002 Gesellschaft für Informatik, Berlin (2002) (In German)
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
Zschaler, S.: A Semantic Framework for Non-functional Specifications of Component-Based Systems. PhD thesis, Technische Universität Dresden, Germany, April (2007)
Zschaler, S.: Example specifications of non-functional properties of a simple counter application. Technical Report COMP-006-2008, Computing Department, Lancaster University (2008)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Dr. Robyn Lutz.
Rights 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). https://doi.org/10.1007/s10270-009-0115-6
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-009-0115-6
Keywords
- Non-functional properties
- Formal specification
- Component-based software engineering
- QML/CS