DSAW - A Dynamic and Static Aspect Weaving Platform

Luis Vinuesa, Francisco Ortin, José M. Félix, Fernando Álvarez

Abstract

Aspect Oriented Software Development is an effective realization of the Separation of Concerns principle. A key issue of this paradigm is the moment when components and aspects are weaved together, composing the final application. Static weaving tools perform application composition prior to its execution. This approach reduces dynamic aspectation of running applications. In response to this limitation, dynamic weaving aspect tools perform application composition at runtime. The main benefit of dynamic weaving is runtime adaptability; its main drawback is runtime performance. Existing research has identified the suitability of hybrid approaches, obtaining the benefits of both methods in the same platform. Applying static weaving where possible and dynamic weaving when needed provides a balance between runtime performance and dynamic adaptability. This paper presents DSAW, an aspect-oriented system that supports both dynamic and static weaving homogeneously over the .Net platform. An aspect can be used to adapt an application both statically and dynamically, without needing to modify its source code. Moreover, DSAW is language and platform neutral, and source code of neither components nor aspects is required.

References

  1. Blackstock, M. Aspect Weaving with C# and .NET. 2004. www.cs.ubc.ca/ michael/ publications/ AOPNET5.pdf
  2. Böllert, K. On Weaving Aspects. 1999. Proceedings of the Workshop on Object-Oriented Technology, p.301-302.
  3. Dmitriev, M., 2002. Applications of the Hotswap Technology to Advance Profiling. In ECOOP 2002 International Conference.
  4. Eaddy, M., 2007a. Wicca 2.0: Dynamic Weaving using the .Net 2.0 Debugging API. In AOSD 2007.
  5. Eaddy, M., 2007b. Wicca. [Online] http://www1.cs.columbia.edu/eaddy/wicca/ [accessed January, 15, 2008].
  6. Eaddy, M., Aho, A., Hu, W., McDonald, P., Burger, J. 2007c. Debugging Aspect-Composed Programs. Software Composition, 2007. Portugal.
  7. ECMA, 2006. Standard ECMA-335: Common Language Infrastructure (CLI). [Online] Available from http://www.ecma-international.org/publications/ standards/Ecma-335.htm [accessed December 2007].
  8. Gamma, E., Helm, R., Johnson, R., Vlissides, J. 1994. Design Patterns: Elements of Reusable ObjectOriented Software. Addison-Wesley
  9. Frei, A., Grawehr, P. & Alonso, G., 2004. A Dynamic AOP-Engine for .NET. Technical Report 445, Department of Computer Science, ETH Zürich.
  10. Gilani, W., Scheler, F., Lohmann, D., Spinczyk, O., Schröder-Preikschat, W. 2007. Unification of Static and Dynamic AOP for Evolution in Embedded Software Systems. 2007. 6th International Symposium on Software Composition Braga,Portugal.
  11. Haupt, M. & Mezini, M., 2004. Micro-Measurements for Dynamic Aspect-Oriented Systems Proc. of Net.ObjectDays 2004 (NODe), LNCS 3263.
  12. JBoss AOP homepage, 2008. [Online] http://labs.jboss.com/jbossaop/ [February 28, 2008]
  13. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J. & Griswold, W., 2001. An Overview of AspectJ. Proceedings of the ECOOP 2001.
  14. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.M. & Irwin, J., 1997. Aspect Oriented Programming. Proceedings of ECOOP 1997, vol. 1241 of LNCS.
  15. Köhne, K., Schult, W. & Polze, A., 2005. Design by contract in .NET Using Aspect Oriented Programming.
  16. Masuhara, H., Kiczales, G., 2003. A Compilation and Optimization Model for Aspect-Oriented Programs. Compiler Construction (CC2003), LNCS 2622.
  17. Matthijs, F., Joosen, W., Vanhaute, B., Robben, B. & Verbaten, P., 1997. Aspects should not die. In: ECOOP Workshop on Aspect-Oriented Programming.
  18. Nicoara, A. & Alonso, G., 2005. Dynamic AOP with PROSE. Proceedings of ASMEA 2005 in conjunction with CAiSE 2005, Porto, Portugal.
  19. Ortin, F., Cueva, J. 2002. Implementing a real computational-environment jump in order to develop a runtime-adaptable reflective platform. ACM SIGPLAN Notices, Volume 37, Issue 8.
  20. Ortin, F., Lopez, B., Perez-Schofield, J.B.G. 2004. Separating Adaptable Persistence Attributes through Computational Reflection. IEEE Software, Volume 21, Issue 6.
  21. Parnas, D, 1972. On the Criteria to be Used in Decomposing Systems into Modules. Communications of the ACM, Vol. 15, No. 12.
  22. Phoenix, 2008. (Online). research.microsoft.com/phoenix (accessed February, 28, 2008)
  23. Popovici, A., Gross, T. & Alonso, G., 2001. Dynamic Homogenous AOP with PROSE. Technical Report, Dept. of Computer Science, ETH Zürich.
  24. Popovici, A., Alonso, G. & Gross, T., 2003. Just in Time Aspects: Efficient Dynamic Weaving for Java. AOSD 2003 Proceedings.
  25. Schult, W., Trögger, P., 2003. Loom.NET - an Aspect Weaving Tool. Workshop on Aspect-Oriented Programming, ECOOP'03, Darmstadt.
  26. Schult, W., 2008. Documentation Gripper-LOOM.Net. [Online] http://www.gripper-loom.net [accessed January, 15, 2008].
  27. Schröder-Preikschat, W., Lohmann, D., Gilani, W., Schele & F., Spinczyk, O., 2006. Static and dynamic weaving in System Software with AspectC++. In HICSS 7806 Mini-Track on Adaptive and Evolvable Software Systems, IEEE, January.
  28. Segura-Devillechaise, M., Menaud, J., Muller, G.& Lawall, J., 2003. Web Cache Prefetching as an Aspect: Towards a Dynamic-Weaving Based Solution. AOSD 2003 Proceedings, pp: 110-119.
  29. Vinuesa, L. & Ortín, F., 2004. A Dynamic Aspect Weaver over the .NET Platform. Metainformatics International Symposium, MIS 2003. LNCS 3002.
  30. Vinuesa, L, 2007. Separación Dinámica de Aspectos independiente del Lenguaje y Plataforma mediante el uso de Reflexión Computacional. Ph. D. Dissertation. University of Oviedo.
  31. Weave.Net, 2008. Weave.NET homepage http://www.dsg.cs.tcd.ie/index.php?category_id=193. [Accessed on February, 25, 2008].
  32. Zinky, J., Bakken D. & Schantz, R., 1997. Architectural Support for Quality of Service for CORBA Objects. Theory and Practice of Object Systems (TAPOS).
Download


Paper Citation


in Harvard Style

Vinuesa L., Ortin F., M. Félix J. and Álvarez F. (2008). DSAW - A Dynamic and Static Aspect Weaving Platform . In Proceedings of the Third International Conference on Software and Data Technologies - Volume 1: ICSOFT, ISBN 978-989-8111-51-7, pages 55-62. DOI: 10.5220/0001872900550062


in Bibtex Style

@conference{icsoft08,
author={Luis Vinuesa and Francisco Ortin and José M. Félix and Fernando Álvarez},
title={DSAW - A Dynamic and Static Aspect Weaving Platform},
booktitle={Proceedings of the Third International Conference on Software and Data Technologies - Volume 1: ICSOFT,},
year={2008},
pages={55-62},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0001872900550062},
isbn={978-989-8111-51-7},
}


in EndNote Style

TY - CONF
JO - Proceedings of the Third International Conference on Software and Data Technologies - Volume 1: ICSOFT,
TI - DSAW - A Dynamic and Static Aspect Weaving Platform
SN - 978-989-8111-51-7
AU - Vinuesa L.
AU - Ortin F.
AU - M. Félix J.
AU - Álvarez F.
PY - 2008
SP - 55
EP - 62
DO - 10.5220/0001872900550062