Middleware provides simplicity and uniformity for the development of distributed applications. However, the modularity of the architecture of middleware is starting to disintegrate and to become complicated due to the interaction of too many orthogonal concerns imposed from a wide range of application requirements. This is not due to bad design but rather due to the limitations of the conventional architectural decomposition methodologies. We introduce the principles of horizontal decomposition (HD) to address this problem with a mixed-paradigm middleware architecture. HD provides guidance for the use of conventional decomposition methods to implement the core functionalities of middleware and the use of aspect orientation to address its orthogonal properties. Our evaluation of the horizontal decomposition principles focuses on refactoring major middleware functionalities into aspects in order to modularize and isolate them from the core architecture. New versions of the middleware platform can be created through combining the core and the flexible selection of middleware aspects such as IDL data types, the oneway invocation style, the dynamic messaging style, and additional character encoding schemes. As a result, the primary functionality of the middleware is supported with a much simpler architecture and enhanced performance. Moreover, customization and configuration of the middleware for a wide-range of requirements becomes possible.
|
939
|
Aspect-oriented programming
– Kiczales, Lamping, et al.
- 1997
|
|
857
|
Component Software: Beyond Object-Oriented Programming", AddisonWesley and ACM-Press
– Szyperski
- 1997
|
|
784
|
On the criteria to be used in decomposing systems into modules
– Parnas
- 1972
|
|
625
|
Design Patterns
– Gamma, Helm, et al.
- 1995
|
|
121
|
Computational reflection
– Maes
- 1987
|
|
101
|
System-Level Power Optimization: Techniques and Tools
– Benini, Micheli
- 2000
|
|
89
|
Pattern-oriented software architecture: Patterns for concurrent and networked objects
– Schmidt, Stal, et al.
- 1996
|
|
67
|
Atlas: A case-study in building a web-based learning environment using aspect-oriented programming
– Kersten, Murphy
|
|
64
|
The Humble Programmer
– Dijkstra
- 1972
|
|
64
|
Feature interactions and formal specifications in telecommunications
– Zave
- 1993
|
|
61
|
Feature-Oriented Programming: A Fresh Look at Objects
– Prehofer
- 1997
|
|
56
|
OpenCorba: A reflective open broker
– Ledoux
- 1999
|
|
56
|
A survey of structured and object-oriented software specification methods and techniques
– Wieringa
- 1998
|
|
55
|
Large-scale AOSD for middleware
– Colyer, Clement
- 2004
|
|
55
|
An efficient component model for the construction of adaptive middleware
– Clarke, Blair, et al.
- 2001
|
|
47
|
QoS aspect languages and their runtime integration
– Loyall, Bakken, et al.
- 1998
|
|
41
|
Quantifying aspects in middleware platforms
– Zhang, Jacobsen
- 2003
|
|
40
|
An Initial Assessment of Aspectoriented Programming
– Walker, Baniassad, et al.
- 1999
|
|
29
|
Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional, 1st edition
– Fowler
- 1999
|
|
28
|
A Compositional Approach to Multiparadigm Programming
– Zave
- 1989
|
|
22
|
The Design of a Configurable and Reconfigurable Middleware Platform
– Coulson, Blair, et al.
|
|
21
|
Refactoring middleware with aspects
– Zhang, Jacobsen
|
|
18
|
Dynamic Configuration with the dynamicTAO Reflective ORB
– Monitoring
- 2000
|
|
17
|
Building Customizable Middleware Using Aspect Oriented Programming
– Hunleth, Cytron, et al.
- 2001
|
|
14
|
Building adaptive distributed applications with middleware and aspects
– Duzan, Loyall, et al.
- 2004
|
|
14
|
Design and Implementation of a Composable Reflective Middleware Framework
– VENKATASUBRAMANIAN, DESHPANDE, et al.
- 2001
|
|
12
|
The COMQUAD component model: enabling dynamic selection of implementations by weaving non-functional aspects
– Göbel, Pohl, et al.
- 2004
|
|
10
|
Reflection, self-awareness and self-healing in OpenORB
– Blair, Coulson, et al.
- 2002
|
|
9
|
Refactoring middleware systems: A case study
– Zhang, Jacobsen
- 2003
|
|
6
|
Aspects and Crosscutting in Layered Middleware Systems
– Bergmans, Aksit
- 2000
|
|
6
|
Premkumar Devanbu. Dado: enhancing middleware to support crosscutting features in distributed, heterogeneous systems
– Wohlstadter, Jackson
- 2003
|
|
5
|
Applying corba in a contemporary embedded military combat system
– DiPalma, Kelly
- 2001
|
|
4
|
Customizable Middleware for Modular Software
– Astley, Sturman, et al.
- 2001
|
|
4
|
The aspectIX approach to quality-of-service integration into CORBA
– Hauck, Becker, et al.
- 1999
|
|
2
|
Structured design methodologies
– Bergland
- 1978
|
|
2
|
Achieving ilities. URL: http://ic.arc.nasa.gov/~filman/text/oif/ wcsa-achieving-ilities.pdf
– Filman
- 1999
|
|
2
|
AspectTAZ: A new approach based on aspect-oriented programming for object-oriented industrial messaging services design
– Teboul, Pawlak, et al.
- 2002
|
|
1
|
Corba in the palm of your hand whitepaper,vertel corporation
– Caron, Herscher, et al.
|
|
1
|
Geoff Coulson et al. The design and implementation of open orb 2
– Blair
|