Artículo

Estamos trabajando para incorporar este artículo al repositorio
Consulte el artículo en la página del editor
Consulte la política de Acceso Abierto del editor

Abstract:

Aspect-oriented programming (AOP), now practically a consolidated academic discipline, has yet to build more solid industrial foundations, especially in the realms of the.NET platform. It's believed that this situation is caused by the lack of a robust and user-friendly AOP tool for.NET comparable with the Java-based AspectJ. This work investigates the basic infrastructure required for building such a tool: aspect-oriented weaving with the common language runtime (CLR) environment. In this regard, a classification schema is built, analysing the attributes a hypothetical aspect weaver for.NET might have. It assesses the different classes of weavers that can be built on top of the CLR today and investigates what extensions to the platform would be needed in order to enable more sophisticated weaving technologies. Some typical use cases for the resulting AOP tools, and classify what attributes a corresponding weaver would need to have in order to fulfil these requirements. Finally, two existing aspect weaver implementations in terms of these very same attributes are analysed. © The Institution of Engineering and Technology 2007.

Registro:

Documento: Artículo
Título:Aspect-oriented weaving and the.NET common language runtime
Autor:Schmied, F.; Cyment, A.
Filiación:Rubicon IT, 1010 Wien, Austria
Institute of Computer Languages, SBC Group, Vienna University of Technology, Vienna, Austria
School of Computer Science, Universidad de Buenos, Aires Ciudad Universitaria, Pabellón I P.B., Buenos Aires C1428EGA, Argentina
Palabras clave:Classification (of information); Computer aided software engineering; Formal languages; Robust control; User interfaces; Aspect-oriented programming (AOP); Classification schema; Common language runtime (CLR); Computer programming languages
Año:2007
Volumen:1
Número:6
Página de inicio:251
Página de fin:262
DOI: http://dx.doi.org/10.1049/iet-sen:20070013
Título revista:IET Software
Título revista abreviado:IET Software
ISSN:17518806
Registro:https://bibliotecadigital.exactas.uba.ar/collection/paper/document/paper_17518806_v1_n6_p251_Schmied

Referencias:

  • Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.M., Irwin, J., Aspect-oriented programming (1997) Lecture Notes in Computer Science, 1241, pp. 220-242
  • Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G., Getting started with aspectJ (2001) Commun. ACM, 44 (10), pp. 59-65. , 0001-0782
  • Eaddy, M., Cyment, A., Van De Laar, P., Schmied, F., Schult, W., (2007) Whitepaper: The Value of Improving the Separation of Concerns, , Technical Report CUCS-001-07 (Columbia University, Department of Computer Science, January)
  • Böllert, K., On weaving aspects (1999) ECOOP Workshops, pp. 301-302
  • (2005) Common Language Infrastructure (CLI), , (Ecma International, Geneva, Switzerland), 3rd edn., ECMA-335
  • Kühn, E., Fessl, G., Schmied, F., Aspect-oriented programming with runtime-generated subclass proxies and.NET dynamic methods (2006) J. .NET Technol., 4, pp. 17-24
  • Goldberg, A., Robson, D., (1983) Smalltalk-80: The Language and Its Implementation, , (Addison-Wesley Longman Publishing Co., Inc)
  • Hirschfeld, R., AspectS - Aspect-oriented programming with squeak (2003) NODe '02: Revised Papers from the International Conference NetObjectDays on Objects, Components, Architectures, Services, and Applications for A Networked World, pp. 216-232
  • Ungar, D., Smith, R., SELF: The power of simplicity (1991) High.-order Symbol. Comput., 4 (3), pp. 187-205. , 1388-3690
  • Schordan, M., Quinlan, D., A source-to-source architecture for user-defined optimizations (2003) Lecture Notes in Computer Science, 2789, pp. 214-223
  • Hugunin, J., IronPython: A fast python implementation for.NET and Mono (2004) Proc. PyCON 2004 Int. Python Conf., , Washington, DC, USA
  • Constantinides, C., Bader, A., Elrad, T., Netinant, P., Fayad, M., Designing an aspect-oriented framework in an object-oriented environment (2000) ACM Comput. Surv., 32 (1). , Article 41 0360-0300
  • Chitchyan, R., Sommerville, I., Comparing dynamic AO systems (2004) Proc. Dynamic Aspects Workshop, pp. 120-134
  • Filman, R., Friedman, D., Aspect-oriented programming is quantification and obliviousness (2000) Workshop on Advanced Separation of Concerns, OOPSLA, Minneapolis, , October
  • Kühn, E., Schmied, F., XL-AOF: Lightweight aspects for space-based computing (2005) Proc. 1st Workshop on Aspect-Oriented Middleware Development AOMD '05, , Grenoble, France
  • Cyment, A., Kicillof, N., Altman, R., Asteasuain, F., Improving AOP systems' evolvability by decoupling advices from base code (2006) Proc. 3rd ECOOP Workshop on Reflection, AOP, and Evolvability, RAM-SE'06
  • Griswold, W., Sullivan, K., Song, Y., Shonle, M., Tewari, N., Cai, Y., Rajan, H., Modular software design with crosscutting interfaces (2006) IEEE Softw., 23 (1), pp. 51-60. , 10.1109/MS.2006.24 0740-7459
  • Zhao, J., Slicing aspect-oriented software (2002) Proc. 10th Int. Workshop on Program Comprehension IWPC '02, , Washington, DC, USA
  • NAnt: A.NET Build Tool, , http://nant.sourceforge.net, accessed May 2007
  • Mikunov, A., Rewrite MSIL code on the fly with the.NET framework profiling API (2003) MSDN Magazine, , September, Issue
  • Clement, A., Colyer, A., Kersten, M., Aspect-oriented programming with AJDT (2003) Workshop for Analysis of Aspect-Oriented Software ECOOP AAOS
  • Rajan, H., Sullivan, K., Eos: Instance-level aspects for integrated system design (2003) SIGSOFT Softw. Eng. Notes, 28 (5), pp. 297-306. , 10.1145/949952.940111 0163-5948
  • De Icaza, M., (2001) Mono Rationale-the Mono Project, , http://www.mono-project.com/Mono_Rationale, Whitpaper
  • Eddon, G., Phoenix rising (2005) MSDN Magazine, , November Issue
  • Horspool, N., The rotor.Net platform (2003) IEE Proc., Softw., 150 (5), p. 265. , 10.1049/ip-sen:20031035 1462-5970
  • Prasad, M.D., Chaudhary, B.D., AOP support for C (2003) Second AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software, , Boston, USA, March
  • Valle-Rai, R., Co, P., Gagnon, E., Hendren, L., Lam, P., Sundaresan, V., Soot - A Java bytecode optimization framework (1999) Proc. Conf. Centre for Advanced Studies on Collaborative Research CASCon '99, , Mississauga, Canada, November
  • Dahm, M., (2001) BCEL, , Technical Report B-17-98 (Freie Universität Berlin, Institut für Informatik, April)
  • Box, D., Pattison, T., (2002) Essential.Net: The Common Language Runtime, , (Addison-Wesley Professional, Boston, MA)
  • Mono Cecil, , http://www.mono-project.com/Cecil, May 2007
  • Gough, J., Corney, D., (2005) Reading and Writing PE-files with PERWAPI, , http://www.plas.fit.qut.edu.au/perwapi/files/PERWAPI.pdf
  • Cabral, B., Marques, P., Silva, L., RAIL: Code instrumentation for.NET (2005) Proc. ACM Symp. on Applied Computing, Santa Fe, , New Mexico, USA, March
  • Gil, T., Evain, J.-B., AspectDNG, , http://aspectdng.tigris.org/, accessed 2006
  • Altman, R., Cyment, A., Kicillof, N., On the need for SetPoints (2005) Eur. Interactive Workshop on Aspects in Software EIWAS 2005, , Brussels, Belgium, September
  • Noguera García, C.F., (2003) Compose* - A Runtime for the .Net Platform, , Master's, Vrije Universiteit Brussel, Belgium
  • Fraiteur, G., PostShar- An Open-source Post-compiler for .NET, , http://www.postsharorg/, accessed 2007
  • Armouti, H., Orthogonal weaving model (2005) Microsoft Research AOP Goes.NET Workshop, , Redmond, USA, November
  • Johansson, R., NAspect, , http://www.puzzleframework.com, accessed May 2007
  • Verissimo, H., Aspect, , http://www.castleproject.org/aspectsharp/index.html, accessed May 2007
  • IBATIS Project, , http://ibatis.apache.org/, Foundation, Apache Software accessed May 2007

Citas:

---------- APA ----------
Schmied, F. & Cyment, A. (2007) . Aspect-oriented weaving and the.NET common language runtime. IET Software, 1(6), 251-262.
http://dx.doi.org/10.1049/iet-sen:20070013
---------- CHICAGO ----------
Schmied, F., Cyment, A. "Aspect-oriented weaving and the.NET common language runtime" . IET Software 1, no. 6 (2007) : 251-262.
http://dx.doi.org/10.1049/iet-sen:20070013
---------- MLA ----------
Schmied, F., Cyment, A. "Aspect-oriented weaving and the.NET common language runtime" . IET Software, vol. 1, no. 6, 2007, pp. 251-262.
http://dx.doi.org/10.1049/iet-sen:20070013
---------- VANCOUVER ----------
Schmied, F., Cyment, A. Aspect-oriented weaving and the.NET common language runtime. IET Software. 2007;1(6):251-262.
http://dx.doi.org/10.1049/iet-sen:20070013