skip to main content
10.1145/1353482.1353489acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

Reasoning about aspects with common sense

Published: 31 March 2008 Publication 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.
[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.
[3]
G. Antoniou. Non-monotonic reasoning. MIT Press, 1996.
[4]
G. Antoniou. A tutorial on default logics. ACM Comput. Surv., 31(4):337--359, 1999.
[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.
[6]
G. Brewka. Well-founded semantics for extended logic programs with dynamic preferences. Journal of Artificial Intelligence Research, 4:19--36, 1996.
[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.
[8]
K. L. Clark. Negation as failure. In Logic and Data Bases, pages 293--322, 1977.
[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.
[10]
P. M. Dung and T. C. Son. An argument-based approach to reasoning with specificity. Artif. Intell., 133(1--2):35--85, 2001.
[11]
M. Goldman and S. Katz. Maven: Modular aspect verification. In TACAS, Springer LNCS 4424, pages 308--322, 2007.
[12]
C. A. R. Hoare. An axiomatic basis for computer programming. Commun. ACM, 12(10):576--580, 1969.
[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.
[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.
[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.
[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.
[17]
S. Kraus, D. J. Lehmann, and M. Magidor. Nonmonotonic reasoning, preferential models and cumulative logics. Artif. Intell., 44(1--2):167--207, 1990.
[18]
S. Krishnamurthi, K. Fisler, and M. Greenberg. Verifying aspect advice modularly. In SIGSOFT FSE'04, pages 137--146. ACM, 2004.
[19]
C. Larman. Applying UML and Patterns. Prentice Hall, 2001.
[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.
[21]
W. Marek and M. Trusczynski. Nonmonotonic Logic. Springer, 1993.
[22]
J. McCarthy. Circumscription---a form of non-monotonic reasoning. Artificial Intelligence, 13:27--39, 1980.
[23]
J. McCarthy. Applications of circumscription to formalizing common sense knowledge. Artificial Intelligence, 28:89--116, 1986.
[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.
[25]
B. Meyer. Object-Oriented Software Construction. Prentice Hall, second edition, 1997.
[26]
E. Moggi. A modular approach to denotational semantics. In Category Theory and Computer Science, Springer LNCS 530, pages 138--139, 1991.
[27]
R. C. Moore. Semantical considerations on nonmonotonic logic. Artif. Intell., 25(1):75--94, 1985.
[28]
P. D. Mosses. Modular structural operational semantics. J. Log. Algebr. Program., 60--61:195--228, 2004.
[29]
D. L. Parnas. On the criteria to be used in decomposing systems into modules. Communications of the ACM, 15(12):1053--1058, 1972.
[30]
G. D. Plotkin. A Structural Approach to Operational Semantics. Technical Report DAIMI FN-19, University of Aarhus, 1981.
[31]
R. Reiter. A logic for default reasoning. Artif. Intell., 13(1--2):81--132, 1980.
[32]
J. E. Stoy. Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. MIT Press, Cambridge, MA, USA, 1977.
[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.
[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.
[35]
P. Wegner. Concepts and paradigms of object-oriented programming. OOPS Messenger, 1:7--87, August 1990.
[36]
J. Winkler. Objectivism: "class" considered harmful. Communications of the ACM, 35(8):128--130, 1992.
[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.
[38]
X. Zhao. Complexity of argument-based default reasoning with specificity. AI Commun., 16(2):107--119, 2003.

Cited By

View all
  • (2012)Empowering Non-conservative Parallelizing Refactoring by Non-monotonic ReasoningProceedings of the 2012 19th Asia-Pacific Software Engineering Conference - Volume 0110.1109/APSEC.2012.147(721-724)Online publication date: 4-Dec-2012
  • (2011)Revisiting information hidingProceedings of the 25th European conference on Object-oriented programming10.5555/2032497.2032509(155-178)Online publication date: 25-Jul-2011
  • (2011)The road to feature modularity?Proceedings of the 15th International Software Product Line Conference, Volume 210.1145/2019136.2019142(1-8)Online publication date: 21-Aug-2011
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

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
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]

Sponsors

  • AOSA: Aspect-Oriented Software Association

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 31 March 2008

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Conference

AOSD08
Sponsor:
  • AOSA

Acceptance Rates

Overall Acceptance Rate 41 of 139 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2012)Empowering Non-conservative Parallelizing Refactoring by Non-monotonic ReasoningProceedings of the 2012 19th Asia-Pacific Software Engineering Conference - Volume 0110.1109/APSEC.2012.147(721-724)Online publication date: 4-Dec-2012
  • (2011)Revisiting information hidingProceedings of the 25th European conference on Object-oriented programming10.5555/2032497.2032509(155-178)Online publication date: 25-Jul-2011
  • (2011)The road to feature modularity?Proceedings of the 15th International Software Product Line Conference, Volume 210.1145/2019136.2019142(1-8)Online publication date: 21-Aug-2011
  • (2011)Revisiting Information Hiding: Reflections on Classical and Nonclassical ModularityECOOP 2011 – Object-Oriented Programming10.1007/978-3-642-22655-7_8(155-178)Online publication date: 2011
  • (2010)Modular aspect-oriented design with XPIsACM Transactions on Software Engineering and Methodology10.1145/1824760.182476220:2(1-42)Online publication date: 8-Sep-2010
  • (2010)Model-driven development for early aspectsInformation and Software Technology10.1016/j.infsof.2009.09.00152:3(249-273)Online publication date: 1-Mar-2010
  • (2008)Enforcing behavioral constraints in evolving aspect-oriented programsProceedings of the 7th workshop on Foundations of aspect-oriented languages10.1145/1394496.1394499(19-28)Online publication date: 1-Apr-2008

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media