ABSTRACT
Current general aspect-oriented programming solutions fall short of helping the problem of separation of concerns for several concern domains. Because of this limitation good solutions for these concern domains do not get used and the opportunity to benefit from separation of these concerns is missed. By using XAspects, a plug-in mechanism for domain-specific aspect languages, separation of concerns can be achieved at a level beyond what is possible for object-oriented programming languages. As a result, XAspects allows for certain domain-specific solutions to be used as easily as a new language feature.
- XAspects Home Page. http://www.ccs.neu.edu/research/demeter/xaspects. Continuously updated.]]Google Scholar
- J. Baker and W. C. Hsieh. Maya: Multiple-Dispatch Syntax Extension in Java. In Proceeding of the ACM SIGPLAN 2002 Conference on Programming language design and implementation, pages 270--281. ACM Press, 2002.]] Google ScholarDigital Library
- D. Batory, D. Brant, M. Gibson, and M. Nolen. ExCIS: An Integration of Domain-Specific Languages and Feature-Oriented Programming. www.isis.vanderbilt.edu/sdp, Nov. 2001.]]Google Scholar
- D. Batory, B. Lofaso, and Y. Smaragdakis. JTS: tools for implementing domain-specific languages. In Proceedings Fifth International Conference on Software Reuse, pages 143--153, Victoria, BC, Canada, 2--5 1998. IEEE.]] Google ScholarDigital Library
- A. Bryant, A. Catton, K. D. Volder, and G. C. Murphy. Explicit programming. In Proceedings of the 1st international conference on Aspect-oriented software development, pages 10--18. ACM Press, 2002.]] Google ScholarDigital Library
- S. Clarke, W. Harrison, H. Ossher, and P. Tarr. Subject-oriented design: towards improved alignment of requirements, design, and code. In Proceedings of the 1999 ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pages 325--339. ACM Press, 1999.]] Google ScholarDigital Library
- C. Clifton, G. T. Leavens, C. Chambers, and T. Millstein. MultiJava: Modular Open Classes and Symmetric Multiple Dispatch for Java. In Proceedings of the conference on Object-oriented programming, systems, languages, and applications, pages 130--145. ACM Press, 2000.]] Google ScholarDigital Library
- K. Czarnecki and U. Eisenecker. Generative Programming: Methods, Tools and Applications. Addison-Wesley, 2000.]] Google ScholarDigital Library
- E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns---Elements of Reusable Object-Oriented Software. Addison-Wesley Publishing Company, New York, NY, 1994.]] Google ScholarDigital Library
- J. Gray, T. Bapty, S. Neema, and J. Tuck. Handling crosscutting constraints in domain-specific modeling. Communications of the ACM, 44(10):87--93, October 2001.]] Google ScholarDigital Library
- J. Hannemann and G. Kiczales. Design Pattern Implementation in Java and AspectJ. In Proceedings of the 17th ACM conference on Object-oriented programming, systems, languages, and applications, pages 161--173. ACM Press, 2002.]] Google ScholarDigital Library
- W. Harrison and H. Ossher. Subject-oriented programming (A critique of pure objects). In Proceedings OOPSLA '93, ACM SIGPLAN Notices, pages 411--428, Oct. 1993. Published as Proceedings OOPSLA '93, ACM SIGPLAN Notices, volume 28, number 10.]] Google ScholarDigital Library
- J. Hugunin. The Next Steps For Aspect-Oriented Programming Languages. www.isis.vanderbilt.edu/sdp, Nov. 2001.]]Google Scholar
- K. Lieberherr, D. H. Lorenz, and P. Wu. A Case for Statically Executable Advice: Checking the Law of Demeter With AspectJ. In M. Aksit, editor, Second International Conference on Aspect-Oriented Software Development, Boston, 2003. ACM Press.]] Google ScholarDigital Library
- K. J. Lieberherr and B. Patt-Shamir. Traversals of Object Structures: Specification and Efficient Implementation. Technical Report NU-CCS-97-15, College of Computer Science, Northeastern University, Boston, MA, Sep. 1997. http://www.ccs.neu.edu/research/demeter/AP-Library/.]]Google Scholar
- K. J. Lieberherr, B. Patt-Shamir, and D. Orleans. Traversals of Object Structures: Specification and Efficient Implementation. ACM Trans. Prog. Lang. Syst., 2003. to appear.]] Google ScholarDigital Library
- C. V. Lopes. Graph-based optimizations for parameter passing in remote invocations. In L.-F. Cabrera and M. Theimer, editors, 4th International Workshop on Object Orientation in Operating Systems, pages 179--182, Lund, Sweden, August 1995. IEEE, Computer Society Press.]] Google ScholarDigital Library
- C. V. Lopes. D: A Language Framework for Distributed Programming. PhD thesis, Graduate School of the College of Computer Science, Northeastern University, Boston, MA, 1997.]]Google Scholar
- C. V. Lopes and K. J. Lieberherr. Abstracting process-to-function relations in concurrent object-oriented applications. In R. Pareschi and M. Tokoro, editors, European Conference on Object-Oriented Programming, pages 81--99, Bologna, Italy, 1994. Springer Verlag, Lecture Notes in Computer Science.]] Google ScholarDigital Library
- S. Matsuoka, H. Ogawa, K. Shimura, Y. Kimura,\balancecolumns K. Hotta, and H. Takagi. OpenJIT A Reflective Java JIT compiler. In OOPSLA '98, 1998.]]Google Scholar
- A. Mendhekar, G. Kiczales, and J. Lamping. RG: A Case-Study for Aspect-Oriented Programming. Technical Report SPL97-009, Xerox Palo Alto Research Center, February 1997.]]Google Scholar
- D. Orleans and K. Lieberherr. AP Library: The Core Algorithms of AP. Technical report, Northeastern University, May 1999. http://www.ccs.neu.edu/research/demeter/AP-Library.]]Google Scholar
- H. Ossher and P. Tarr. Using multidimensional separation of concerns to (re)shape evolving software. Communications of the ACM, 44(10):43--50, October 2001.]] Google ScholarDigital Library
- R. E. Schantz and D. C. Schmidt. Research Advances in Middleware for Distributed Systems: State of the Art. IFIP World Computer Congress, August 2002.]] Google ScholarDigital Library
- C. Simonyi. The death of computer languages. Technical report, Mircosoft Research, 1995. ftp://ftp.research.microsoft.com/pub/tech-reports/Summer95/TR-95-52.doc.]]Google Scholar
- Y. Smaragdakis and D. Batory. DiSTiL: A transformation library for data structures. In Domain-Specific Languages (DSL) Conference, pages 257--270, 1997.]] Google ScholarDigital Library
- J. Sung. Aspectual Concepts. Technical Report NU-CCS-02-06, Northeastern University, June 2002. Master's Thesis, http://www.ccs.neu.edu/home/lieber/theses-index.html.]]Google Scholar
- P. Tarr, H. Ossher, W. Harrison, and S. M. Sutton. N Degrees of Separation: Multi-Dimensional Separation of Concerns. In International Conference on Software Engineering, pages 107--119, Los Angeles, 1999. ACM.]] Google ScholarDigital Library
- N. Wang, D. C. Schmidt, A. Gokhale, C. D. Gill, B. Natarajan, C. Rodrigues, J. Loyall, and R. E. Schantz. Total Quality of Service Provisioning in Middleware and Applications. The Journal of Microprocessors and Microsystems, 26(9--10), March 2003.]]Google Scholar
- G. Wiederhold and J. Janninck. Composing diverse ontologies. In Proc. 8 th IFIP working group on databases working conference on database semantics, Rotorua(NZ), 1999. http://www-db.stanford.edu/SKC/publications/ifip99.html.]]Google Scholar
- J. A. Zinky, D. E. Bakken, and R. D. Schantz. Architectural Support for Quality of Service for CORBA Objects. Theory and Practice of Systems, John Wiley and Sons, Inc., 3(1):19 pages, January 1997.]]Google Scholar
- The AspectJ website. http://www.eclipse.org/aspectj.]]Google Scholar
- The Concern Manipulation Environment website. http://www.research.ibm.com/cme.]]Google Scholar
- The DAJ website. http://www.ccs.neu.edu/research/demeter/DAJ.]]Google Scholar
- The DemeterJ website. http://www.ccs.neu.edu/research/demeter.]]Google Scholar
- Java Web Services, Sun Microsystems. http://java.sun.com/webservices. Continuously updated.]]Google Scholar
Index Terms
- XAspects: an extensible system for domain-specific aspect languages
Recommendations
A Taxonomy of Domain-Specific Aspect Languages
Domain-Specific Aspect Languages (DSALs) are Domain-Specific Languages (DSLs) designed to express crosscutting concerns. Compared to DSLs, their aspectual nature greatly amplifies the language design space. We structure this space in order to shed light ...
Modularizing invasive aspect languages
DSAL '08: Proceedings of the 2008 AOSD workshop on Domain-specific aspect languagesIn domain-specific aspect languages we observe that aspects are translated to base code and subsequently require a complex integration into base code while guaranteeing the correctness of the aspect and the base code in the woven code. We call this ...
Untangling crosscutting concerns in domain-specific languages with domain-specific join points
DSAL '09: Proceedings of the 4th workshop on Domain-specific aspect languagesLike programs written in general-purpose languages, programs written in DSLs may also suffer from tangling and scattering in the presence of domain-specific crosscutting concerns. This paper presents an architecture that supports aspect-oriented ...
Comments