Implementing the real-time publisher/subscriber model on the controller area network (CAN)

Designing distributed real-time systems as being composed of communicating objects offers many advantages with respect to modularity and extensibility of these systems. However, distributed real-time applications exhibit communication patterns that significantly differ from the traditional object invocation style. The publisher/subscriber model for inter-object communication matches well with these patterns. Any implementation of that model must address the problems of binding subscribers to publishers, of routing and filtering of messages, as well as reliability, efficiency and latency of message delivery. In the context of real-time applications, all these issues must be subject to a rigid inspection with respect to meeting real-time requirements. We argue that for embedded control systems built around smart microcontroller-powered devices these requirements can only be met when exploiting the properties of the underlying network. The CAN-Bus (CAN: Controller Area Network) which is an emerging standard in the field of real-time embedded systems is particularly suited to implement a publisher/subscriber model of communication. We present an implementation of the real-time publisher/subscriber model that exploits the underlying facilities of the CAN-Bus. In particular, we introduce a novel addressing scheme for publisher/subscriber communication that makes efficient use of the CAN-Bus addressing method. We provide a detailed design and implementation details along with some preliminary performance estimations.

[1]  Douglas C. Schmidt,et al.  The design and performance of a real-time CORBA event service , 1997, OOPSLA '97.

[2]  Andrew S. Tanenbaum,et al.  Computer Networks, 3rd Edition , 1996, Prentice-Hall international editions.

[3]  Jörg Kaiser,et al.  Evaluation of a Hybrid Real-Time Bus Scheduling Mechanism for CAN , 1999, IPPS/SPDP Workshops.

[4]  Alan Burns,et al.  GUARANTEED MESSAGE LATENCIES FOR DISTRIBUTED SAFETY-CRITICAL HARD REAL-TIME CONTROL NETWORKS1 , 1994 .

[5]  Kinji Mori,et al.  Autonomous decentralized systems: Concept, data field architecture and future trends , 1993, Proceedings ISAD 93: International Symposium on Autonomous Decentralized Systems.

[6]  Kang G. Shin,et al.  Non-preemptive scheduling of messages on controller area network for real-time control applications , 1995, Proceedings Real-Time Technology and Applications Symposium.

[7]  Dale Skeen,et al.  The Information Bus: an architecture for extensible distributed systems , 1994, SOSP '93.

[8]  José Rufino,et al.  Fault-tolerant broadcasts in CAN , 1998, Digest of Papers. Twenty-Eighth Annual International Symposium on Fault-Tolerant Computing (Cat. No.98CB36224).

[9]  Karl-Heinz Kaiser,et al.  Error Detection Analysis of Automotive Communication Protocols , 1990 .

[10]  Vinny Cahill,et al.  An Event Based Object Model for Distributed Programming , 1995, OOIS.

[11]  Edgar Nett,et al.  Real-time communication in autonomous robot systems , 1999, Proceedings. Fourth International Symposium on Autonomous Decentralized Systems. - Integration of Heterogeneous Systems -.

[12]  Paulo Veríssimo,et al.  Real-time communication , 1993 .

[13]  Jörg Kaiser,et al.  EDF Consensus on CAN Bus Access for Dynamic Real-Time Applications , 1998, IPPS/SPDP Workshops.

[14]  Lui Sha,et al.  Model for Distributed Real-Time Systems : Design and Implementation , 2001 .

[15]  Weijia Jia,et al.  Scheduling Hard and Soft Real-Time Communication in the Controller Area Network (CAN) , 1998 .

[16]  Nicholas Carriero,et al.  Linda in context , 1989, CACM.