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

Enforcing behavioral constraints in evolving aspect-oriented programs

Published: 01 April 2008 Publication History

Abstract

Reasoning, specification, and verification of Aspect-Oriented (AO) programs presents unique challenges especially as such programs evolve over time. Components, base-code and aspects alike, may be easily added, removed, interchanged, or presently unavailable at unpredictable frequencies. Consequently, modular reasoning of such programs is highly attractive as it enables tractable evolution, otherwise necessitating that the entire program be reexamined each time a component is changed. It is well known, however, that modular reasoning about AO programs is difficult. In this paper, we present our ongoing work in constructing a relyguarantee style reasoning system for the Aspect-Oriented Programming (AOP) paradigm, adopting a trace-based approach to deal with the plug-n-play nature inherent to these programs, thus easing AOP evolution.

References

[1]
J. Aldrich. Open modules: Modular reasoning about advice. In Eur. Conf. Object-Oriented Programming, 2005.
[2]
E. Clarke, O. Grumberg, and D. Peled. Model Checking. MIT Press, 2000.
[3]
C. Clifton and G. Leavens. Observers and assistants: A proposal for modular aspect-oriented reasoning. In Foundations of Aspect-Oriented Languages, 2002.
[4]
C. Clifton and G. Leavens. MiniMAO: Investigating the semantics of proceed. In Foundations of Aspect-Oriented Languages, 2005.
[5]
C. Clifton, G. Leavens, and J. Noble. Mao: Ownership and effects for more effective reasoning about aspects. In Eur. Conf. Object-Oriented Programming, 2007.
[6]
M. E. Conway. Design of a separable transition-diagram compiler. Commun. ACM, 1963.
[7]
D. Dantas and D. Walker. Harmless advice. In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 2006.
[8]
X. Deng, M. Dwyer, J. Hatcliff, and M. Mizuno. SyncGen: An AOP framework for synchronization. In Int. Conf. on Tools and Alg. for Construction and Analysis of Sys., 2004.
[9]
B. Devereux. Compositional reasoning about aspects using alternating-time logic. In Foundations of Aspect-Oriented Languages, 2003.
[10]
R. Filman and D. Friedman. Aspect-oriented programming is quantification and obliviousness. In Advanced Separation of Concerns, 2000.
[11]
M. Goldman and S. Katz. Modular generic verification of LTL properties for aspects. In Foundations of Aspect-Oriented Languages, 2006.
[12]
W. Griswold, K. Sullivan, Y. Song, M. Shonle, N. Tewari, Y. Cai, and H. Rajan. Modular software design with crosscutting interfaces. IEEE Software, 2006.
[13]
S. Gudmundson and G. Kiczales. Addressing practical software development issues in AspectJ with a pointcut interface. In Advanced Separation of Concerns, 2001.
[14]
T. A. Henzinger, S. Qadeer, and S. K. Rajamani. You assume, we guarantee: Methodology and case studies. In International Conference on Computer Aided Verification, 1998.
[15]
C. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985.
[16]
D. Hoffman and R. Snodgrass. Trace specifications: Methodology and models. IEEE Transactions on Software Engineering, 1988.
[17]
R. Janicki and E. Sekerinski. Foundations of the trace assertion method of module interface specification. IEEE Transactions on Software Engineering, 2001.
[18]
C. B. Jones. Tentative steps toward a development method for interfering programs. ACM Transactions on Programming Languages and Systems, 1983.
[19]
R. Khatchadourian and N. Soundarajan. Rely-guarantee approach to reasoning about aspect-oriented programs. In Software Engineering Properties of Languages and Aspect Technologies, 2007.
[20]
G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. Griswold. An overview of aspectj. In Eur. Conf. Object-Oriented Programming, 2001.
[21]
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J. Loingtier, and J. Irwin. Aspect oriented programming. In Eur. Conf. Object-Oriented Programming, 1997.
[22]
G. Kiczales and M. Mezini. Aspect-oriented programming and modular reasoning. In International Conference on Software Engineering, 2005.
[23]
S. Krishnamurthi, K. Fisler, and M. Greenberg. Verifying aspect advice modularly. In ACM SIGSOFT Symposium on the Foundations of Software Engineering, 2004.
[24]
R. Laddad. AspectJ in Action. Manning, 2003.
[25]
K. Lieberherr, D. Lorenz, and J. Ovlinger. Aspectual collaborations: Combining modules and aspects. The Computer Journal, 2003.
[26]
M. Lippert and C. Lopes. A study on exception detection and handling using AOP. In International Conference on Software Engineering, 2002.
[27]
R. Lopez-Herrejon, D. Batory, and C. Lengauer. A disciplined approach to aspect composition. In ACM SIGPLAN symposium on partial evaluation and semantics-based program manipulation, 2006.
[28]
J. Misra and K. Chandy. Proofs of networks of processes. IEEE Transactions on Software Engineering, 1981.
[29]
K. Ostermann. Aspects and modular reasoning in nonmonotonic logic. In Foundations of Aspect-Oriented Languages, 2007.
[30]
K. Ostermann. Reasoning about aspects with common sense. In Int. Conf. Aspect-Oriented Software Development, 2008.
[31]
K. Ostermann, M. Mezini, and C. Bockisch. Expressive pointcuts for increased modularity. In Eur. Conf. Object-Oriented Programming, 2005.
[32]
S. Owicki and D. Gries. An axiomatic proof technique for parallel programs. Acta Informatica, 1976.
[33]
A. Rashid and R. Chitchyan. Persistence as an aspect. In Int. Conf. Aspect-Oriented Software Development, 2003.
[34]
M. Sihman and S. Katz. Superimpositions and aspect-oriented programming. The Computer Journal, 2003.
[35]
N. Soundarajan, R. Khatchadourian, and J. Dovland. Reasoning about the behavior of aspect-oriented programs. In IASTED Int. Conf. Softw. Eng. and Apps., 2007.
[36]
F. Steimann. The paradoxical success of aspect-oriented programming. In Conference on Object-Oriented Programming Systems, Languages, and Applications, 2006.
[37]
K. Sullivan, W. Griswold, Y. Song, Y. Cai, M. Shonle, N. Tewari, and H. Rajan. Information hiding interfaces for aspect-oriented design. In ACM SIGSOFT Symposium on the Foundations of Software Engineering, 2005.
[38]
J. Xu, H. Rajan, and K. Sullivan. Aspect reasoning by reduction to implicit invocation. In Foundations of Aspect-Oriented Languages, 2004.
[39]
Q. Xu, W. de Roever, and J. He. Rely-guarantee method for verifying shared variable concurrent programs. Formal Aspects of Computing, 1997.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
FOAL '08: Proceedings of the 7th workshop on Foundations of aspect-oriented languages
April 2008
56 pages
ISBN:9781605581101
DOI:10.1145/1394496
  • Program Chair:
  • Curt Clifton
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]

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 April 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. aspect-oriented programming
  2. modular reasoning
  3. rely-guarantee

Qualifiers

  • Research-article

Conference

AOSD08

Acceptance Rates

Overall Acceptance Rate 5 of 6 submissions, 83%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 24 Dec 2024

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media