Skip to main content

Event Modules

Modularizing Domain-Specific Crosscutting RV Concerns

  • Chapter
Book cover Transactions on Aspect-Oriented Software Development XI

Part of the book series: Lecture Notes in Computer Science ((TAOSD,volume 8400))

Abstract

Runtime verification (RV) facilitates detecting the failures of software during its execution. Due to the complexity of RV techniques, there is an increasing interest in achieving abstractness, modularity, and compose-ability in their implementations by means of dedicated linguistic mechanisms. This paper defines a design space to evaluate the existing domain-specific languages for implementing RV techniques, and identifies the shortcomings of a representative set of these languages with respect to the design space. This paper advocates the need for a language composition framework, which offers the necessary mechanisms to achieve abstractness, modularity, and compose-ability in the implementation of domain-specific crosscutting concerns such as the concerns of RV techniques. We explain event modules as novel linguistic abstractions for modular implementation of domain-specific crosscutting concerns. This paper discusses the implementation of event modules in the EventReactor language, and illustrates the suitability of event modules to implement RV techniques by means of two complementary examples.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Khurshid, S., Sen, K. (eds.): RV 2011. LNCS, vol. 7186. Springer, Heidelberg (2012)

    Google Scholar 

  2. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.M., Irwin, J.: Aspect-Oriented Programming. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  3. Easwaran, A., Kannan, S., Sokolsky, O.: Steering of Discrete Event Systems: Control Theory Approach. Electron. Notes Theor. Comput. Sci. 144, 21–39 (2006)

    Article  Google Scholar 

  4. Meredith, P.O., Jin, D., Griffith, D., Chen, F., Roşu, G.: An Overview of the MOP Runtime Verification Framework. International Journal on Software Techniques for Technology Transfer, 249–289 (2011)

    Google Scholar 

  5. Havelund, K.: Runtime verification of C programs. In: Suzuki, K., Higashino, T., Ulrich, A., Hasegawa, T. (eds.) TestCom/FATES 2008. LNCS, vol. 5047, pp. 7–22. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  6. Bartetzko, D., Fischer, C., Moller, M., Wehrheim, H.: Jass - Java with Assertions. Electronic Notes in Theoretical Computer Science 55(2), 1–15 (2001)

    Google Scholar 

  7. Drusinsky, D.: The Temporal Rover and the ATG Rover. In: Havelund, K., Penix, J., Visser, W. (eds.) SPIN 2000. LNCS, vol. 1885, pp. 323–330. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  8. Barnett, M., Leino, K.R.M., Schulte, W.: The Spec# Programming System: An Overview, pp. 49–69. Springer (2004)

    Google Scholar 

  9. Rosenblum, D.S.: Towards a Method of Programming with Assertions. In: Proceedings of the 14th International Conference on Software Engineering, ICSE 1992, Melbourne, Australia, pp. 92–104. ACM (1992)

    Google Scholar 

  10. Malakuti, S., Bockisch, C., Akşit, M.: Applying the Composition Filter Model for Runtime Verification of Multiple-Language Software. In: Proceedings of the 20th IEEE International Conference on Software Reliability Engineering, ISSRE 2009, pp. 31–40. IEEE Press, Piscataway (2009)

    Google Scholar 

  11. Martin, M., Livshits, B., Lam, M.S.: Finding Application Errors and Security Flaws Using PQL: A Program Query Language. SIGPLAN Not. 40, 365–383 (2005)

    Article  Google Scholar 

  12. Bauer, L., Ligatti, J., Walker, D.: Composing Expressive Runtime Security Policies. ACM Trans. Softw. Eng. Methodol. 18 (2009)

    Google Scholar 

  13. Pavel, C.A., Allan, C., Avgustinov, P., Christensen, A.S., Hendren, L., Kuzins, S., Moor, O.D., Sereni, D., Sittampalam, G., Tibble, J.: Adding Trace Matching with Free Variables to AspectJ. In: OOPSLA, pp. 345–364 (2005)

    Google Scholar 

  14. Barringer, H., Havelund, K.: TraceContract: A scala DSL for trace analysis. In: Butler, M., Schulte, W. (eds.) FM 2011. LNCS, vol. 6664, pp. 57–72. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  15. Malakuti, S.: Event Composition Model: Achieving Naturalness in Runtime Enforcement. PhD thesis, University of Twente (2011)

    Google Scholar 

  16. Malakuti, S., Akşit, M.: Evolution of Composition Filters to Event Composition. In: Proceedings of the 27th Annual ACM Symposium on Applied Computing, SAC 2012, pp. 1850–1857. ACM (2012)

    Google Scholar 

  17. Parnas, D.L.: On the Criteria To Be Used in Decomposing Systems into Modules. Communications of the ACM 15, 1053–1058 (1972)

    Article  Google Scholar 

  18. Akşit, M.: Separation and Composition of Concerns. ACM Computing Surveys 28 (1996)

    Google Scholar 

  19. Sozer, H., Abreu, R., Akşit, M., van Gemund, A.J.: Increasing System Availability with Local Recovery Based on Fault Localization. In: International Conference on Quality Software, pp. 276–281 (2010)

    Google Scholar 

  20. Sozer, H.: Architecting Fault-Tolerant Software Systems. PhD thesis, University of Twente (2009)

    Google Scholar 

  21. Fowler, M.: Domain-Specific Languages. Addison-Wesley Professional (2010)

    Google Scholar 

  22. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of aspectJ. In: Lindskov Knudsen, J. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  23. AspectC, http://www.cs.ubc.ca/labs/spl/projects/aspectc.html

  24. Steimann, F., Pawlitzki, T., Apel, S., Kästner, C.: Types and Modularity for Implicit Invocation with Implicit Announcement. ACM Trans. Softw. Eng. Methodol. 20(1), 1:1–1:43 (2010)

    Google Scholar 

  25. de Roo, A., Hendriks, M., Havinga, W., Durr, P., Bergmans, L.: Compose*: A Language- and Platform-Independent Aspect Compiler for Composition Filters. In: International Workshop on Academic Software Development Tools and Techniques (2008)

    Google Scholar 

  26. Hopcroft, J.E., Motwani, R., Ullman, J.: Introduction to Automata Theory, Languages, and Computation. Addison Wesley (2000)

    Google Scholar 

  27. Malakuti, S., Akşit, M.: Event-Based Modularization of Reactive Systems. In: Concurrent Objects and Beyond. LNCS (2013) (to appear)

    Google Scholar 

  28. Riordan, M.: Designing Relational Database Systems. Microsoft Press (1999)

    Google Scholar 

  29. Ligatti, J., Bauer, L., Walker, D.: Edit Automata: Enforcement Mechanisms for Run-Time Security Policies. International Journal of Information Security 4, 2–16 (2005), doi:10.1007/s10207-004-0046-8

    Article  Google Scholar 

  30. Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.): Software Engineering for Self-Adaptive Systems. LNCS, vol. 5525. Springer, Heidelberg (2009)

    Google Scholar 

  31. Havinga, W., Bergmans, L., Akşit, M.: Prototyping and Composing Aspect Languages: Using an Aspect Interpreter Framework. In: Vitek, J. (ed.) ECOOP 2008. LNCS, vol. 5142, pp. 180–206. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  32. Tanter, É.: An Extensible Kernel Language for AOP. In: Proceedings of the Workshop on Open and Dynamic Aspect Languages (ODAL) (2006)

    Google Scholar 

  33. Malakuti, S., te Brinke, S., Bergmans, L., Bockisch, C.: Towards Modular Resource-Aware Applications. In: Proceedings of the 3rd International Workshop on Variability & Composition (VariComp 2012), pp. 13–17. ACM, New York (2012)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Malakuti, S., Akşit, M. (2014). Event Modules. In: Chiba, S., Tanter, É., Bodden, E., Maoz, S., Kienzle, J. (eds) Transactions on Aspect-Oriented Software Development XI. Lecture Notes in Computer Science, vol 8400. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-55099-7_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-55099-7_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-55098-0

  • Online ISBN: 978-3-642-55099-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics