Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1353482.1353489acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

Reasoning about aspects with common sense

Published:31 March 2008Publication History

ABSTRACT

There has been a lot of debate about the modularity of aspect-oriented programs, and in particular the ability to reason about such programs in a modular way, although it has never been defined precisely what modular reasoning means. This work analyzes what it means to reason about a program, and separates "modular reasoning" into several well-defined properties of a reasoning model.

A comparison of an OO language semantics with an AO language semantics with respect to these properties reveals that explanations of AOP that are based on weaving are a major obstacle to reasoning about AO programs in a modular way. We argue that a more modular semantics that is easier to reason about can be given to AO programs if we renounce the monotonicity of the corresponding reasoning system - a sacrifice that is well-known in artificial intelligence to model "common sense" reasoning. More generally, we claim that AOP should be understood as a form of nonmonotonic knowledge representation.

References

  1. J. Aldrich. Open modules: Modular reasoning about advice. In ECOOP'05, Lecture Notes in Computer Science, pages 144--168. Springer, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. G. Amati, L. C. Aiello, and F. Pirri. Defaults as restrictions on classical Hilbert-style proofs. Journal of Logic, Language and Information, 3(4):303--326, 1994.Google ScholarGoogle ScholarCross RefCross Ref
  3. G. Antoniou. Non-monotonic reasoning. MIT Press, 1996.Google ScholarGoogle Scholar
  4. G. Antoniou. A tutorial on default logics. ACM Comput. Surv., 31(4):337--359, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. G. Brewka. Reasoning about priorities in default logic. In Proceedings of the 12th national conference on Artificial intelligence (AAAI), pages 940--945. American Association for Artificial Intelligence, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. G. Brewka. Well-founded semantics for extended logic programs with dynamic preferences. Journal of Artificial Intelligence Research, 4:19--36, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. L. Cardelli. Program fragments, linking, and modularization. In POPL '97: Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pages 266--277, New York, NY, USA, 1997. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. K. L. Clark. Negation as failure. In Logic and Data Bases, pages 293--322, 1977.Google ScholarGoogle Scholar
  9. C. Clifton and G. T. Leavens. Obliviousness, modular reasoning, and the behavioral subtyping analogy. In Workshop on Software engineering Properties of Languages for Aspect Technologies (SPLAT!) at AOSD 2003., 2003.Google ScholarGoogle Scholar
  10. P. M. Dung and T. C. Son. An argument-based approach to reasoning with specificity. Artif. Intell., 133(1--2):35--85, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. M. Goldman and S. Katz. Maven: Modular aspect verification. In TACAS, Springer LNCS 4424, pages 308--322, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. C. A. R. Hoare. An axiomatic basis for computer programming. Commun. ACM, 12(10):576--580, 1969. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. A. Igarashi, B. Pierce, and P. Wadler. Featherweight Java: A minimal core calculus for Java and GJ. ACM Transactions on Programming Languages and Systems, 23(3):396--450, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. R. Jagadeesan, A. Jeffrey, and J. Riely. A calculus of untyped aspect-oriented programs. In ECOOP 2003 - Object-Oriented Programming, 17th European Conference, pages 54--73, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  15. G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. An overview of AspectJ. In ECOOP '01: Proceedings of the 15th European Conference on Object-Oriented Programming, pages 327--353, London, UK, 2001. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. G. Kiczales and M. Mezini. Aspect-oriented programming and modular reasoning. In ICSE '05: Proceedings of the 27th international conference on Software engineering, pages 49--58, New York, NY, USA, 2005. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. S. Kraus, D. J. Lehmann, and M. Magidor. Nonmonotonic reasoning, preferential models and cumulative logics. Artif. Intell., 44(1--2):167--207, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. S. Krishnamurthi, K. Fisler, and M. Greenberg. Verifying aspect advice modularly. In SIGSOFT FSE'04, pages 137--146. ACM, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. C. Larman. Applying UML and Patterns. Prentice Hall, 2001.Google ScholarGoogle Scholar
  20. D. Makinson. General patterns in nonmonotonic reasoning. In Handbook of logic in artificial intelligence and logic programming (vol. 3): nonmonotonic reasoning and uncertain reasoning, pages 35--110, New York, NY, USA, 1994. Oxford University Press, Inc. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. W. Marek and M. Trusczynski. Nonmonotonic Logic. Springer, 1993.Google ScholarGoogle ScholarCross RefCross Ref
  22. J. McCarthy. Circumscription---a form of non-monotonic reasoning. Artificial Intelligence, 13:27--39, 1980.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. J. McCarthy. Applications of circumscription to formalizing common sense knowledge. Artificial Intelligence, 28:89--116, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. J. McCarthy and P. J. Hayes. Some philosophical problems from the standpoint of artificial intelligence. In B. Meltzer and D. Michie, editors, Machine Intelligence 4, pages 463--502. Edinburgh University Press, 1969.Google ScholarGoogle Scholar
  25. B. Meyer. Object-Oriented Software Construction. Prentice Hall, second edition, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. E. Moggi. A modular approach to denotational semantics. In Category Theory and Computer Science, Springer LNCS 530, pages 138--139, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. R. C. Moore. Semantical considerations on nonmonotonic logic. Artif. Intell., 25(1):75--94, 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. P. D. Mosses. Modular structural operational semantics. J. Log. Algebr. Program., 60--61:195--228, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  29. D. L. Parnas. On the criteria to be used in decomposing systems into modules. Communications of the ACM, 15(12):1053--1058, 1972. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. G. D. Plotkin. A Structural Approach to Operational Semantics. Technical Report DAIMI FN-19, University of Aarhus, 1981.Google ScholarGoogle Scholar
  31. R. Reiter. A logic for default reasoning. Artif. Intell., 13(1--2):81--132, 1980.Google ScholarGoogle Scholar
  32. J. E. Stoy. Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. MIT Press, Cambridge, MA, USA, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. K. J. Sullivan, W. G. Griswold, Y. Song, Y. Cai, M. Shonle, N. Tewari, and H. Rajan. Information hiding interfaces for aspect-oriented design. In ESEC/SIGSOFT FSE, pages 166--175, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. M. Wand, G. Kiczales, and C. Dutchyn. A semantics for advice and dynamic join points in aspect-oriented programming. ACM Trans. Program. Lang. Syst., 26(5):890--910, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. P. Wegner. Concepts and paradigms of object-oriented programming. OOPS Messenger, 1:7--87, August 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. J. Winkler. Objectivism: "class" considered harmful. Communications of the ACM, 35(8):128--130, 1992.Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Q. Xu, W. P. de Roever, and J. He. The rely-guarantee method for verifying shared variable concurrent programs. Formal Aspects of Computing, 9(2):149--174, 1997.Google ScholarGoogle ScholarCross RefCross Ref
  38. X. Zhao. Complexity of argument-based default reasoning with specificity. AI Commun., 16(2):107--119, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Reasoning about aspects with common sense

        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
          AOSD '08: Proceedings of the 7th international conference on Aspect-oriented software development
          March 2008
          212 pages
          ISBN:9781605580449
          DOI:10.1145/1353482
          • Conference Chair:
          • Theo D'Hondt

          Copyright © 2008 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: 31 March 2008

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate41of139submissions,29%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader