Skip to main content

Event-Based Modularization of Reactive Systems

  • Chapter
Concurrent Objects and Beyond

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8665))

Abstract

There is a large number of complex software systems that have reactive behavior. As for any other software system, reactive systems are subject to evolution demands. This paper defines a set requirements that must be fulfilled so that reuse of reactive software systems can be increased. Detailed analysis of a set of representative languages reveals that these requirements are not completely fulfilled by the current programming languages and as such reuse of reactive systems remains a challenge. This paper explains Event Composition Model and its implementation the EventReactor language, which fulfill the requirements. By means of an example, the suitability of the EventReactor language in creating reusable reactive systems is illustrated.

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. Harel, D., Pnueli, A.: On the Development of Reactive Systems. In: Apt, K.R. (ed.) Logics and Models of Concurrent Systems, pp. 477–498. Springer, New York (1985)

    Chapter  Google Scholar 

  2. Güleşir, G.: Evolvable Behavior Specifications Using Context-Sensitive Wildcards. PhD thesis, University of Twente, Enschede (2008)

    Google Scholar 

  3. Salvaneschi, G., Mezini, M.: Reactive Behavior in Object-Oriented Applications: an Analysis and a Research Roadmap. In: AOSD 2013, pp. 37–48. ACM (2013)

    Google Scholar 

  4. Gamma, E., Helm, R., Johnson, R., Vlissides, J.M.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional (1994)

    Google Scholar 

  5. Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R.: Documenting Software Architectures: Views and Beyond. Addison-Wesley Professional (2002)

    Google Scholar 

  6. Basten, T., Hamberg, R., Reckers, F., Verriet, J.: Model-Based Design of Adaptive Embedded Systems. Springer (2013)

    Google Scholar 

  7. Boussinot, F.: Reactive C: An Extension of C to Program Reactive Systems. Software: Practice and Experience 21(4), 401–428 (1991)

    Google Scholar 

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

    Google Scholar 

  9. de Roo, A., Sözer, H., Aksit, M.: Verification and Analysis of Domain-Specific Models of Physical Characteristics in Embedded Control Software. Information and Software Technology 54(12), 1432–1453 (2012)

    Article  Google Scholar 

  10. Malakuti, S., Akşit, M.: Event Modules: Modularizing Domain-Specific Crosscutting RV Concerns. In: Chiba, S., Tanter, É., Bodden, E., Maoz, S., Kienzle, J. (eds.) Transactions on AOSD XI. LNCS, vol. 8400, pp. 27–69. Springer, Heidelberg (2014)

    Chapter  Google Scholar 

  11. 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 

  12. Salehie, M., Tahvildari, L.: Self-adaptive Software: Landscape and Research Challenges. ACM Trans. Auton. 4(2), 14:1–14:42 (2009)

    Google Scholar 

  13. Delgado, N., Gates, A., Roach, S.: A Taxonomy and Catalog of Runtime Software-Fault Monitoring Tools. IEEE Transactions on Software Engineering 30(12), 859–872 (2004)

    Article  Google Scholar 

  14. Koob, G.M., Lau, C.G.: Foundations of Dependable Computing: Paradigms for Dependable Applications. Springer (1994)

    Google Scholar 

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

    Google Scholar 

  16. Ingalls, D.H.H.: A Simple Technique for Handling Multiple Polymorphism. In: OOPLSA 1986, pp. 347–349. ACM (1986)

    Google Scholar 

  17. Compose, http://composestar.sourceforge.net/

  18. 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 2005, pp. 345–364 (2005)

    Google Scholar 

  19. Sakurai, K., Masuhara, H., Ubayashi, N., Matsuura, S., Komiya, S.: Association Aspects. In: Proceedings of the 3rd International Conference on Aspect-oriented Software Development, pp. 16–25. ACM, Lancaster (2004)

    Chapter  Google Scholar 

  20. Harbulot, B., Gurd, J.R.: A Join Point for Loops in AspectJ. In: AOSD, pp. 63–74. ACM (2006)

    Google Scholar 

  21. Bockisch, C., Malakuti, S., Katz, S., Aksit, M.: Making Aspects Natural: Events and Composition. In: AOSD 2011, pp. 285–299. ACM (2011)

    Google Scholar 

  22. Steimann, F., Pawlitzki, T., Apel, S., Kästner, C.: Types and Modularity for Implicit Invocation with Implicit Announcement. ACM Transactions on Software Engineering and Methodology 20, 1:1–1:43 (2010)

    Google Scholar 

  23. Malakuti, S., Aksit, 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 

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

  25. Ostermann, K., Mezini, M., Bockisch, C.: Expressive Pointcuts for Increased Modularity. In: Gao, X.-X. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 214–240. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  26. Hoffman, K., Eugster, P.: Cooperative Aspect-Oriented Programming. Sci. Comput. Program. 74, 333–354 (2009)

    Article  MathSciNet  MATH  Google Scholar 

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

    Google Scholar 

  28. Malakuti, S., Bockisch, C., Aksit, M.: Applying the Composition Filter Model for Runtime Verification of Multiple-Language Software. In: ISSRE 2009, pp. 31–40. IEEE Press, Piscataway (2009)

    Google Scholar 

  29. Microsoft Corporation. C# language specification, http://msdn.microsoft.com/en-us/vcsharp/aa336809.aspx

  30. Gasiunas, V., Satabin, L., Mezini, M., Núñez, A., Noyé, J.: EScala: Modular Event-Driven Object Interactions in Scala. In: AOSD 2011, pp. 227–240. ACM (2011)

    Google Scholar 

  31. Odersky, M.: Programming in Scala: A Comprehensive Step-by-Step Guide. Artima Inc. (2008)

    Google Scholar 

  32. Rajan, H., Leavens, G.T.: Ptolemy: A Language with Quantified, Typed Events. In: Vitek, J. (ed.) ECOOP 2008. LNCS, vol. 5142, pp. 155–179. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  33. Chen, F., Roşu, G.: MOP: An Efficient and Generic Runtime Verification Framework. In: Object-Oriented Programming, Systems, Languages and Applications(OOPSLA 2007), pp. 569–588. ACM Press (2007)

    Google Scholar 

  34. 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 

  35. Java-JNI, http://download.oracle.com/javase/1.5.0/docs/guide/jni/spec/jniTOC.html

  36. Malakuti, S., Aksit, M., Bockisch, C.: Runtime Verification in Distributed Computing. Journal of Convergence: An International Journal of Future Technology Research Association International 2(1) (2011)

    Google Scholar 

  37. 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 

  38. Nagy, I.: On the Design of Aspect-Oriented Composition Models for Software Evolution. Phd thesis, IPA (May 2006), ISBN: 90-365-2368-0

    Google Scholar 

  39. Malakuti, S., te Brinke, S., Bergmans, L., Bockisch, C.: Towards Modular Resource-Aware Applications. In: VariComp 2012, pp. 13–17. ACM, New York (2012)

    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., Aksit, M. (2014). Event-Based Modularization of Reactive Systems. In: Agha, G., et al. Concurrent Objects and Beyond. Lecture Notes in Computer Science, vol 8665. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-44471-9_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-44471-9_16

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-662-44470-2

  • Online ISBN: 978-3-662-44471-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics