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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
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)