Abstract
Modern systems are increasingly required to be capable to evolve at run-time, in particular allowing for the dynamic plugging of new features. It is important that this evolution happens preserving some established properties (which can concern the structure, the interaction patterns, or crucial extra-functional properties, such as reliability or security), and due to dynamicity this needs to be checked at run-time, as the changes occur.
In this work we consider evolving component-based systems formed by a kernel architecture to which new components can be plugged in at run-time, and introduce the MOSAICO approach for the run-time monitoring of architectural properties. MOSAICO uses Aspect-oriented technologies for instrumenting and monitoring the system according to selected architectural properties. MOSAICO can handle evolving black-box component systems since it continuously watches the events occurring at the extension points of the kernel architecture.
The application of a prototype implementation of MOSAICO, capable to handle interaction pattern properties, is illustrated on the NewsFeeder case study.
This work has been partly supported by the EU FP6-2005-IST EU Project PLASTIC (Providing Lightweight and Adaptable Service Technology for pervasive Information and Communication) and by the national FIRB Project ART DECO (Adaptive InfRasTructures for DECentralized Organizations).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Muccini, H., Hierons, R. (eds.): ROSATEA 2006: The Role Of Software Architecture in Testing and Analysis. ACM Digital Library. ACM Press, New York (2006)
QOSA Conferences on the Quality of Software Architectures, Lecture Notes on Computer Science (2005-2007)
Delgado, N., Gates, A.Q., Roach, S.: A taxonomy and catalog of runtime software-fault monitoring tools. IEEE Trans. Softw. Eng. 30(12), 859–872 (2004)
Bertolino, A., Muccini, H., Polini, A.: Architectural verification of black-box component-based systems. In: RISE 2006. Proc. Int. Workshop on Rapid Integration of Software Engineering techniques, vol. to appear as LNCS (2006)
Kazman, R., Abowd, G., Bass, L., Clements, P.: Scenario-based analysis of software architecture. IEEE Softw. 13(6), 47–55 (1996)
Autili, M., Inverardi, P., Pelliccione, P.: A scenario based notation for specifying temporal properties. In: SCESM 2006, Shanghai, China, May 27, 2006, ACM Press, New York (2006)
PSC home page: http://www.di.univaq.it/psc2ba (2005)
CHARMY Project. Charmy Web Site. http://www.di.univaq.it/charmy
Holzmann, G.J.: The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley, Reading (2003)
Crawford, W.C., Kaplan, J.: J2EE Design Patterns. O’Reilly (2003)
Kiviluoma, K., Koskinen, J., Mikkonen, T.: Run-time monitoring of architecturally significant behaviors using behavioral profiles and aspects. In: ISSTA 2006. Proc. Int. Symposium on Software Testing and Analysis, Portland, Maine, pp. 181–190 (2006)
Bodden, E.: A lightweight ltl runtime verification tool for java. In: Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, pp. 306–307. ACM Press, New York (2004)
Xiaoguang, M., May, J.: A framework of integration Testing using AspectJ. In: WAOSD. Int. Workshop on Aspect-Oriented Software Development, Beijing, China (2004)
Gschwind, T., Oberleitner, J.: Improving dynamic data analysis with aspect-oriented programming. In: CSMR 2003. Proc. 7th European Conference on Software Maintenance and Reengineering, Washington, DC, p. 259. IEEE Computer Society Press, Los Alamitos (2003)
Bodkin, R.: AOP@Work: Performance monitoring with AspectJ (September 2005), IBM: http://www-128.ibm.com/developerworks/java/library/j-aopwork10/
Usui, Y., Chiba, S.: Bugdel: An aspect-oriented debugging system. In: APSEC 2005. Proc. 12th Asia-Pacific Software Engineering Conference, Washington, DC, pp. 790–795. IEEE Computer Society Press, Los Alamitos (2005)
Katz, S.: Diagnosis of Harmful Aspects Using Regression Verification. In: FOAL workshop in AOSD 2004 (2004)
Garlan, D.: Software Architecture: a Roadmap. In: Finkelstein, A. (ed.) ACM ICSE 2000, The Future of Software Engineering, pp. 91–101. ACM Press, New York (2000)
Oreizy, P., Medvidovic, N., Taylor, R.: Architecture-Based Runtime Software Evolution. In: ICSE 1998. Proc. Int. Conf. on Software Engineering, Kyoto, Japan (1998)
Allen, R.J., Douence, R., Garlan, D.: Specifying and Analyzing Dynamic Software Architectures. In: Astesiano, E. (ed.) ETAPS 1998 and FASE 1998. LNCS, vol. 1382, Springer, Heidelberg (1998)
Kramer, J., Magee, J.: Analysing Dynamic Change in Software Architectures: A case study. In: Proc. 4th IEEE Int. Conf. on Configurable Distributed Systems, IEEE Computer Society Press, Los Alamitos (1998)
Rademake, A., Braga, C., Sztajnberg, A.: A rewriting semantics for a software architecture description language. ENTCS 130, 345–377 (2005)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Muccini, H., Polini, A., Ricci, F., Bertolino, A. (2007). Monitoring Architectural Properties in Dynamic Component-Based Systems. In: Schmidt, H.W., Crnkovic, I., Heineman, G.T., Stafford, J.A. (eds) Component-Based Software Engineering. CBSE 2007. Lecture Notes in Computer Science, vol 4608. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73551-9_9
Download citation
DOI: https://doi.org/10.1007/978-3-540-73551-9_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-73550-2
Online ISBN: 978-3-540-73551-9
eBook Packages: Computer ScienceComputer Science (R0)