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.
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
Abdelzaher T, Shin K (2000) Period-based load partitioning and assignment for large real-time applications. IEEE Trans Comput 49(1):81–87
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
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
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
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
Bollella G, Gosling J (2000) The real-time specification for java. IEEE Comput 33(6):47–54
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
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
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
Guerraoui R, Rodrigues L (2006) Introduction to reliable distributed programming. Springer, Berlin
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
Holzmann G, Smith M (2002) An automated verification method for distributed systems software based on model extraction. Trans Softw Eng 28(4):364–377
Hutchinson N, Peterson L (1991) The x-kernel: an architecture for implementing network protocols. IEEE Trans Softw Eng 17(1):64–76
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
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
Liu C, Layland J (1973) Scheduling algorithms for multiprogramming in a hard-real-time environment. J ACM 20(1):46–61
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
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
Sha L, Rajkumar R, Lehoczky J (1990) Priority inheritance protocols: an approach to real-time synchronization. IEEE Trans Comput 39(9):1175–1185
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
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
Yovine S (1997) Kronos: a verification tool for real-time systems. Springer Int J Softw Tools Technol Transf 1(1/2):123–133
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11241-007-9026-1