49 A Survey on Standards for Real-Time Distribution Middleware H ´ ECTOR P ´ EREZ and J. JAVIER GUTI ´ ERREZ, University of Cantabria This survey covers distribution standards oriented to the development of distributed real-time systems. Currently, there are many distribution standards that provide a wide and different set of real-time facili- ties to control the temporal aspects of applications. Besides giving a general overview of these standards, we describe the real-time mechanisms proposed by each standard to manage both processor and network resources, discuss whether the available facilities are sufficient to guarantee determinism throughout the whole application, and identify a set of features and deployment options that would be desirable in any real-time distribution middleware regardless of its distribution model and standard. The survey identifies open issues and key challenges for future research. Categories and Subject Descriptors: C.3 [Special-Purpose and Application-Based Systems]: Real-Time and Embedded Systems; C.2.4 [Distributed Systems]: Distributed Applications General Terms: Performance, Design Additional Key Words and Phrases: Middleware, distribution standards, networks, scheduling, real time ACM Reference Format: H´ ector P´ erez and J. Javier Guti´ errez. 2014. A survey on standards for real-time distribution middleware. ACM Comput. Surv. 46, 4, Article 49 (March 2014), 39 pages. DOI: http://dx.doi.org/10.1145/2532636 1. INTRODUCTION The concept of a distributed application is not new; it has existed since two computers were first connected and may consist of several tens of processors interconnected by one or more communication networks. However, the programming techniques used in these systems have evolved greatly, and they have become especially relevant in the past decade. Today, many services are provided transparently to the user and executed in a computer network: Automatic Teller Machines (ATMs), cable TV, and Web services are examples used in our daily lives. Simple and homogeneous distributed applications can be developed directly using the communications services provided by operating systems. However, the direct use of such services by the programmer, even if it usually provides good performance, is error prone. Thus, a set of high-level abstractions (distribution models or paradigms) have been defined for these communication services in order to allow the programmer to specify interactions between components of a distributed application easily. These include Remote Procedure Calls (RPCs), distribution based on objects (DOM), distri- bution based on messages (MOM), distributed stream computing, or the Tuplespaces Authors’ address: H´ ector P´ erez and J. Javier Guti´ errez, Computers and Real-Time Group, University of Cantabria, Avda. de los Castros s/n, 39005 - Santander, Spain; emails: perezh@unican.es, gutierjj@unican.es. This work has been funded in part by the Spanish government and FEDER funds under grant TIN2011- 28567-C03-02 (HI-PARTES). Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies show this notice on the first page or initial screen of a display along with the full citation. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, to redistribute to lists, or to use any component of this work in other works requires prior specific permission and/or a fee. Permissions may be requested from Publications Dept., ACM, Inc., 2 Penn Plaza, Suite 701, New York, NY 10121-0701 USA, fax +1 (212) 869-0481, or permissions@acm.org. c 2014 ACM 0360-0300/2014/03-ART49 $15.00 DOI: http://dx.doi.org/10.1145/2532636 ACM Computing Surveys, Vol. 46, No. 4, Article 49, Publication date: March 2014.