ABSTRACT
Developing a machine model natively supporting aspect-oriented programming (AOP) is fruitful not only for implementing interpreters and compilers for AOP languages but also for understanding the essence of the AOP paradigm. This position paper shows a machine model based on open classes and predicate dispatch and it briefly describes a list of predicates that are necessary for modeling AspectJ. This machine model is useful for comparing AOP and object-oriented programming (OOP) on a side-by-side basis. Our initial observation is that AOP is a natural extension to OOP with respect to language constructs.
- Bockisch, C., M. Haupt, and M. Mezini, "Dynamic Virtual Join Point Dispatch." Workshop on Software Engineering Properties of Languages and Aspect Technologies (SPLAT '06), 2006.Google Scholar
- Bockisch, C., M. Haupt, M. Mezini, and K. Ostermann, "Virtual machine support for dynamic join points," in Proc. of Int'l Conf. on Aspect-Oriented Software Development (AOSD 2004), pp. 83--92, 2004. Google ScholarDigital Library
- Clifton, C., G. T. Leavens, C. Chambers, and T. Millstein, "MultiJava: modular open classes and symmetric multiple dispatch for Java," in Proc. of ACM Conf. on Object-Oriented Programming Systems, Languages, and Applications, pp. 130--145, ACM Press, 2000. Google ScholarDigital Library
- Ernst, M., C. Kaplan, and C. Chambers, "Predicate Dispatching: A Unified Theory of Dispatch," in ECCOP '98: Proc. of the 12th European Conference on Object-Oriented Programming, pp. 186--211, Springer-Verlag, 1998. Google ScholarDigital Library
- Haupt, M. and H. Schippers, "A Machine Model for Aspect-Oriented Programming," in ECOOP 2007 -- Object-Oriented Programming, vol. 4609 of LNCS, pp. 501--524, 2007. Google ScholarDigital Library
- Millstein, T., "Practical predicate dispatch," in Proc. of ACM Conf. on Object-Oriented Programming Systems, Languages, and Applications, pp. 345--364, ACM, 2004. Google ScholarDigital Library
- Orleans, D., "Separating behavioral concerns with predicate dispatch, or, if statement considered harmful," in Workshop on Advanced Separation of Concerns in Object-Oriented Systems at OOPSLA '01, 2001.Google Scholar
- Ossher, H. and P. Tarr, "Hyper/J: multi-dimensional separation of concerns for Java," in Proc. of the Int'l Conf. on Software Engineering (ICSE), pp. 734--737, 2000. Google ScholarDigital Library
- Warth, A., M. Stanojević, and T. Millstein, "Statically scoped object adaptation with expanders," in Proc. of ACM Conf. on Object-Oriented Programming Systems, Languages, and Applications, pp. 37--56, 2006. Google ScholarDigital Library
Index Terms
- Predicate dispatch for aspect-oriented programming
Recommendations
Aspect-oriented programming
ESEC/FSE-9: Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineeringAspect-oriented programming (AOP) is a technique for improving separation of concerns in software design and implementation. AOP works by providing explicit mechanisms for capturing the structure of crosscutting concerns. This tutorial shows how to use ...
Cooperative aspect-oriented programming
Aspect-oriented programming (AOP) seeks to improve software modularity via the separation of cross-cutting concerns. AOP proponents often advocate a development strategy where programmers write the main application (base code), ignoring cross-cutting ...
Aspect-oriented programming
Aspect-oriented programming (AOP) is a technique for improving separation of concerns in software design and implementation. AOP works by providing explicit mechanisms for capturing the structure of crosscutting concerns. This tutorial shows how to use ...
Comments