University of Twente Student Theses


Performing transformations on .NET intermediate language code

Boschman, S.R. (2006) Performing transformations on .NET intermediate language code.

[img] PDF
Abstract:To express crosscutting concerns in a clear manner, the aspect-oriented programming (AOP)paradigm was introduced. In AOP languages, crosscutting concerns are defined in aspects. These aspects are composed, or woven, with components. These components encapsulate functionality expressed in traditional object-oriented languages. As the aspect language and component language can be separated, an AOP solution can be implemented independent of the component language. A suitable platform for such an AOP solution is the .NET Framework, since, in principle, this platform can support a wide range of different component languages (i.e. programming languages). This thesis will describe the development of a tool that can weave the aspects with the components in the .NET Framework environment. The first step is to discuss the Common Intermediate Language (CIL) in more detail, as all programming languages in the .NET Framework map to this CIL. The second step is to create a mapping from AOP constructs to CIL code structures. The third step provides an overview of possible approaches to perform the weaving of aspects and base components. One of the weaving approaches is based on modifying the CIL code stored in binary files, called assemblies. The fourth, and last, step is the discussion of the creation of the weaver tool. The result is the CILWeaving Tool, which consists of two parts. The first part is the PE Weaver, responsible for creating textual IL files from the assemblies and recreating the assemblies after weaving. The second part is the IL Weaver, which performs the actual weaving on the textual IL files. To define the weave operations that have to be performed by the IL Weaver, a weave specification file has to be supplied. This weave specification file allows the definition of weave points, which are based on AOP constructs.
Item Type:Essay (Master)
Faculty:EEMCS: Electrical Engineering, Mathematics and Computer Science
Subject:54 computer science
Programme:Computer Science MSc (60300)
Link to this item:
Export this item as:BibTeX
HTML Citation
Reference Manager


Repository Staff Only: item control page