Abstract
State Machines are very useful for modeling behavior of reactive systems. Stateful aspects have been proposed as a way to declaratively attach advice to transitions in a State Machine, so that the State Machine structure is seen in the implementation. Vanderperren et al. proposed an extension of the JAsCo Aspect-Oriented Programming Language for stateful aspects. This work proposes a low-overhead stateful aspects mechanism with the same semantics as JAsCo’s, built as an extension of Steamloom, a VM-supported AOP solution. The interface of our mechanism is similar to the aspect interface provided by Steamloom, with minimal augmentation. We provide detailed overhead analysis that highlights the advantages of our implementation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Allan, C., Augustinov, P., Christensen, A.S., Hendren, L., Kuzins, S., Lhoták, O., de Moor, O., Sereni, D., Sittampalam, G., Tibble, J.: Adding Trace Matching with Free Variables to AspectJ. J. SIGPLAN Not 40, 345–364 (2005)
Andrews, T., Curbera, F., et al.: Business Process Execution Language for Web Services Specification (2003), http://www.ibm.com/developerworks/library/ws-bpel/
Arnold, M., Fink, S., Grove, D., Hind, M., Sweeney, P.F.: Adaptive Optimization in the Jalapeño JVM. In: 15th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages & Applications (Addendum), pp. 125–126. ACM Press, New York (2000)
Avgustinov, P., Tibble, J., de Moor, O.: Making trace monitors feasible. J. SIGPLAN Not 42, 589–608 (2007)
Bockisch, C., Haupt, M., Mezini, M., Ostermann, K.: Virtual machine support for dynamic join points. In: 3rd International Conference on Aspect-Oriented Software Development, pp. 83–92. ACM Press, New York (2004)
Bonér ,J.: AspectWerkz - Dynamic AOP for Java (2003), http://codehaus.org/~jboner/papers/aosd2004_aspectwerkz.pdf
Brichau, J., de Meuter, W., de Volder, K.: Jumping Aspects. In: Workshop on Aspects and Dimensions of Concerns (2000)
Bull, J.M., Smith, L.A., Westhead, M.D., Henty, D.S., Davey, R.A.: A Benchmark Suite for High Performance Java. J. Concurrency: Practice and Experience 12, 375–388 (2000)
Cottenier, T., van den Berg, A., Elrad, T.: Stateful aspects: the case for aspect-oriented modeling. In: 10th international workshop on Aspect-oriented modeling, pp. 7–14. ACM Press, New York (2007)
Douence, R., Fradet, P., Südholt, M.: A framework for the detection and resolution of aspect interactions. In: 1st ACM SIGPLAN/SIGSOFT Conference on Generative Programming and Component Engineering, pp. 173–188. Springer, London (2002)
Douence, R., Fradet, P., Südholt, M.: Trace-based Aspects. In: Aspect-Oriented Software Development, pp. 201–218. Addison Wesley (2004)
Douence, R., Fradet, P., Südholt, M.: Composition, Reuse and Interaction Analysis of Stateful Aspects. In: 3th International Conference on Aspect-Oriented Software Development, pp. 141–150. ACM, New York (2004)
Farías, A., Südholt, M.: On components with explicit protocols satisfying a notion of correctness by construction. In: Distributed Objects and Applications, pp. 995–1012. Springer, London (2002)
Haupt, M.: Virtual Machine Support for Aspect-Oriented Programming Languages. Doctoral Dissertation (2006)
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of AspectJ. In: 15th European Conference on Object-Oriented Programming, pp. 327–353. Springer, London (2001)
Nicoara, A., Alonso, G.: Dynamic AOP with PROSE. In: CAiSE Workshops, FEUP Edições, Porto, pp. 125–138 (2005)
Phink, Y.: Virtual Machine Support for Stateful Aspects. M.Sc. Thesis, Tel-Aviv University (in preparation, 2008)
Tanenbaum, A.S.: Computer Networks, 4th edn. Prentice Hall Professional Technical Reference (2002)
Vanderperren, W., Suvee, D., Cibran, M.A., De Fraine, B.: Stateful Aspects in JAsCo. In: Software Composition Workshop at the European Joint Conferences on Theory and Practice of Software, Edinburgh, pp. 167–181. Springer, Scotland (2005)
Vasseur, A.: Dynamic AOP and Runtime Weaving for Java - How does AspectWerkz Address It? (2004), http://aspectwerkz.codehaus.org/downloads/papers/aosd2004-daw-aspectwerkz.pdf
Walker, R.J., Viggers, K.: Implementing Protocols via Declarative Event Patterns. J. SIGSOFT Soft. Eng. Notes 29, 159–169 (2004)
Yellin, D., Strom, R.: Protocol Specifications and Component Adaptors. J. ACM Trans. Program. Lang. Syst. 19, 292–333 (1997)
AspectJ, http://www.eclipse.org/aspectj
AspectWerkz, http://aspectwerkz.codehaus.org
CaesarJ, http://caesarj.org
JAsCo, http://ssel.vub.ac.be/jasco
The Jikes Research Virtual Machine, http://jikesrvm.sourceforge.net
PROSE, http://prose.ethz.ch
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Phink, Y., Yehudai, A. (2008). Virtual Machine Support for Stateful Aspects. In: Paige, R.F., Meyer, B. (eds) Objects, Components, Models and Patterns. TOOLS EUROPE 2008. Lecture Notes in Business Information Processing, vol 11. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69824-1_6
Download citation
DOI: https://doi.org/10.1007/978-3-540-69824-1_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-69823-4
Online ISBN: 978-3-540-69824-1
eBook Packages: Computer ScienceComputer Science (R0)