|
ABSTRACT
Middleware technologies such as Web Services, CORBA and DCOM have been very successful in solving distributed computing problems for a large family of application domains. As middleware systems are getting widely adopted and more functionally mature, it is also increasingly difficult for the architecture of middleware to achieve a high level of adaptability and configurability, due to the limitations of traditional software decomposition methods. Aspect oriented programming has brought us new design perspectives because it permits the superimpositions of multiple abstraction models on top of one another. It is a very powerful technique in separating and simplifying design concerns. In this paper, we first show that, through the quantification of aspects in the legacy implementations, the modularity of middleware architecture is greatly hindered by the ubiquitous existence of tangled logic. We then go one step further by factoring out a number of aspects identified in the mining work and re-implementing them as aspect programs. The aspect oriented re-factorization allows us to apply a set of software engineering metrics to quantify the changes of the re-factored system in both the structural complexity and the runtime performance. The aspect oriented re-factoring proves that the aspect oriented programming is capable of composing orthogonal design requirements. The final "woven" system is able to correctly provide both the fundamental functionality and the "aspectized" functionality with negligible overhead and a leaner architecture. Further more, the configurability of middleware is dramatically increased because the "aspectized" features can be configured in and out during the compile-time
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Fabio Kon , Manuel Román , Ping Liu , Jina Mao , Tomonori Yamane , Claudio Magalhã , Roy H. Campbell, Monitoring, security, and dynamic configuration with the dynamicTAO reflective ORB, IFIP/ACM International Conference on Distributed systems platforms, p.121-143, April 03-07, 2000, New York, New York, United States
|
| |
2
|
|
| |
3
|
Guy Bernard Erick Putrycz. Using aspect oriented programming to build a portable load balancing service.
|
| |
4
|
Object Management Group. The Common Object Request Broker: Architecture and Specification. December 2001.
|
| |
5
|
Hans-Arno Jacobsen. Middleware architecture design based on aspects, the open implementation metaphor and modularity. Workshop on Aspect-Oriented Programming and Separation of Concerns, August 2001. Lancaster, UK.
|
 |
6
|
|
| |
7
|
T. Ledoux. OpenCorba: a reflective open broker. Lecture Notes in Computer Science, 1999.
|
| |
8
|
Robert Kelly Louis DiPalma. Applying corba in a contemporary embedded military combat system. OMG's Second Workshop on Real-time And Embedded Distributed Object Computing, June 2001.
|
| |
9
|
Arthur H. McCabe, Thomas J. Watson. Software complexity. Crosstalk, Journal of Defense Software Engineering 7, (12):5--9, December 1994.
|
| |
10
|
Gail C. Murphy Mik Kersten. Atlas: A case study in building a web-based learning environment using aspect-oriented programming. ACM, 1999.
|
| |
11
|
|
 |
12
|
|
| |
13
|
Erich Gamma Richard Helm Ralph Johnson John Vlissides. Design Patterns. Addison-Wesley, 1995.
|
| |
14
|
Charles Zhang and Hans-Arno Jacobsen. Aspectizing middleware platforms. Technical Report CSRG-466, University of Toronto, January 2003.
|
| |
15
|
Charles Zhang and Hans-Arno Jacobsen. Re-factoring middleware systems: A case study. Technical Report CSRG-465, University of Toronto, January 2003.
|
CITED BY 24
|
|
|
|
|
|
|
|
|
|
|
Wasif Gilani , Nabeel Hasan Naqvi , Olaf Spinczyk, On adaptable middleware product lines, Proceedings of the 3rd workshop on Adaptive and reflective middleware, p.207-213, October 19-19, 2004, Toronto, Ontario, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Nelio Cacho , Thais Batista , Alessandro Garcia , Claudio Sant'Anna , Gordon Blair, Improving modularity of reflective middleware with aspect-oriented programming, Proceedings of the 6th international workshop on Software engineering and middleware, November 10-10, 2006, Portland, Oregon
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Daniel Lohmann , Jochen Streicher , Olaf Spinczyk , Wolfgang Schröder-Preikschat, Interrupt synchronization in the CiAO operating system: experiences from implementing low-level system policies by AOP, Proceedings of the 6th workshop on Aspects, components, and patterns for infrastructure software, p.6-es, March 12-16, 2007, Vancouver, British Columbia, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Jennifer Munnelly , Siobhán Clarke, Infrastructure for ubiquitous computing: improving quality with modularisation, Proceedings of the 2008 AOSD workshop on Aspects, components, and patterns for infrastructure software, p.1-7, March 31-April 08, 2008, Brussels, Belgium
|
|
|
|
|
|
|
|
|
|
|