272x Filetype PDF File size 1.83 MB Source: essay.utwente.nl
TwenteResearchandEducationonSoftwareEngineering,
DepartmentofComputerScience,
Faculty of Electrical Engineering, Mathematics and Computer Science,
University of Twente
Performingtransformations on .NET
Intermediate Language code
S.R. Boschman
Enschede, August23, 2006
Prof. dr. ir. M. Aksit
Dr. ir. L.M.J. Bergmans
¨
Ir. P.E.A. Durr
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.
Theseaspects are composed, or woven, with components. These components encapsulate func-
tionality 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 com-
ponents in the .NET Framework environment. The first step is to discuss the Common Inter-
mediateLanguage(CIL)inmoredetail,asallprogramminglanguagesinthe.NETFramework
maptothisCIL.ThesecondstepistocreateamappingfromAOPconstructstoCILcodestruc-
tures. 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.
Theresultis the CIL Weaving 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.
no reviews yet
Please Login to review.