Abstract
Aspects require access to the join point context in order to select and adapt join points. For this purpose, current aspect-oriented systems offer a large number of pointcut constructs that provide access to join point information that is local to the join point context, like parameters in method call join points. However, these systems are quite miserly with non-local information that cannot directly be derived from the local execution context. Recently, there have been some proposals that offer access to some kind of non-local information. One such proposal is the path expression pointcut that permits to abstract over non-local object information. Path pointcuts expose non-local objects that are specified in corresponding path expression patterns. In this paper, we show recurrent situations where developers need to access the whole object paths, and consequently, they add workarounds other than pointcut constructs to get the required accesses. Then, we present and study an extension to the path expression pointcuts to permit exposing the object paths and show how this extension overcomes the problem.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Al-Mansari, M., Hanenberg, S.: Path Expression Pointcuts: Abstracting over Non-Local Object Relationships in Aspect-Oriented Languages. In: NODe, Erfurt, Germany. LNI, vol. P-88, pp. 81–96 (2006)
Allan, C., Augustinov, P., Christensen, A.S., Hendren, L., Kuzins, S., Lhotáak, O., de Moor, O., Sereni, D., Sittampalam, G., Tibble, J.: Adding Trace Matching with Free Variables to AspectJ. In: OOPSLA, San Diego, California, pp. 345–364. ACM Press, New York (2005)
Bockisch, C., Mezini, M., Ostermann, K.: Quantifying over dynamic properties of program execution. In: 2nd Dynamic Aspects Workshop, Chicago, Illinois, pp. 71–75 (March 2005)
Bray, T., Paoli, J., Sperberg-McQueen (eds.): Extensible Markup Language (1998), Available online http://www.w3.org/TR/REC-XML
Campbell, R., Habermann, A.: The Specification of Process Synchronization by Path Expressions. In: Goos, G., IIartmanls, J. (eds.). LNCS, vol. 16, pp. 89–102 (1974)
Clark, J., Derose, S. (eds.): XML Path Language (XPath), version 1.0 (1999), Available online http://www.w3.org/TR/Xpath
Cormen, T., Leiserson, C., Rivest, R., Stein, C.: Introduction to Algorithms, 2nd edn. The MIT Press and McGraw-Hill (2001)
Douence, R., Fradet, P., Südholt, M.: Composition, Reuse and Interaction Analysis of Stateful Aspects. In: AOSD, Lancaster, UK, pp. 141–150 (March 2004)
Douence, R., Fradet, P., Súdholt, M.: Trace-based aspects. In: Filman, R.E., Erlad, T., Clarke, S., Aksit, M. (eds.) Aspect-oriented Software Development, pp. 201–217. Addison-Wesley, Reading (2005)
Frohn, J., Lausen, G., Uphoff, H.: Access to Objects by Path Expressions and Rules. In: VLDB, Santiago, Chile, pp. 273–284 (September 1994)
Gray, J., Lorie, R., Putzolu, G., Traiger, I.: Granularity of Locks in a Large Shared Data Base. In: VLDB, pp. 428–451 (1975)
Hanenberg, S.: Design Dimensions of Aspect-Oriented Systems. PhD dissertation. Duisburg-Essen University (October 2005)
Jordan, D., Russell, C.: Java Data Objects, 1st edn., O’Reilly Media (2003)
Kemper, A., Moerkotte, G.: Object-Oriented Database Management: Applications in Engineering and Computer Science. Prentice-Hall, Englewood Cliffs (1994)
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)
Kifer, M., Kim, W., Sagiv, Y.: Querying Object-Oriented Databases. In: SIGMOD Conference 1992, pp. 393–402 (1992)
Kim, H., Park, S.: Two Version Concurrency Control Algorithm with Query Locking for Decision Support. In: ER Workshops 1998, pp. 157–168 (1998)
Lämmel, R., Visser, E., Visser, J.: Strategic Programming Meets Adaptive Programming. In: AOSD, Boston, USA, pp. 168–177. ACM Press, New York (2003)
Lieberherr, K., Lorenz, D.: Coupling Aspect-Oriented and Adaptive Programming. In: Filman, R.E., Erlad, T., Clarke, S., Aksit, M. (eds.) Aspect-oriented Software Development, pp. 145–164. Addison-Wesley, Reading (2005)
Lieberherr, K., Patt-Shamir, B., Orleans, D.: Traversals of Object Structures: Specification and Efficient Implementation. In: ACM TOPLAS, pp. 370–412 (2004)
Lin, W., Nolte, J.: Basic Timestamp, Multiple Version Timestamp, and Two-Phase Locking. In: VLDB, pp. 109–119 (1983)
Masuhara, H., Kawauchi, K.: Dataflow pointcut in aspect-oriented programming. In: Ohori, A. (ed.) APLAS 2003. LNCS, vol. 2895, pp. 105–121. Springer, Heidelberg (2003)
Mohan, C., Haderle, D.: Algorithms for Flexible Space Management in Transaction Systems Supporting Fine-Granularity Locking. In: Jarke, M., Bubenko, J., Jeffery, K.G. (eds.) EDBT 1994. LNCS, vol. 779, pp. 131–144. Springer, Heidelberg (1994)
Mohan, C., Pirahesh, H., Lorie, R.: Efficient and Flexible Methods for Transient Versioning of Records to Avoid Locking by Read-Only Transactions. In: SIGMOD Conf. 1992, pp. 124–133 (1992)
Orleans, D., Lieberherr, K.: DJ: Dynamic Adaptive Programming in Java. In: The 3rd Intel Conf on Metalevel Arch. and Separation of Crosscutting Concerns, pp. 73–80 (September 2001)
Ostermann, K., Mezini, M., Bockisch, C.: Expressive pointcuts for increased modularity. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 214–240. Springer, Heidelberg (2005)
Panagos, E., Biliris, A., Jagadish, H., Rastogi, R.: Fine-granularity Locking and Client-Based Logging for Distributed Architectures. In: EDBT, pp. 388–402 (1996)
Popovici, A., Alonso, G., Gross, T.: Spontaneous Container Services. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, pp. 29–53. Springer, Heidelberg (2003)
Ries, D., Stonebraker, M.: Effects of Locking Granularity in a Database Management System. ACM Transaction of Database Systems 2(3), 233–246 (1977)
Sakurai, K., Masuhara, H., Ubayashi, N., Matsuura, S., Komiya, S.: Association aspects. In: AOSD, Lancaster, UK, pp. 16–25. ACM Press, New York (2004)
Stein, D., Hanenberg, S., Unland, R.: Expressing Different Conceptual Models of Join Point Selections in Aspect-Oriented Design. In: AOSD, Bonn, Germany, pp. 15–26. ACM Press, New York (2006)
Tanter, E., Gybels, K., Denker, M., Bergel, A.: Context-Aware Aspects. In ETAPS Software Composition, Vienna, Austria, LNCS, pp.227-242 (March 2006)
Van den Bussche, J., Vossen, G.: An Extension of Path Expressions to Simplify Navigation in Object-Oriented Queries. In: DOOD, pp. 276–282 (1993)
Vanderperren, W., Suvée, D., Cibrán, M.A., De Fraine, B.: Stateful aspects in JAsCo. In: ETAPS Software Composition, Edinburgh, Scotland. LNCS, pp. 167–181 (April 2005)
Walker, R., Viggers, K.: Implementing protocols via declarative event patterns. In: ACM SIGSOFT Intel. Sym. on Foundations of Soft. Eng., vol. FSE-12, pp. 159–169 (2004)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Al-Mansari, M., Hanenberg, S., Unland, R. (2007). Aspect-Oriented Programming: Selecting and Exposing Object Paths. In: Lumpe, M., Vanderperren, W. (eds) Software Composition. SC 2007. Lecture Notes in Computer Science, vol 4829. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-77351-1_16
Download citation
DOI: https://doi.org/10.1007/978-3-540-77351-1_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-77350-4
Online ISBN: 978-3-540-77351-1
eBook Packages: Computer ScienceComputer Science (R0)