University of Twente Student Theses
Fine-grained Join Point Model in Compose
Conradi, Olaf (2006) Fine-grained Join Point Model in Compose.
PDF
1MB |
Abstract: | The goal of software engineering is to solve a problem by implementing a software system. A recurring theme in software engineering is one of modularization: separation and localization of concerns, where concerns are all things that are of interest in solving the problem. Object-oriented software development suffers from the tyranny of the dominant decomposition. Aspect-oriented programming (AOP) is an approach that solves that problem of crosscutting concerns. A crosscutting concern has its implementation scattered throughout the program. Crosscutting usually results in code tangling, where the code for concerns becomes intermixed. The Compose? project implements an AOP language based on the composition filters model. Using Compose?, it is possible to define concerns that superimpose filter modules on existing classes in the base program. The granularity of the join point model of Compose? is the interface of objects: filter modules can intercept and modify message calls, thus enabling concerns to change the behavior of the program. AOP shows improvements in modularity, despite some shortcomings in expressiveness. Some of the shortcomings are the arranged patterns problem and the problem of jumping aspects. The arranged patterns problem is caused by tight coupling between a concern and the program. An example is defining a crosscutting concern by enumerating the join points by name or according to certain naming conventions. This tight coupling harms evolvability of the program and the reusability of the concern. Jumping aspects is a crosscutting phenomenon which occurs because code needs to be added to components depending on their usage context. An example is enabling or disabling a concern depending on the control flow at run-time. The problem with manually coding an applicability control-mechanism into concern code, is that one is patching the weak expressiveness of the join point model. |
Item Type: | Essay (Master) |
Clients: | TRESE: Twente Research & Education on Software Engineering |
Faculty: | EEMCS: Electrical Engineering, Mathematics and Computer Science |
Subject: | 54 computer science |
Programme: | Computer Science MSc (60300) |
Link to this item: | https://purl.utwente.nl/essays/57213 |
Export this item as: | BibTeX EndNote HTML Citation Reference Manager |
Repository Staff Only: item control page