Abstract
Aspects that trigger on a sequence of join points instead of on a single join point are not explicitly supported in current Aspect-Oriented approaches. Explicit protocols are however frequently employed in Component-Based Software Development and business processes and are as such valid targets for aspect application. In this paper, we propose an extension of the JAsCo aspect-oriented programming language for declaratively specifying a protocol fragment. The proposed pointcut language is equivalent to a finite state machine. Advices can be attached to every transition specified in the pointcut protocol. Furthermore, the complement of a protocol can also be used for triggering aspects. The JAsCo tools support the stateful aspects language and implement it very efficiently by employing the JAsCo run-time weaver. As a validation of the approach, we present a case study in the context of reaction business rules.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Andrews, T., et al.: Business Process Execution Language for Web Services Specification (May 2003), http://www.ibm.com/developerworks/library/ws-bpel/
Aycock, J., Horspool, N.: Schrodinger’s token. Software Practice and Experience 31(8) (2001)
Brichau, J., De Meuter, W., De Volder, K.: Jumping Aspects. In: Workshop on Aspects and Dimensions of Concerns (ECOOP 2000) (June 2000)
Cibrán, M.A., D’Hondt, M., Jonckers, V.: Aspect-Oriented Programming for Connecting Business Rules. In: Proceedings of BIS International Conference, Colorado Springs, USA (June 2003)
Date, C.: What not How: The Business Rules Approach to Application Development, 1st edn. Addison-Wesley, Reading (2000)
Douence, R., Fradet, P., Südholt, M.: A framework for the detection and resolution of aspect interactions. In: Proceedings of the ACM SIGPLAN/SIGSOFT Conference on Generative Programming and Component Engineering, Pittsburgh, USA (October 2002)
Douence, R., Fradet, P., Südholt, M.: Composition, Reuse and Interaction Analysis of Stateful Aspects. In: Proceedings of the 3rd International Conference on Aspect-Oriented Software Development, Lancaster, UK (March 2004)
Douence, R., Fradet, P., Südholt, M.: Trace-based Aspects. Aspect-Oriented Software Development (2004)
Douence, R., Südholt, M.: A model and a tool for event-based aspect-oriented programming (EAOP). Technical Report 02/11/INFO, Ecole des Mines de Nantes (2002)
Farias, A., Südholt, M.: On components with explicit protocols satisfying a notion of correctness by construction. In: Distributed Objects and Applications 2002, Irvine, USA (October 2002)
Von Halle, B.: Business Rules Applied, 1st edn. Wiley, Chichester (2001)
Hopcroft, J.E., Motwani, R., Ullman, J.D.: Introduction to Automata Theory, 2nd edn. Addison-Wesley, Reading (2001)
JAsCo. JAsCo Run-Time Weaver, http://ssel.vub.ac.be/jasco/documentation:ruw
JAsCo. JAsCo website, http://ssel.vub.ac.be/jasco/
Kiczales, G., Hilsdale, E., Hugunin, J., Kersen, M., Palm, J., Griswold, G.W.: An overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, p. 327. Springer, Heidelberg (2001)
Kiczales, G., Lamping, J., Menhdhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)
Ross, R.G.: Principles of the Business Rule Approach, 1st edn. Addison-Wesley, Reading (2003)
Suvée, D., Vanderperren, W., Jonckers, V.: JAsCo: an Aspect-Oriented approach tailored for Component Based Software Development. In: Proceedings of the 2nd International Conference on Aspect-Oriented Software Development, Boston, USA (March 2003)
Tanenbaum, A.S.: Computer Networks. Prentice Hall Professional Technical Reference, 4th edn. (2002)
Vanderperren, W., Suvée, D.: Optimizing JAsCo dynamic AOP through HotSwap and Jutta. In: Proceedings of Dynamic Aspects Workshop, Lancaster, UK (March 2004)
Vanderperren, W., Suvée, D., Jonckers, V.: Combining AOSD and CBSD in PacoSuite through Invasive Composition Adapters and JAsCo. In: Proceedings of Node 2003 International Conference, Erfurt, Germany (September 2003)
Walker, R.J., Viggers, K.: Implementing Protocols via Declarative Event Patterns. In: Proceedings of the ACM SIGSOFT International Symposium on Foundations of Software Engineering, Newport Beach, USA (November 2004)
De Win, B., Vanhaute, B., De Decker, B.: How aspect-oriented programming can help to build secure software. Informatica 26(2) (2002)
Wydaeghe, B., Vanderperren, W., Pijpons, T., Westerhuis, F.: Adapsis: Adaptation of IP Services Based on Profiles. In: SSEL Technical Report (May 2002)
Yellin, D., Strom, R.: Protocol Specifications and Component Adaptors. ACM Transactions on Programming Languages and Systems 19(2), 292–333 (1997)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 IFIP International Federation for Information Processing
About this paper
Cite this paper
Vanderperren, W., Suvée, D., Cibrán, M.A., De Fraine, B. (2005). Stateful Aspects in JAsCo. In: Gschwind, T., Aßmann, U., Nierstrasz, O. (eds) Software Composition. SC 2005. Lecture Notes in Computer Science, vol 3628. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11550679_13
Download citation
DOI: https://doi.org/10.1007/11550679_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-28748-3
Online ISBN: 978-3-540-28749-0
eBook Packages: Computer ScienceComputer Science (R0)