skip to main content
10.1145/1233843.1233849acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
Article

Multiple concerns in aspect-oriented language design: a language engineering approach to balancing benefits, with examples

Published:12 March 2007Publication History

ABSTRACT

Some in the aspect-oriented community view a programming language as aspect-oriented only if it allows programmers to perfectly eliminate scattering and tangling. That is, languages that do not allow programmers to have maximal quantification and perfect obliviousness are not viewed as aspect-oriented. On the other hand, some detractors of aspect-oriented software development view maximal quantification and perfect obliviousness as causing problems, such as difficulties in reasoning or maintenance.

Both views ignore good language design and engineering practice, which suggests trying to simultaneously optimize for several goals. That is, designers of aspect-oriented languages that are intended for wide use should be prepared to compromise quantification and obliviousness to some (small) extent, if doing so helps programmers solve other problems. Indeed, balancing competing requirements is an essential part of engineering. Simultaneously optimizing for several language design goals becomes possible when one views these goals, such as minimizing scattering and tangling, not as all-or-nothing predicates, but as measures on a continuous scale. Since most language design goals will only be partially met, it seems best to call them "concerns."

References

  1. J. Aldrich. Open modules: Modular reasoning about advice. In A. P. Black, editor, ECOOP 2005 -- Object-Oriented Programming 19th European Conference, Glasgow, UK, volume 3586 of Lecture Notes in Computer Science, pages 144--168. Springer-Verlag, Berlin, July 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. AspectJ Team. The AspectJ programming guide. Version 1.5.3., Available from http://eclipse.org/aspectj, 2006.Google ScholarGoogle Scholar
  3. L. Bergmans and M. Aksit. Composing crosscutting concerns using Composition Filters. Commun. ACM, 44(10):51--57, Oct. 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. L. Bergmans and M. Aksit. Principles and design rationale of Composition Filters. In R. Filman, T. Elrad, S. Clarke, and M. Aksit, editors, Aspect-Oriented Software Development. Addison-Wesley, 2004.Google ScholarGoogle Scholar
  5. C. Clifton. A design discipline and language features for modular reasoning in aspect-oriented programs. Technical Report 05--15, Department of Computer Science, Iowa State University, 226 Atanasoff Hall, Ames, Iowa 50011, July 2005.Google ScholarGoogle ScholarCross RefCross Ref
  6. C. Clifton and G. T. Leavens. Observers and assistants: A proposal for modular aspect-oriented reasoning. In G. T. Leavens and R. Cytron, editors, FOAL 2002 Proceedings: Foundations of Aspect-Oriented Languages Workshop at AOSD 2002, number 02--06 in Technical Reports, pages 33--44. Department of Computer Science, Iowa State University, Apr. 2002.Google ScholarGoogle Scholar
  7. C. Clifton and G. T. Leavens. Spectators and assistants: Enabling modular aspect-oriented reasoning. Technical Report 02--10, Iowa State University, Department of Computer Science, Oct. 2002.Google ScholarGoogle Scholar
  8. C. Clifton and G. T. Leavens. A design discipline and language features for formal modular reasoning in aspect-oriented programs. Technical Report 05-23, Dept. of Computer Science, Iowa State University, Ames, IA, 50011, Jan. 2005.Google ScholarGoogle ScholarCross RefCross Ref
  9. C. Clifton, G. T. Leavens, and J. Noble. Ownership and effects for more effective reasoning about aspects. Technical Report 06--35, Dept. of Computer Science, Iowa State University, Ames, IA, 50011, Dec. 2006. To appear in ECOOP 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. E. W. Dijkstra. Go to statement considered harmful. Commun. ACM, 11(3):147--148, Mar. 1968. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. R. E. Filman and D. P. Friedman. Aspect-oriented programming is quantification and obliviousness. In OOPSLA 2000 Workshop on Advanced Separation of Concerns, Minneapolis, MN, Oct. 2000.Google ScholarGoogle Scholar
  12. R. E. Filman and D. P. Friedman. Aspect-oriented programming is quantification and obliviousness. In M. Akşit, S. Clarke, T. Elrad, and R. E. Filman, editors, Aspect-Oriented Software Development. Addison-Wesley, Reading, MA, 2004.Google ScholarGoogle Scholar
  13. R. E. Filman and K. Havelund. The effect of AOP on software engineering, with particular attention to OIF and event quantification. In SPLAT '03, Mar. 2003. http://tinyurl.com/2euk95.Google ScholarGoogle Scholar
  14. L. Flon. On research in structured programming. ACM SIGPLAN Notices, 10(10):16--17, Oct. 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. J. B. Goodenough. Exception handling: Issues and a proposed notation. Commun. ACM, 18(12):683--696, Dec. 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. W. G. Griswold, K. Sullivan, Y. Song, M. Shonle, N. Tewari, Y. Cai, and H. Rajan. Modular software design with crosscutting interfaces. IEEE Software, pages 51--60, Jan/Feb 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. S. Gudmundson and G. Kiczales. Addressing practical software development issues in AspectJ with a pointcut interface. In ECOOP 2001 Workshop on Advanced Separation of Concerns, 2001.Google ScholarGoogle Scholar
  18. G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. An overview of AspectJ. In J. L. Knudsen, editor, ECOOP 2001 -- Object-Oriented Programming 15th European Conference, Budapest Hungary, volume 2072 of Lecture Notes in Computer Science, pages 327--353. Springer-Verlag, Berlin, June 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. G. Kiczales and M. Mezini. Aspect-oriented programming and modular reasoning. In Proc. of the 27th International Conference on Software Engineering, pages 49--58. ACM, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. D. E. Knuth. Structured programming with goto statements. ACM Comput. Surv., 6(4):261--301, Dec. 1974. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. R. Laddad. AspectJ in Action. Manning Publications Co., Grennwich, Conn., 2003.Google ScholarGoogle Scholar
  22. D. Larochelle, K. Scheidt, K. Sullivan, Y. Wei, J. Winstead, and A. Wood. Join point encapsulation. In SPLAT '03, Mar. 2003. http://tinyur1.com/26on14.Google ScholarGoogle Scholar
  23. B. H. Liskov and A. Snyder. Exception handling in CLU. IEEE Transactions on Software Engineering, SE-5(6):546--558, Nov. 1979.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. R. E. Lopez-Herrejon and D. Batory. Improving incremental development in AspectJ by bounding quantification. In SPLAT '05, Mar. 2005. http://tinyurl.com/25shp3.Google ScholarGoogle Scholar
  25. R. Milner. A theory of type polymorphism in programming. J. Comput. Syst. Sci., 17(3):348--375, Dec. 1978.Google ScholarGoogle ScholarCross RefCross Ref
  26. H. Ossher. Confirmed join points. In SPLAT '05, Mar. 2005. http://tinyurl.com/2xzffu.Google ScholarGoogle Scholar
  27. G. L. Steele, Jr. Building interpreters by composing monads. In Conference Record of POPL '94: 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, Oregon, pages 472--492. ACM, Jan. 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. F. Steimann. The paradoxical success of aspect-oriented programming. In OOPSLA 2006: Proceedings of the 21st International Conference on Object-oriented Programming Systems, Languages, and Applications, ACM SIGPLAN Notices, pages 481--497, New York, NY, Oct. 2006. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. K. Sullivan, W. Griswold, Y. Song, Y. Cai, M. Shonle, N. Tewari, and H. Rajan. Information hiding interfaces for aspect-oriented design. In Proc. of the 13th ACM SIGSOFT symposium on the Foundations of software engineering (FSE-13), pages 166--175, Lisbon, Portugal, May 2005. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. P. L. Tarr, H. Ossher, W. H. Harrison, and S. M. Sutton Jr. N degrees of separation: Multi-dimensional separation of concerns. In ICSE '99: Proceedings of the 21st international conference on Software engineering, pages 107--119, New York, NY, 1999. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Multiple concerns in aspect-oriented language design: a language engineering approach to balancing benefits, with examples

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in
              • Published in

                cover image ACM Other conferences
                SPLAT '07: Proceedings of the 5th workshop on Software engineering properties of languages and aspect technologies
                March 2007
                63 pages
                ISBN:9781595936561
                DOI:10.1145/1233843

                Copyright © 2007 ACM

                Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 12 March 2007

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • Article

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader