Real-Time Systems

, Volume 37, Issue 1, pp 45–76 | Cite as

Implementation and analysis of real-time communication protocol compositions

  • João Rodrigues
  • João Ventura
  • A. M. de Campos
  • Luís Rodrigues


A flexible way of building modular communication stacks relies on the use of protocol composition. This paper describes a protocol composition framework that simplifies the task of deriving the worst-case response time of a protocol composition from the protocol implementation. In order to derive the worst-case response time of a protocol composition, one needs to capture its event-graph: the event-graph consists of the set of all events processed by each component and the relation between those events. The framework, called RT-Appia, takes a pragmatic approach: instead of requiring the use of domain specific code analysis tools, or dedicated compilers, it simply requires protocol programmers to make explicit which events are processed and produced by each layer, and how these events are related. An interesting aspect of the approach is that the same data structures that are used to simplify the task of computing the worst-case response time of the protocol composition are also used to optimize the performance and to debug the resulting implementation.


Protocol composition and execution framework Real-time Schedulability analysis Allocation Priority assignment 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Abdelzaher T, Dawson S, Feng W, Jahanian F, Johnson S, Mehra A, Mitton T, Shaikh A, Shin K, Wang Z, Zou H (1997) ARMADA midleware suite. In: Proceedings of the workshop on middleware for real-time systems and services, San Francisco, CA, December 1997. IEEE, New York Google Scholar
  2. Abdelzaher T, Shin K (2000) Period-based load partitioning and assignment for large real-time applications. IEEE Trans Comput 49(1):81–87 CrossRefGoogle Scholar
  3. Abdelzaher T, Shaikh A, Jahanian F, Shin K (1996) RTCAST: lightweight multicast for real-time process groups. In: Proceedings of the second IEEE real-time technology and applications symposium, Boston, MA, USA, June 1996. IEEE, New York Google Scholar
  4. Accetta M, Baron R, Bolosky W, Golub D, Rashid R, Tevanian A, Young M (1986) Mach: a new kernel foundation for Unix development. In: Proceedings of the summer Usenix, July 1986 Google Scholar
  5. Amnell T, Behrmann G, Bengtsson J, D’Argenio P, David A, Fehnker A, Hune T, Jeannet B, Larsen K, Moller M, Pettersson P, Weise C, Yi W (2001) UPPAAL—now, next, and future, modeling and verification of parallel processes. In: Cassez F, Jard C, Rozoy B, Ryan M (eds) Lecture notes in computer science, vol 2067. Springer, Berlin, pp 100–125 Google Scholar
  6. Ball T, Rajamani SK (2001) Automatically validating temporal safety properties of interfaces. In: SPIN 2001, workshop on model checking of software. Lecture notes in computer science, vol 2057. Springer, Berlin, pp 103–122 Google Scholar
  7. Bhatti N, Hiltunen M, Schlichting R, Chiu W (1998) Coyote: a system for constructing fine-grain configurable communication services. ACM Trans Comput Syst 16(4):321–366 CrossRefGoogle Scholar
  8. Bollella G, Gosling J (2000) The real-time specification for java. IEEE Comput 33(6):47–54 Google Scholar
  9. Chevochot P, Puaut I (2000) Holistic schedulability analysis of a fault-tolerant real-time distributed run-time support. In: RTCSA, pp 355–362 Google Scholar
  10. Cristian F (1990) Synchronous atomic broadcast for redundant broadcast channels. Real-Time Syst 2:195–212 CrossRefGoogle Scholar
  11. Davis R, Burns A, Bril R, Lukkien J (2006) Controller area network (CAN) schedulability analysis: refuted, revisited and revised. In: Proceedings of the third international workshop on dependable embedded systems, Leeds, UK, October 2006 Google Scholar
  12. Dwyer M, Hatcliff J, Joehanes R, Laubach S, Pasareanu C, Willem R, Zheng H (2001) Tool-supported program abstraction for finite-state verification. In: Proceedings of the 23rd international conference on software engineering, May 2001 Google Scholar
  13. Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns elements of reusable object-oriented software. Addison–Wesley, Reading Google Scholar
  14. Garbinato B, Guerraoui R (1998) Flexible protocol composition in bast. In: Proceedings of the 18th international conference on distributed computing systems (ICDCS-18), Amsterdam, The Netherlands, May 1998. IEEE Computer Society, Los Alamitos, pp 22–29 Google Scholar
  15. Guerraoui R, Rodrigues L (2006) Introduction to reliable distributed programming. Springer, Berlin zbMATHGoogle Scholar
  16. Hayden M (1998) The ensemble system. PhD thesis, Cornell University, Computer Science Department Google Scholar
  17. Hiltunen M, Schlichting R, Han X, Cardozo M, Das R (1999) Real-time dependable channels: customizing Qos attributes for distributed systems. IEEE Trans Parallel Distrib Syst 10(6):600–612 CrossRefGoogle Scholar
  18. Holzmann G, Smith M (2002) An automated verification method for distributed systems software based on model extraction. Trans Softw Eng 28(4):364–377 CrossRefGoogle Scholar
  19. Hutchinson N, Peterson L (1991) The x-kernel: an architecture for implementing network protocols. IEEE Trans Softw Eng 17(1):64–76 CrossRefGoogle Scholar
  20. Kopetz H, Grunsteidl G (1994) TTP-A protocol for fault-tolerant real-time systems: a multi-primitive group communication service. IEEE Trans Comput 27:14–23 Google Scholar
  21. Lehoczky J, Sha L, Ding Y (1990) Fixed priority scheduling of periodic task sets with arbitrary deadlines. In: Proceedings of the 11h IEEE real-time systems symposium, Lake Buena Vista, FL, USA, December 1990. IEEE Computer Society, Los Alamitos, pp 201–209 Google Scholar
  22. Liu C, Layland J (1973) Scheduling algorithms for multiprogramming in a hard-real-time environment. J ACM 20(1):46–61 zbMATHCrossRefGoogle Scholar
  23. Miranda H, Pinto A, Rodrigues L (2001) Appia, a flexible protocol kernel supporting multiple coordinated channels. In: Proceedings of the 21st international conference on distributed computing systems, Phoenix, Arizona, April 2001. IEEE, New York, pp 707–710 Google Scholar
  24. Palencia J, Harbour M (1998) Schedulability analysis for tasks with static and dynamic offsets. In: Proceedings of the IEEE real-time systems symposium, Madrid, Spain, December 1998, pp 26–37 Google Scholar
  25. Pop T, Eles P, Peng Z (2003) Schedulability analysis for distributed heterogeneous time/event triggered real-time systems. In: ECRTS, pp 257–266 Google Scholar
  26. Richard M, Richard P, Cottet F (2001) Task and message priority assignment in automotive systems. In: 4th FeT IFAC conference on fieldbus systems and their applications, pp 105–112 Google Scholar
  27. Rodrigues J, Rodrigues L (2004) From running code to event-graphs: a pragmatic approach to derive WCRT of protocol compositions. In: Proceedings of the 5th IEEE international workshop on factory communication systems, Vienna, Austria, September 2004, pp 265–274 Google Scholar
  28. Rufino J, Veríssimo P, Arroz G, Almeida C, Rodrigues L (1998) Fault-tolerant broadcasts in CAN. In: Digest of papers, the 28th IEEE international symposium on fault-tolerant computing, Munich, Germany, June 1998. IEEE, New York, pp 150–159 Google Scholar
  29. Sha L, Rajkumar R, Lehoczky J (1990) Priority inheritance protocols: an approach to real-time synchronization. IEEE Trans Comput 39(9):1175–1185 CrossRefGoogle Scholar
  30. Tindell K (1993) Holistic schedulability analysis for distributed hard real-time systems. Technical Report YCS197, Department of Computer Science, University of York, April 1993 Google Scholar
  31. Tindell K (1994) Adding time-offsets to schedulability analysis. Technical Report YCS221, Department of Computer Science, University of York, January 1994 Google Scholar
  32. Tindell K, Burns A, Wellings A (1991) Guaranteeing hard real-time end-to-end communication deadlines. Technical Report RTRG/91/107, Department of Computer Science, University of York Google Scholar
  33. Tindell K, Burns A, Wellings A (1992a) Allocating hard real-time tasks: an NP-hard problem made easy. Real-Time Syst 4:145–165 CrossRefGoogle Scholar
  34. Tindell K, Burns A, Wellings A (1992b) An extensible approach for analysing fixed priority hard real-time tasks. Technical Report YCS189, Department of Computer Science, University of York Google Scholar
  35. Travostino F, Menze E, Reynolds F (1996) Paths: programming with system resources in support of real-time distributed applications. In: Proceedings of the 2nd IEEE workshop on object-oriented real-time dependable systems, Laguna Beach, CA, February 1996 Google Scholar
  36. Ventura J, Rodrigues J, Rodrigues L (2001) Timing analysis of object-oriented communication protocols. In: Proceedings of the 4th IEEE international symposium on object-oriented real-time distributed computing (ISORC), Magdeburg, Germany, May 2001. IEEE, New York, pp 335–342 Google Scholar
  37. Yovine S (1997) Kronos: a verification tool for real-time systems. Springer Int J Softw Tools Technol Transf 1(1/2):123–133 zbMATHCrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2007

Authors and Affiliations

  • João Rodrigues
    • 1
  • João Ventura
    • 2
  • A. M. de Campos
    • 1
  • Luís Rodrigues
    • 2
  1. 1.INETILisboaPortugal
  2. 2.Universidade de LisboaLisboaPortugal

Personalised recommendations