Large-scale AOSD for middleware
Proceedings of the 3rd international conference on Aspect-oriented software development
PRISM is research in aSpect mining
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Resolving feature convolution in middleware systems
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Optimization aspects in network simulation
Proceedings of the 5th international conference on Aspect-oriented software development
Crosscutting score: an indicator metric for aspect orientation
Proceedings of the 44th annual Southeast regional conference
Improving modularity of reflective middleware with aspect-oriented programming
Proceedings of the 6th international workshop on Software engineering and middleware
Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
Efficiently mining crosscutting concerns through random walks
Proceedings of the 6th international conference on Aspect-oriented software development
Dynamic weaving for runtime adaptation in middleware
MAI '07 Proceedings of the 1st workshop on Middleware-application interaction: in conjunction with Euro-Sys 2007
Collocation optimizations in an aspect-oriented middleware system
Journal of Systems and Software
Experiences with open overlays: a middleware approach to network heterogeneity
Proceedings of the 3rd ACM SIGOPS/EuroSys European Conference on Computer Systems 2008
The case for aspect-oriented reflective middleware
Proceedings of the 6th international workshop on Adaptive and reflective middleware: held at the ACM/IFIP/USENIX International Middleware Conference
Integration of dynamic AOP into the OSGi service platform
Proceedings of the 2nd workshop on Middleware-application interaction: affiliated with the DisCoTec federated conferences 2008
Applying patterns to build a lightweight middleware for embedded systems
Proceedings of the 2006 conference on Pattern languages of programs
DeXteR: an extensible framework for declarative parameter passing in distributed object systems
Proceedings of the 9th ACM/IFIP/USENIX International Conference on Middleware
Generic middleware substrate through modelware
Proceedings of the ACM/IFIP/USENIX 2005 International Conference on Middleware
Patterns for refactoring to aspects: an incipient pattern language
Proceedings of the 14th Conference on Pattern Languages of Programs
ECSA'10 Proceedings of the 4th European conference on Software architecture
Aspect-oriented modelling for distributed systems
Proceedings of the 14th international conference on Model driven engineering languages and systems
Expressive and Extensible Parameter Passing for Distributed Object Systems
ACM Transactions on Software Engineering and Methodology (TOSEM)
Alice: modularization of middleware using aspect-oriented programming
SEM'04 Proceedings of the 4th international conference on Software Engineering and Middleware
Towards the development of ubiquitous middleware product lines
SEM'04 Proceedings of the 4th international conference on Software Engineering and Middleware
An aspect-oriented communication middleware system
OTM'05 Proceedings of the 2005 OTM Confederated international conference on On the Move to Meaningful Internet Systems: CoopIS, COA, and ODBASE - Volume Part II
Using AOP to customize a reflective middleware
OTM'05 Proceedings of the 2005 OTM Confederated international conference on On the Move to Meaningful Internet Systems: CoopIS, COA, and ODBASE - Volume Part II
Lean and efficient system software product lines: where aspects beat objects
Transactions on Aspect-Oriented Software Development II
Enabling on demand deployment of middleware services in componentized middleware
CBSE'10 Proceedings of the 13th international conference on Component-Based Software Engineering
Generic middleware substrate through modelware
Middleware'05 Proceedings of the ACM/IFIP/USENIX 6th international conference on Middleware
Hi-index | 0.00 |
Middleware platforms, such as Web services, J2EE, CORBA, and DCOM, have become increasingly popular during the last decade. They have been very successful in solving distributed computing problems for a large family of application domains. The architecture of middleware systems have gone through many significant cycles of evolution, both in terms of the completeness of functionality and the range of adoptions for different types of platforms. However, at the same time, it is getting increasingly difficult to achieve and to maintain a high level of adaptability and configurability because the structure of the middleware architecture is becoming overly complicated and rigid. We attribute that problem to the limitations of traditional software decomposition methods. Aspect-oriented programming, on the contrary, has introduced new design perspectives that permit the superimpositions of different abstraction models on top of one another. This is a very powerful technique for separating and simplifying design concerns. In our effort of applying principles of aspect orientation to the middleware architecture, we first pragmatically analyze the use of aspects in the middleware architecture. We then show that aspects are the correct remedy for the above outlined middleware problems by quantifying crosscutting concerns in the legacy implementations of several prominent middleware systems. Our aspect analysis results strongly indicate that modularity of middleware architecture is greatly hindered by the wide existence of tangled logic. To go one step further, we factor out a number of crosscutting concerns identified in the mining process, reimplement them as aspects, and superimpose them back into the refactored architecture. This allows us to use a set of software engineering metrics to quantify the refactorization in terms of changes in the structural complexity, modularity, and performance of the resulting system. This aspect-oriented refactoring proves that aspect orientation 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 an overall leaner architecture. Furthermore, the "aspectized" feature can be configur- ed in and out during compile-time, which greatly enhances the configurability of the architecture.