Skip to main content
Log in

Time-triggered buffers for event-based middleware systems

  • Original Paper
  • Published:
Innovations in Systems and Software Engineering Aims and scope Submit manuscript

Abstract

Application developers utilizing event-based middleware have sought to leverage domain-specific modeling for the advantages of intuitive specification, code synthesis, and support for design evolution. For legacy and cyber-physical systems, the use of event-based middleware may mean that changes in computational platform can result anomalous system behavior, due to the presence of implicit temporal dependencies. These anomalies are a function not of the component implementation, but of the model of computation employed for supporting system composition. In order to address these behavioral anomalies, the paper presents an approach where time-based blocks are inserted into the system to account for the temporal dependencies. An advantage of capturing the system composition in a domain-specific modeling language is the ability to efficiently refactor an application to include time-triggered, event-based schedulers. This paper describes how an existing event-based component topology can be modified to permit a time-triggered model of computation, with no changes to the existing component software. Further, the time-triggered components can be deployed alongside standard publish/subscribe methodologies. This strategy is beneficial to the maintenance of existing legacy systems upon upgrade, since the current operational mode could be maintained with minimal changes to the legacy software even under changes to the target platform which alter execution speed. These time-triggered layers are discussed in three permutations: fully triggered, start triggered, and release triggered. A discussion is provided regarding the limitations of each approach, and a brief example is given. The example shows how to apply these triggering approaches without the modification of existing components, but instead through the insertion of triggered buffers between legacy components.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. (2007) Data Distribution Service for Real-Time Systems, Version 1.2. Object Modeling Group

  2. Auerbach J, Bacon DF, Iercan DT, Kirsch CM, Rajan VT, Roeck H, Trummer R (2007) Java takes flight: time-portable real-time programming with exotasks. SIGPLAN Not 42(7): 51–62. doi:10.1145/1273444.1254775

    Article  Google Scholar 

  3. Balasubramanian D, Narayanan A, van Buskirk C, Karsai G (2006) The graph rewriting and transformation language: GReAT. In: Zündorf A, Varró D (eds) Electronic Communications of the EASST, Vol 1. 8 p. ISSN 1863-2122

  4. Box D (1997) Essential COM. Addison-Wesley, Reading

    Google Scholar 

  5. Colin A, Puaut I (2000) Worst case execution time analysis for a processor with branch prediction. Real-Time Systems 18(2–3): 249–274. doi:10.1023/A:1008149332687

    Article  Google Scholar 

  6. Farcas E, Farcas C, Pree W, Templ J (2005) Transparent distribution of real-time components based on logical execution time. In: LCTES ’05: Proceedings of the 2005 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems, ACM, New York, NY, USA, pp. 31–39. doi:10.1145/1065910.1065915

  7. Goderis A, Brooks C, Altintas I, Lee EA, Goble C (2007) Heterogeneous composition of models of computation. Tech. Rep. UCB/EECS-2007-139, EECS Department, University of California, Berkeley. http://www.eecs.berkeley.edu/Pubs/TechRpts/2007/EECS-2007-139.html

  8. Henning M, Spruiell M (2009) Distributed Programming with Ice, 3rd edn

  9. Henzinger T, Horowitz B, Kirsch C (2003) Giotto: a time-triggered language for embedded programming. Proceedings of the IEEE 91(1): 84–99. doi:10.1109/JPROC.2002.805825

    Article  Google Scholar 

  10. Henzinger TA, Kirsch CM, Matic S (2005) Composable code generation for distributed Giotto. SIGPLAN Not 40(7): 21–30. doi:10.1145/1070891.1065914

    Article  Google Scholar 

  11. Kahn G (1974) The semantics of a simple language for parallel programming. In: Proceedings of the IFIP Congress, North-Holland Publishing Co, pp 471–475

  12. Kahn G, MacQueen DB (1977) Coroutines and networks of parallel processes. Information Processing, North-Holland Publishing Co, pp 993–998

  13. Kopetz H, Bauer G (2003) The time-triggered architecture. Proc IEEE 91(1): 112–126. doi:10.1109/JPROC.2002.805821

    Article  Google Scholar 

  14. Kopetz H, Grunsteidl G (1993) TTP—a time-triggered protocol for fault-tolerant real-time systems. In: Proceedings of the twenty-third international symposium on fault-tolerant computing, pp 524–533. doi:10.1109/FTCS.1993.627355

  15. Ledeczi A, Bakay A, Maroti M, Vőlgyesi P, Nordstrom G, Sprinkle J, Karsai G (2001) Composing domain-specific design environments. IEEE Computer 34(11): 44–51. doi:10.1109/2.963443

    Google Scholar 

  16. Lee E, Parks T (1995) Dataflow process networks. Proc IEEE 83(5): 773–801. doi:10.1109/5.381846

    Article  Google Scholar 

  17. Lewis B, Berg DJ (1997) Multithreaded programming with PThreads. Prentice Hall PTR, New Jersey

    Google Scholar 

  18. Matic S, Henzinger TA (2005) Trading end-to-end latency for composability. Real-time systems symposium. IEEE Int 0: 99–110. doi:10.1109/RTSS.2005.43

    Article  Google Scholar 

  19. Monson-Haefel R (2001) Enterprise JavaBeans, 3rd edn. O’Reilly, Sebastopol

    Google Scholar 

  20. Prosise J (2002) Programming Microsoft. NET. Microsoft Press, Bellevue

    Google Scholar 

  21. Puschner P, Koza C (1989) Calculating the maximum, execution time of real-time programs. Real-Time Syst 1(2): 159–176. doi:10.1007/BF00571421

    Article  Google Scholar 

  22. Pyarali I, O’Ryan C, Schmidt D, Wang N, Gokhale A, Kachroo V (2000) Using principle patterns to optimize real-time ORBs. Concurrency, IEEE 8(1): 16–25. doi:10.1109/4434.824309

    Article  Google Scholar 

  23. Pyarali I, Schmidt D, Cytron R (2003) Techniques for enhancing real-time CORBA quality of service. Proc IEEE 91(7): 1070–1085. doi:10.1109/JPROC.2003.814616

    Article  Google Scholar 

  24. Schantz RE, Loyall JP, Schmidt DC, Rodrigues C, Kirishnamurthy Y, Pyarali I (2003) Flexible and adaptive QoS control for distributed real-time and embedded middleware. In: Proceedings of middleware 2003, 4th IFIP/ACM/USENIX international conference on distrubted systems platforms, Rio de Janeiro, Brazil

  25. Schmidt D, Levine D, Mungee S (April 1998) The design and performance of real-time object request brokers. Computer Commun 21:294–324

    Google Scholar 

  26. Schuster A, Sprinkle J (2009) Synthesizing executable simulations from structural models of component-based systems. Electronic Communications of the EASST, Vol 21. 10 p. ISSN 1863-2122

  27. Upcroft B, Makarenko A, Moser M, Alempijevic A, Donikian A, Uther W, Fitch R (2007) Empirical evaluation of an autonomous vehicle in an urban environment. J Aerospace Comput Inform Commun 4(12): 1086–1107

    Article  Google Scholar 

  28. Wollrath A, Riggs R, Waldo J (1996) A distributed object model for the Java system. USENIX Computing Systems, MIT Press 9(4)

  29. Wong K, Wang C (1999) Push-Pull Messaging: a high-performance communication mechanism for commodity SMP clusters. In: Parallel processing, International conference on, pp 12–19

  30. Zeigler B, Praehofer H, Kim T (2000) Theory of modeling and simulation. Academic Press, New York

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jonathan Sprinkle.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Sprinkle, J., Eames, B. Time-triggered buffers for event-based middleware systems. Innovations Syst Softw Eng 7, 9–22 (2011). https://doi.org/10.1007/s11334-010-0139-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11334-010-0139-7

Keywords

Navigation