An Evaluation of AOP for Java-based Real-time Systems Development
TCD-CS-2003-62.pdf (PDF) 488.7Kb
Advances in programming language have improved the software developer?s ability to achieve separation of concerns (SOC). Although object-oriented (OO) technology offers greater ability than previous language paradigms to achieve this goal, it still has difficulty localising concerns that do not fit naturally into a single program module. Aspect-oriented programming (AOP) introduces a new style of decomposition for capturing such crosscutting behaviour that further enhances a software developer?s ability to achieve SOC. Although studies have shown that AOP is beneficial to many OO systems, it has yet to be proven for real-time systems development, where systems are bound by strict temporal constraints. Languages such as Real-time Java have encouraged the use of OO languages in real-time system development, but may result in codebases that significantly differ from conventional software systems due to the necessity of additional real-time constructs. The goal of the dissertation was to evaluate the use of AOP in the development of Java-based real-time systems. The main focus was on the seven enhanced areas introduced by the Realtime Specification of Java. The Sentient Traffic Simulator application developed by the Distributed Systems Group in Trinity College, was extended to satisfy specific temporal constraints, with a subsequent re-implementation using AOP enhancements. The overall development process involved an initial analysis of areas in the original system that required real-time behaviour and the later identification of crosscutting real-time functionality that exists in the codebase. Evaluation of the effectiveness of AOP for Real-time Java was performed to illustrate the impact of this paradigm on understandability, maintainability, reusability, and testability attributes. Based on the results gathered, it has been concluded that AOP does provide useful enhancements but the improvements shown are significantly less impressive than previous studies carried out for AOP and OOP. The overall effectiveness of AOP is highly application specific and dependant on the amount of aspectual behaviour exhibited in the codebase of the for Java-based real-time system.
Author: Tsang, Shiu Lun
Availability:Full text available