Abstract
Modern software systems are built to operate in an open world setting. By this we mean software that is conceived as a dynamically adaptable and evolvable aggregate of components that may change at run time to respond to continuous changes in the external world. Moreover, the software designer may have different degrees of ownership, control, and visibility of the different parts that compose an application. In this scenario, design-time assumptions may be based on knowledge that may have different degrees of accuracy for the different parts of the application and of the external world that interacts with the system. Furthermore, even if initially accurate, they may later change after the system is deployed and running. In this paper we investigate how these characteristics influence the way engineers can deal with performance attributes, such as response time. Following a model-driven approach, we discuss how to use at design time performance models based on Queuing Networks to drive architectural reasoning. We also discuss the possible use of keeping models alive at run time. This enables automatic re-estimation of model parameters to reflect the real behavior of the running system, re-execution of the model, and detection of possible failure, which may trigger a reaction that generates suitable architectural changes. We illustrate our contribution through a running example and numerical simulations that show the effectiveness of the proposed approach.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Badidi, E., Esmahi, L., Serhani, M.A.: A Queuing Model for Service Selection of Multi-classes QoS-aware Web Services. In: Third IEEE European Conference on Web Services, 2005. ECOWS 2005, pp. 204–213 (2005)
Balsamo, S.: Product Form Queueing Networks. In: Reiser, M., Haring, G., Lindemann, C. (eds.) Dagstuhl Seminar 1997. LNCS, vol. 1769, pp. 377–402. Springer, Heidelberg (2000)
Baresi, L., Di Nitto, E., Ghezzi, C.: Toward open-world software: Issue and challenges. Computer 39(10), 36–43 (2006)
Becker, S., Koziolek, H., Reussner, R.: Model-based performance prediction with the palladio component model. In: WOSP 2007: Proceedings of the 6th International Workshop on Software and Performance, pp. 54–65. ACM, New York (2007)
Bertoli, M., Casale, G., Serazzi, G.: The jmt simulator for performance evaluation of non-product-form queueing networks. In: Annual Simulation Symposium, Norfolk,VA, US, pp. 3–10. IEEE Computer Society, Los Alamitos (2007)
Bolch, G., Greiner, S., de Meer, H., Trivedi, K.S.: Queueing networks and Markov chains: modeling and performance evaluation with computer science applications. Wiley-Interscience, New York (1998)
Buzen, J.P.: Queueing Network Models of Multiprogramming (1971)
Buzen, J.P.: Computational algorithms for closed queueing networks with exponential servers. Communications of the ACM 16(9), 527–531 (1973)
Canfora, G., Penta, M.D., Esposito, R., Villani, M.L.: QoS-Aware Replanning of Composite Web Services. In: ICWS 2005 Proc (2005)
Cardoso, J., Sheth, A., Miller, J., Arnold, J., Kochut, K.: Quality of service for workflows and web service processes. Web Semantics: Science, Services and Agents on the World Wide Web 1(3), 281–308 (2004)
Catley, C., Petriu, D.C., Frize, M.: Software Performance Engineering of a Web Services-Based Clinical Decision Support Infrastructure. Software Engineering Notes 29(1), 130–138 (2004)
Chandrasekaran, S., Miller, J.A., Silver, G.S., Arpinar, B., Sheth, A.P.: Performance Analysis and Simulation of Composite Web Services. Electronic Markets 13(2), 120–132 (2003)
Cheung, L., Roshandel, R., Medvidovic, N., Golubchik, L.: Early prediction of software component reliability. In: 30th International Conference on Software Engineering (ICSE 2008), Leipzig, Germany, May 10-18, 2008, pp. 111–120. ACM Press, New York (2008)
D’Ambrogio, A., Bocciarelli, P.: A model-driven approach to describe and predict the performance of composite services. In: WOSP 2007: Proceedings of the 6th international workshop on Software and performance, pp. 78–89. ACM, New York (2007)
Epifani, I., Ghezzi, C., Mirandola, R., Tamburrelli, G.: Model evolution by run-time adaptation. In: ICSE 2009: The 31th Internationl Conference on Software Engineering, Vancouver, Canada (to appear, 2009), http://home.dei.polimi.it/tamburrelli/icse09.pdf
Gallotti, S., Ghezzi, C., Mirandola, R., Tamburrelli, G.: Quality prediction of service compositions through probabilistic model checking. In: Becker, S., Plasil, F., Reussner, R. (eds.) QoSA 2008. LNCS, vol. 5281. Springer, Heidelberg (2008)
Ganek, A.G., Corbi, T.A.: The dawning of the autonomic computing era. IBM Systems Journal 42(1), 5–18 (2003)
Gokhale, S.S.: Architecture-based software reliability analysis: Overview and limitations. IEEE Trans. Dependable Sec. Comput. 4(1), 32–40 (2007)
Lam, S.F., Chan, K.H.: Computer capacity planning: theory and practice. Academic Press Professional, Inc., San Diego (1987)
Lazowska, E.D., Zahorjan, J., Graham, G.S., Sevcik, K.C.: Quantitative system performance: computer system analysis using queueing network models. Prentice-Hall, Inc., Upper Saddle River (1984)
Litoiu, M.: Migrating to web services: a performance engineering approach. Journal of Software Maintenance and Evolution: Research and Practice 16(1-2), 51–70 (2004)
Marzolla, M., Mirandola, R., Milano, I.: Performance Prediction of Web Service Workflows. In: Overhage, S., Szyperski, C., Reussner, R., Stafford, J.A. (eds.) QoSA 2007. LNCS, vol. 4880, pp. 127–144. Springer, Heidelberg (2008)
Menascé, D.A.: QoS Issues in Web Services. IEEE Internet Computing, 72–75 (2002)
Meservy, T.O., Fenstermacher, K.D.: Transforming software development: an mda road map. Computer 38(9), 52–58 (2005)
Moreno, G.A., Merson, P.: Model-Driven Performance Analysis. In: Becker, S., Plasil, F., Reussner, R. (eds.) QoSA 2008. LNCS, vol. 5281, pp. 135–151. Springer, Heidelberg (2008)
Di Nitto, E., Ghezzi, C., Metzger, A., Papazoglou, M., Pohl, K.: A journey to highly dynamic, self-adaptive service-based applications. Automated Software Engg. 15(3-4), 313–341 (2008)
Papazoglou, M.P., Georgakopoulos, D.: Service-Oriented Computing. Communications of the ACM 46(10), 25–28 (2003)
Apache Lucene Project, http://lucene.apache.org/
Silver, G., Maduko, A., Jafri, R., Miller, J.A., Sheth, A.P.: Modeling and Simulation of Quality of Service for Composite Web Services. In: Proceedings of the 7th World Multiconference on Systemics, Cybernetics and Informatics (2003)
Smith, C.U., Williams, L.G.: Performance solutions: a practical guide to creating responsive, scalable software. Addison Wesley Longman Publishing Co., Inc., Redwood City (2002)
Song, H.G., Ryu, Y., Chung, T., Jou, W., Lee, K.: Metrics, Methodology, and Tool for Performance-Considered Web Service Composition. In: Yolum, p., Güngör, T., Gürgen, F., Özturan, C. (eds.) ISCIS 2005. LNCS, vol. 3733, pp. 392–401. Springer, Heidelberg (2005)
Zheng, T., Woodside, M., Litoiu, M.: Performance model estimation and tracking using optimal filters. IEEE Transactions on Software Engineering 34(3), 391–406 (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ghezzi, C., Tamburrelli, G. (2009). Predicting Performance Properties for Open Systems with KAMI. In: Mirandola, R., Gorton, I., Hofmeister, C. (eds) Architectures for Adaptive Software Systems. QoSA 2009. Lecture Notes in Computer Science, vol 5581. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02351-4_5
Download citation
DOI: https://doi.org/10.1007/978-3-642-02351-4_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-02350-7
Online ISBN: 978-3-642-02351-4
eBook Packages: Computer ScienceComputer Science (R0)