Skip to main content
Log in

Implementation and analysis of real-time communication protocol compositions

  • Published:
Real-Time Systems Aims and scope Submit manuscript

Abstract

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.

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

  • 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 

  • Abdelzaher T, Shin K (2000) Period-based load partitioning and assignment for large real-time applications. IEEE Trans Comput 49(1):81–87

    Article  Google Scholar 

  • 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 

  • 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

  • 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 

  • 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 

  • 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

    Article  Google Scholar 

  • Bollella G, Gosling J (2000) The real-time specification for java. IEEE Comput 33(6):47–54

    Google Scholar 

  • Chevochot P, Puaut I (2000) Holistic schedulability analysis of a fault-tolerant real-time distributed run-time support. In: RTCSA, pp 355–362

  • Cristian F (1990) Synchronous atomic broadcast for redundant broadcast channels. Real-Time Syst 2:195–212

    Article  Google Scholar 

  • 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

  • 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

  • Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns elements of reusable object-oriented software. Addison–Wesley, Reading

    Google Scholar 

  • 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 

  • Guerraoui R, Rodrigues L (2006) Introduction to reliable distributed programming. Springer, Berlin

    MATH  Google Scholar 

  • Hayden M (1998) The ensemble system. PhD thesis, Cornell University, Computer Science Department

  • 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

    Article  Google Scholar 

  • Holzmann G, Smith M (2002) An automated verification method for distributed systems software based on model extraction. Trans Softw Eng 28(4):364–377

    Article  Google Scholar 

  • Hutchinson N, Peterson L (1991) The x-kernel: an architecture for implementing network protocols. IEEE Trans Softw Eng 17(1):64–76

    Article  Google Scholar 

  • 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 

  • 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 

  • Liu C, Layland J (1973) Scheduling algorithms for multiprogramming in a hard-real-time environment. J ACM 20(1):46–61

    Article  MATH  Google Scholar 

  • 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 

  • 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

  • Pop T, Eles P, Peng Z (2003) Schedulability analysis for distributed heterogeneous time/event triggered real-time systems. In: ECRTS, pp 257–266

  • 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

  • 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

  • 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 

  • Sha L, Rajkumar R, Lehoczky J (1990) Priority inheritance protocols: an approach to real-time synchronization. IEEE Trans Comput 39(9):1175–1185

    Article  Google Scholar 

  • Tindell K (1993) Holistic schedulability analysis for distributed hard real-time systems. Technical Report YCS197, Department of Computer Science, University of York, April 1993

  • Tindell K (1994) Adding time-offsets to schedulability analysis. Technical Report YCS221, Department of Computer Science, University of York, January 1994

  • 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

  • Tindell K, Burns A, Wellings A (1992a) Allocating hard real-time tasks: an NP-hard problem made easy. Real-Time Syst 4:145–165

    Article  Google Scholar 

  • 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

  • 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

  • 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 

  • Yovine S (1997) Kronos: a verification tool for real-time systems. Springer Int J Softw Tools Technol Transf 1(1/2):123–133

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to João Rodrigues.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Rodrigues, J., Ventura, J., de Campos, A.M. et al. Implementation and analysis of real-time communication protocol compositions. Real-Time Syst 37, 45–76 (2007). https://doi.org/10.1007/s11241-007-9026-1

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11241-007-9026-1

Keywords

Navigation