Abstract
Traditional diagnostic and optimization techniques typically rely on static instrumentation of a small portion of an overall system. Unfortunately, solely static and localized approaches are simply no longer sustainable in the evolution of today’s complex and dynamic systems. Sustainable Optimization and Navigation with Aspects for system-wide Reconciliation is a fluid and unified framework that enables stakeholders to explore and adapt meaningful entities that are otherwise spread across predefined abstraction boundaries. Through a combination of Aspect-Oriented Programming, Extensible Markup Language, and management tools such as Java Management Extensions, SONAR can comprehensively coalesce scattered artifacts—enabling evolution to be more inclusive of system-wide considerations by supporting both iterative and interactive practices. We believe this system-wide approach promotes the application of safe and sound principles in system evolution. This paper presents SONAR’s model, examples of its concrete manifestation, and an overview of its associated costs and benefits. Case studies demonstrate how SONAR can be used to accurately identify performance bottlenecks and effectively evolve systems by optimizing behaviour, even at runtime.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Alpern, B., Attanasio, C.R., Barton, J.J., Burke, M.G., Cheng, P., Choi, J.-D., Cocchi, A., Fink, S.J., Grove, D., Hind, M., Hummel, S.F., Lieber, D., Litvinov, V., Mergen, M.F., Ngo, T., Russell, J.R., Sarkar, V., Serrano, M.J., Shepherd, J.C., Smith, S.E., Sreedhar, V.C., Srinivasan, H., Whaley, J.: The Jalapeño Virtual Machine. IBM System Journal 39(1) (February 2000)
Aracic, I., Gasiunas, V., Mezini, M., Ostermann, K.: Overview of CaesarJ. Transactions on Aspect-Oriented Software Development I 3880, 135–173 (2006)
AspectC. The AspectC Project, http://www.cs.ubc.ca/labs/spl/projects/aspectc.html
AspectJ. The AspectJ Project, http://www.eclipse.org/aspectj/
AspectWerkz. AOP Benchmark, http://docs.codehaus.org/display/AW/AOP+Benchmark
AspectWerkz 2, http://aspectwerkz.codehaus.org/
Chen, M., Kiciman, E., Accardi, A., Fox, A., Brewer, E.: Using Runtime Paths for Macroanalysis. In: Symposium on Hot Operating Systems, HotOS IV (2003)
Chen, M., Kiciman, E., Fratkin, E., Brewer, E., Fox, A.: Pinpoint: Problem determination in large, dynamic, Internet services. In: Proc. International Conference on Dependable Systems and Networks (IPDS Track), June 2002, pp. 595–604 (2002)
Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Nord, R., Stafford, J.: Documenting Software Architectures: Views and Beyond. Addison Wesley Proffessional, Reading (2002)
Coady, Y., Kiczales, G., Feeley, M., Smolyn, G.: Using AspectC to Improve the Modularity of Path-Specific Customization in Operating System Code. In: Joint 8 European Software Engineering Conference (ESEC) and 9 ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE), pp. 89–98 (2001)
Continuous Program Optimization, http://www.research.ibm.com/CPO/
Dmitriev, M.: Towards Flexible and Safe Technology for Runtime Evolution of Java Language Applications. In: Proc. Workshop on Engineering Complex Object-Oriented Systems for Evolution held at OOPSLA (2001)
Douence, R., Fritz, T., Loriant, N., Menaud, J., Segura-Devillechaise, M., Sudholt, M.: An expressive aspect language for system applications with Arachne. In: Proc. International Conference on Aspect-Oriented Software Development (2005)
DTrace. Big Admin: DTrace, http://www.sun.com/bigadmin/content/dtrace/
Duesterwarld, E.: Performance and Environment Monitoring for Continuous Program Optimization. In: Proc. of Invitational Workshop on the Future of Virtual Execution Environments (2004)
Engel, M., Freisleben, M.: Supporting Autonomic Computing Functionality via Dynamic Operating System Kernel Aspects. In: Proc. International Conference on Aspect-Oriented Software Development (AOSD), pp. 51–62 (2005)
Extensible Markup Language (XML), http://www.w3.org/XML/
FreeBSD. The FreeBSD Operating System, http://www.freebsd.org
Gibbs, C., Liu, R., Coady, Y.: Sustainable System Infrastructure and Big Bang Evolution: Can Aspects Keep Pace? In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 241–261. Springer, Heidelberg (2005)
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, Springer, Heidelberg (1997)
K42. K42 Operating System, http://www.research.ibm.com/K42/
Lafferty, D., Cahill, V.: Language-Independent Aspect-Oriented Programming. In: Proc. Workshop on Languages and Applications held at OOPSLA (2003)
Magpie. Magpie: request tracking for performance analysis, http://research.microsoft.com/projects/magpie/
Navarro, L., Südholt, M., Vanderperren, W., Fraine, B.D., Suvée, D.: Explicitly distributed AOP using AWED. In: Proc. International Conference on Aspect-Oriented Software Development (AOSD) (March 2006)
NetBeans IDE, http://www.netbeans.org/index.html
NetBeans Profiler Project, http://profiler.netbeans.org/index.html
Nicoara, A., Alonso, G.: Dynamic AOP with Prose. In: Pastor, Ó., Falcão e Cunha, J. (eds.) CAiSE 2005. LNCS, vol. 3520, Springer, Heidelberg (2005)
Printezis, T., Jones, R.: GCspy: An adaptable heap visualisation framework. In: Proc. Conferences on Object-Oriented Programming, Systems, Languages, and Applications, pp. 343–358 (2002)
S.D.N. (SDN). Java Management Extensions (JMX), http://java.sun.com/products/JavaManagement/
Spring.NET AOP, http://www.springframework.net/doc/reference/html/aop.html
Werner, H.: Across the Frontiers. Ox Bow Press (1990)
XSL Transformations (XSLT), http://www.w3.org/TR/xslt
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Liu, C.R., Gibbs, C., Coady, Y. (2007). Safe and Sound Evolution with SONAR. In: Rashid, A., Aksit, M. (eds) Transactions on Aspect-Oriented Software Development IV. Lecture Notes in Computer Science, vol 4640. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-77042-8_7
Download citation
DOI: https://doi.org/10.1007/978-3-540-77042-8_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-77041-1
Online ISBN: 978-3-540-77042-8
eBook Packages: Computer ScienceComputer Science (R0)