170 likes | 272 Views
In Support of an Aspect-oriented Approach to Migrating Distributed Applications. Devon M. Simmonds Computer Science Department University of North Carolina, Wilmington simmondsd@uncw.edu. Distributed Systems. C. A. B. network. Middleware-based Communication
E N D
In Support of an Aspect-oriented Approach to Migrating Distributed Applications Devon M. Simmonds Computer Science Department University of North Carolina, Wilmington simmondsd@uncw.edu
Distributed Systems C A B network • Middleware-based Communication • The Internet has helped make distributed systems pervasive.
Distributed Systems Development Context C A • Heterogeneity • hardware platforms, operating systems, network protocols, programming languages. • Proliferation of middleware technologies • Continuous evolution of middleware • .Net, SOAP, EJB, CORBA, Jini, etc. B
Distributed Systems Goals C A • Portability • Interoperability • Reusability • etc. B
A Distributed Systems Problem Coupling of middleware artifacts and functional artifacts!
Coupling: A Distributed Systems Problem Coupling makes the migration of applications difficult. In application migration the technology with which an application is developed is replaced by a different technology.
How does coupling make migration difficult? PIM ClassC ClassA ClassC ClassB ClassA Eliminate Old Middleware Refactor Application ClassC ClassB ClassA ClassC ClassA Integrate New Middleware New Distributed Application ClassD ClassB ClassD ClassB Distributed Application
Aspect-Oriented Software Development To The Rescue! Coupling’s call: Help! Help! Senor AOSD
In AOSD crosscutting functionality is isolated in modular units called aspects. Crosscutting functionality logging in org.apache.tomcat
Composition Specification Composition transformations transformations Aspect Oriented Model-driven Development Framework (AOMDF) Source Level Phase Develop source models Source primary model Source aspect models Develop primary Model mappings Develop aspect model mappings Transformation Specification Phase Aspect model mappings Primary model mappings Apply primary model mappings Apply aspect model mappings Target Level Phase Target aspect models Target primary model
AOMDDF Instance Design Design
Aspect-Oriented Development & Migration Middleware Change Non Aspect-Oriented Migration M1 to M2 Migration
Summary & Conclusion C A • AO approach to development and migration makes quality attributes more achievable • Portability, Interoperability, Reusability • Further research needed to quantify the specific benefits. • Specifying metrics In Support of an Aspect-oriented Approach to Migrating Distributed Applications B
Q u e s t i o n s ?