ACM Home Page
Please provide us with feedback. Feedback
Open bisimulation for aspects
Full text PdfPdf (403 KB)
Source Aspect-oriented software development; Vol. 208 archive
Proceedings of the 6th international conference on Aspect-oriented software development table of contents
Vancouver, British Columbia, Canada
SESSION: Programming language semantics table of contents
Pages: 107 - 120  
Year of Publication: 2007
ISBN:1-59593-615-7
Authors
Radha Jagadeesan  DePaul University
Corin Pitcher  DePaul University
James Riely  DePaul University
Sponsors
AOSA : Aspect-Oriented Software Association
: Google
IBMR : IBM Research
: Eclipse Foundation
: AOSD-Europe: European Network of Excellence on Aspect-Oriented Software Development
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 12,   Downloads (12 Months): 47,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1218563.1218577
What is a DOI?

ABSTRACT

We define and study bisimulation for proving contextual equivalence in an aspect extension of the untyped lambda-calculus. To our knowledge, this is the first study of coinductive reasoning principles aimed at proving equality of aspect programs. The language we study is very small, yet powerful enough to encode mutable references and a range of temporal pointcuts (including cflow and regular event patterns).Examples suggest that our bisimulation principle is useful. For an encoding of higher-order programs with state, our methods suffice to establish well-known and well-studied subtle examples involving higher-order functions with state.Even in the presence of first class dynamic advice and expressive pointcuts, our reasoning principles show that aspect-aware interfaces can aid in ensuring that clients of a component are unaffected by changes to an implementation. Our paper generalizes existing results given for open modules to also include a variety of history-sensitive pointcuts such as cflow and regular event patterns.Our formal techniques and results suggest that aspects are amenable to the formal techniques developed for stateful higher-order programs.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
M. Abadi and C. Fournet. Access control based on execution history. In Proceedings of the Network and Distributed System Security Symposium Conference, 2003.
 
3
 
4
 
5
 
6
J. Aldrich. Open modules: Modular reasoning about advice. In A. P. Black, editor, ECOOP, volume 3586 of Lecture Notes in Computer Science, pages 144--168. Springer, 2005.
 
7
 
8
R. Alur and P. Madhusudan. Adding nesting structure to words. In O. H. Ibarra and Z. Dang, editors, Developments in Language Theory, volume 4036 of Lecture Notes in Computer Science, pages 1--13. Springer, 2006.
 
9
P. Avgustinov, E. Bodden, E. Hajiyev, L. Hendren, O. Lhoták, O. de Moor, N. Ongkingco, D. Sereni, G. Sittampalam, and J. Tibbie. Aspects for trace monitoring. In K. Havelund, M. Nunez, G. Rosu, and B. Wolff, editors, Formal Approaches to Testing Systems and Runtime Verification (FATES/RV), Lecture Notes in Computer Science. Springer, 2006.
 
10
L. Bergmans. Composing Concurrent Objects - Applying Composition Filters for the Development and Reuse of Concurrent Object-Oriented Programs. Ph.D. thesis, University of Twente, 1994.
11
 
12
W. E. Boebert and R. Y. Kain. A practical alternative to hierarchical integrity policies. In Proceedings of the Eighth National Computer Security Conference, 1985.
 
13
C. Clifton and G. T. Leavens. MiniMAO1: An imperative core language for studying aspect-oriented reasoning. Science of Computer Programming, 2006. To appear.
 
14
C. Clifton, G. T. Leavens, and M. Wand. Parameterized aspect calculus: A core calculus for the direct study of aspect-oriented languages. At http://www.cs.iastate.edu/~cclifton/papers/TR03--13.pdf, 2003.
15
 
16
D. S. Dantas and D. Walker. Harmless advice. In Morrisett and Jones {47}, pages 383--396.
 
17
R. De Nicola and M. Hennessy. Testing equivalences for processes. Theoretical Computer Science, 34(1--2):83--133, Nov. 1984.
18
 
19
 
20
R. Filman and D. Friedman. Aspect-oriented programming is quantification and obliviousness. In Workshop on Advanced Separation of Concerns, 2000.
 
21
A. D. Gordon. Bisimilarity as a theory of functional programming. Electr. Notes Theor. Comput. Sci., 1, 1995.
 
22
23
 
24
 
25
 
26
R. Jagadeesan, A. Jeffrey, and J. Riely. An untyped calculus of aspect oriented programs. In Conference Record of ECOOP 03: The European Conference on Object-Oriented Programming, volume 2743 of Lecture Notes in Computer Science, 2003.
 
27
R. Jagadeesan, A. Jeffrey, and J. Riely. Typed parametric polymorphism for aspects. Science of Computer Programming, 2006. To appear.
 
28
R. Jagadeesan, C. Pitcher, and J. Riely. Open bisimulation for aspects (full version). Available at http://www.teasp.org/bisimulation, 2007.
 
29
 
30
A. Jeffrey and J. Rathke. Java Jr: Fully abstract trace semantics for a core Java language. In ESOP, volume 3444 of LNCS, pages 423--438. Springer, 2005.
 
31
 
32
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In European Conference on Object-Oriented Programming (ECOOP), 1997.
33
 
34
V. Koutavas and M. Wand. Bisimulations for untyped imperative objects. In P. Sestoft, editor, Proc. ESOP 2006, volume 3924 of Lecture Notes in Computer Science, pages 146--161. Springer, Mar. 2006.
 
35
V. Koutavas and M. Wand. Proving class equivalence, submitted for publication, July 2006.
 
36
V. Koutavas and M. Wand. Small bisimulations for reasoning about higher-order imperative programs. In Morrisett and Jones {47}, pages 141--152
 
37
P. J. Landin. The mechanical evaluation of expressions. Computer Journal, 6(4):308--320, Jan. 1964.
 
38
 
39
 
40
 
41
 
42
J. Ligatti, D. Walker, and S. Zdancewic. A type-theoretic interpretation of pointcuts and advice. Science of Computer Programming, 2006. To appear.
 
43
P. A. Loscocco and S. D. Smalley. Meeting critical security objectives with Security-Enhanced Linux. In Proceedings of the 2001 Ottawa Linux Symposium, 2001.
 
44
H. Masuhara, G. Kiczales, and C. Dutchyn. A compilation and optimization model for aspect-oriented programs. In G. Hedin, editor, CC, volume 2622 of Lecture Notes in Computer Science, pages 46--60. Springer, 2003.
45
 
46
47
 
48
S. Nakajima and T. Tamai. Lightweight formal analysis of aspect-oriented models. In UML2004 Workshop on Aspect-Oriented Modeling, 2004.
49
 
50
H. Ossher and P. Tarr. Multi-dimensional separation of concerns and the hyperspace approach. In Proceedings of the Symposium on Software Architectures and Component Technology: The State of the Art in Software Development, 2001.
 
51
A. M. Pitts. Operationally-based theories of program equivalence. In P. Dybjer and A. M. Pitts, editors, Semantics and Logics of Computation, Publications of the Newton Institute, pages 241--298. Cambridge University Press, 1997.
52
 
53
D. Sangiorgi. Expressing Mobility in Process Algebras: First-Order and Higher-Order Paradigms. PhD thesis CST-99-93, Department of Computer Science, University of Edinburgh, 1992.
 
54
D. Sangiorgi. Expressing Mobility in Process Algebras: First Order and Higher Order Paradigms. PhD thesis, University of Edinburgh, 1993.
 
55
 
56
 
57
D. Sangiorgi. The bisimulation proof method: Enhancements and open problems. In R. Gorrieri and H. Wehrheim, editors, FMOODS, volume 4037 of Lecture Notes in Computer Science, pages 18--19. Springer, 2006.
 
58
M. Sihman and S. Katz. Model checking applications of aspects and superimpositions. In Foundations of Aspect Languages, 2003.
59
 
60
61
62
 
63
K. M. Walker, D. F. Sterne, M. L. Badger, M. J. Petkac, D. L. Shermann, and K. A. Oostendorp. Confining root programs with Domain and Type Enforcement (DTE). In Proceedings of the Sixth USENIX UNIX Security Symposium, 1996.
64


Collaborative Colleagues:
Radha Jagadeesan: colleagues
Corin Pitcher: colleagues
James Riely: colleagues