Abstract
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 facilities 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.
- M. Aldea, G. Bernat, I. Broster, A. Burns, R. Dobrin, J. M. Drake, G. Fohler, P. Gai, M. González Harbour, G. Guidi, J. J. Gutiérrez, T. Lennvall, G. Lipari, J. M. Martínez, J. L. Medina, J. C. P. Gutiérrez, and M. Trimarchi. 2006. FSF: A real-time scheduling architecture framework. In Proceedings of the IEEE Real Time Technology and Applications Symposium. 113--124. Google ScholarDigital Library
- Altran Praxis. 2011. SPARK—the SPADE Ada Kernel (including RavenSPARK), Edition 7.2.Google Scholar
- M. Amoretti, S. Caselli, and M. Reggiani. 2006. Designing distributed, component-based systems for industrial robotic applications. In Industrial Robotics: Programming, Simulation and Applications, Low Kin Huat (Ed.). ISBN: 3-86611-286-6, InTech, DOI:10.5772/4892.Google Scholar
- J. S. Anderson and E. D. Jensen. 2006. Distributed real-time specification for Java: A status report (digest). In Proceedings of the 4th International Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES’06). ACM, New York, NY, 3--9. Google ScholarDigital Library
- ARINC. ARINC Specification 653p1. 2006. Avionics application software standard interface (ARINC-653).Google Scholar
- ARINC. ARINC Specification 664p7. 2009. Aircraft data network, part 7—Avionics Full Duplex Switched Ethernet (AFDX) network.Google Scholar
- N. Audsley and A. Wellings. 2001. Issues with using Ravenscar and the Ada Distributed Systems Annex for high-integrity systems. Ada Letters XXI, 33--39. Google ScholarDigital Library
- T. P. Baker, 1991. Stack-based scheduling for realtime processes. Real-Time Systems 3, 67--99. Google ScholarDigital Library
- J. Bard and V. J. Kovarik. 2007. Software Defined Radio: The Software Communications Architecture. Wiley-Blackwell. ISBN: 0-47086-518-0.Google Scholar
- P. Basanta-Val, M. García-Valls, and I. Estévez-Ayres. 2010. An architecture for distributed real-time Java based on RMI and RTSJ. In Proceedings of the IEEE Conference on Emerging Technologies and Factory Automation (ETFA). 1--8.Google Scholar
- G. S. Blair, G. Coulson, A. Andersen, L. Blair, M. Clarke, F. Costa, H. Duran-Limon, T. Fitzpatrick, L. Johnston, R. Moreira, N. Parlavantzas, and K. Saikoski. 2001. The design and implementation of open ORB 2. In IEEE Distributed Systems Online, Vol. 2. Google ScholarDigital Library
- G. Bollella and J. Gosling. 2000. The real-time specification for Java. IEEE Computer 33, 6, 47--54. Google ScholarDigital Library
- J. L. Campos, J. J. Gutiérrez, and M. G. Harbour. 2004. The chance for Ada to support distribution and real-time in embedded systems. In Reliable Software Technologies—Ada-Europe 2004, A. Llamosí and A. Strohmeier (Eds.). Lecture Notes in Computer Science, Vol. 3063. Springer, 91--105.Google Scholar
- J. L. Campos, J. J. Gutiérrez, and M. G. Harbour. 2006. Interchangeable scheduling policies in real-time middleware for distribution. In Proceedings of the 11th Ada-Europe International Conference on Reliable Software Technologies. Lecture Notes in Computer Science, Vol. 4006. Springer, 227--240. Google ScholarDigital Library
- A. Corsaro and D. C. Schmidt. 2012. The data distribution service—the communication middleware fabric for scalable and extensible systems-of-systems. In System of Systems, Dr. Adrian V. Gheorghe (Ed.). ISBN: 978-953-51-0101-7, InTech, DOI:10.5772/30322.Google Scholar
- R. I. Davis and A. Burns. 2011. A survey of hard real-time scheduling for multiprocessor systems. ACM Computing Surveys 43, 4, 35:1--35:44. Google ScholarDigital Library
- A. Dubey, G. Karsai, and N. Mahadevan. 2011. A component model for hard real-time systems: CCM with ARINC-653. Software: Practice and Experience (SPE) 41, 12, 1517--1550. DOI:10.1002/spe.1083. http://dx.doi.org/10.1002/spe.1083 Google ScholarDigital Library
- M. Felser. 2001. Ethernet TCP/IP in automation: A short introduction to real-time requirements. In Proceedings of the 8th IEEE International Conference on Emerging Technologies and Factory Automation, Vol. 2. 501--504.Google ScholarCross Ref
- G. Fohler and G. C. Buttazzo. 2002. Introduction to the Special Issue on Flexible Scheduling, Vol. 22. Springer Netherlands. 10.1023/A:1013489610047. Google ScholarDigital Library
- A. Foster and S. Aslam-Mir. 2005. Practical experiences using the OMG's Extensible Transport Framework (ETF) under a real-time Corba ORB to implement QoS sensitive custom transports for SDR. In Proceedings of the SDR Technical Conference and Product Exposition.Google Scholar
- E. Freeman, S. Hupfer, and K. Arnold. 1999. JavaSpaces: Principles, Patterns, and Practice. Addison-Wesley, Reading, MA. Google ScholarDigital Library
- FRESCOR. Framework for Real-Time Embedded Systems Based on COntRacts. 2006. Project Web page. Retrieved September 2013 from http://www.frescor.orgGoogle Scholar
- M. Gillen, J. Loyall, K. Z. Haigh, R. Walsh, C. Partridge, G. Lauer, and T. Strayer. 2012. Information dissemination in disadvantaged wireless communications using a data dissemination service and content data network. In Proceedings of the SPIE Conference on Defense Transformation and Net-Centric Systems, Vol. 8405.Google Scholar
- A. Gokhale, K. Balasubramanian, A. S. Krishna, J. Balasubramanian, G. Edwards, G. Deng, E. Tukay, J. Parsons, and D. C. Schmidt. 2008. Model driven middleware: A new paradigm for developing distributed real-time and embedded systems. Science of Computer Programming 73, 1, 39--58. Google ScholarDigital Library
- C. Grelck, J. Julku, and F. Penczek. 2012. Distributed S-Net: Cluster and grid computing without the hassle. In Proceedings of the 12th IEEE /ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid). 410--418. Google ScholarDigital Library
- J. J. Gutiérrez and M. Harbour. 1999. Prioritizing remote procedure calls in Ada distributed systems. Ada Letters XIX, 67--72. Google ScholarDigital Library
- J. J. Gutiérrez and M. Harbour. 2001. Towards a real-time distributed systems annex in Ada. Ada Letters XXI, 62--66. Google ScholarDigital Library
- M. T. Higuera-Toledano. 2012. Adaptive distributed embedded and real-time Java systems based on RTSJ. In Proceedings of the 15th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing Workshops (ISORCW). 164--171. Google ScholarDigital Library
- J. Hugues, B. Zalila, L. Pautet, and F. Kordon. 2008. From the prototype to the final embedded system using the Ocarina AADL toolsuite. ACM Transactions in Embedded Computing Systems 7, 4, 1--25. Google ScholarDigital Library
- IEEE: The Institute of Electrical and Electronics Engineers STD 802.1D. 2004. Media Access Control (MAC) bridges. http://www.ieee802.org/1/pages/802.1D.htmlGoogle Scholar
- IEEE: The Institute of Electrical and Electronics Engineers STD 802.1Q. 2006. Virtual bridged local area networks. Annex G. http://www.ieee802.org/1/pages/802.1Q.htmlGoogle Scholar
- IEEE: The Institute of Electrical and Electronics Engineers STD 802.1Qbb. 2011. Priority-based flow-control. http://www.ieee802.org/1/pages/802.1bb.htmlGoogle Scholar
- ISO/IEC. 2006. Taft, S. T., Duff, R. A., Brukardt, R., Ploedereder, E., and Leroy, P. 2006. Ada 2005 Reference Manual. Language and Standard Libraries—International Standard ISO/IEC 8652 (E) with Technical Corrigendum 1 and Amendment 1. Lecture Notes in Computer Science, Vol. 4348. Springer.Google Scholar
- ISO/IEC. 2012. Ada 2012 Reference Manual. Language and Standard Libraries—International Standard ISO/IEC 8652:2012(E).Google Scholar
- E. D. Jensen, C. D. Locke, and H. Tokuda. 1985. A time-driven scheduling model for real-time systems. In Proceedings of IEEE Real-Time Systems Symposium. 112--122.Google Scholar
- Y. Kermarrec. 1999. CORBA vs. Ada 95 DSA: A programmer's view. Ada Letters XIX, 39--46. Google ScholarDigital Library
- K. H. Kim. 2000. Object-oriented real-time distributed programming and support middleware. In Proceedings of the 7th International Conference on Parallel and Distributed Systems (ICPADS). IEEE Computer Society, Washington, DC, 10--20. Google ScholarDigital Library
- R. Klefstad, D. C. Schmidt, and C. O’Ryan. 2002. Towards highly configurable real-time object request brokers. In Proceedings of the 5th IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC). 437--447. Google ScholarDigital Library
- H. Kopetz. 2011. Real-Time Systems: Design Principles for Distributed Embedded Applications (2nd ed., XVIII). Springer. Google ScholarDigital Library
- S. Lankes, A. Jabs, and T. Bemmerl. 2003. Integration of a CAN-based connection-oriented communication model into real-time Corba. In Proceedings of the 17th International Symposium on Parallel and Distributed Processing (IPDPS). IEEE Computer Society, Washington DC, 121--129. Google ScholarDigital Library
- J. W. S. Liu. 2000. Real-Time Systems. Prentice Hall PTR, Upper Saddle River, NJ.Google Scholar
- C. L. Liu and J. W. Layland. 1973. Scheduling algorithms for multiprogramming in a hard-real-time environment. Journal of the ACM 20, 46--61. Google ScholarDigital Library
- T. Losert, W. Huber, K. Hendling, and M. Jandl 2004. An extensible transport framework for Corba with emphasis on real-time capabilities. In Proceedings of the 2nd IEEE International Conference on Computational Cybernetics (ICCC). 155--161.Google ScholarCross Ref
- A. K. Mok. 1983. Fundamental Design Problems of Distributed Systems for the Hard Real-Time Environment. Ph.D. Dissertation. Massachusetts Institute of Technology.Google Scholar
- MultiPARTES. Multi-Cores Partitioning for Trusted Embedded Systems (2011--2014). Project Web page. Retrieved September 2013 from http://www.multipartes.euGoogle Scholar
- L. Neumeyer, B. Robbins, A. Nair, and A. Kesari. 2010. S4: Distributed stream computing platform. In Proceedings of the IEEE International Conference on Data Mining (ICDM). 170--177. Google ScholarDigital Library
- K. Nichols, S. Blake, F. Baker, and D. Black. 1998. Definition of the differentiated services field (DS field) in the Ipv4 and Ipv6 headers.Google Scholar
- OMG. 2004. Extensible transport framework.Google Scholar
- OMG. 2005. Realtime Corba Specification. v1.2. http://www.omg.org/spec/RT/1.2/Google Scholar
- OMG. 2007. Data Distribution Service for Real-Time Systems. v1.2. http://www.omg.org/spec/DDS/1.2/Google Scholar
- OMG. 2009. The Real-Time Publish-Subscribe Wire Protocol. DDS interoperability wire protocol specification. v2.1. http://www.omg.org/spec/DDSI/2.1/Google Scholar
- OMG. 2011. Corba Core Specification. v3.2. http://www.omg.org/spec/CORBA/3.2/Google Scholar
- OMG. 2012. Extensible and Dynamic Topic Types for DDS. v1.0. http://www.omg.org/spec/DDS-XTypes/1.0/Google Scholar
- C. O’Ryan, F. Kuhns, D. C. Schmidt, O. Othman, and J. Parsons. 2000. The design and performance of a pluggable protocols framework for real-time distributed object computing middleware. In Proceedings of the IFIP/ACM International Conference on Distributed Systems Platforms. Springer-Verlag, New York, 372--395. Google ScholarDigital Library
- L. Pautet and S. Tardieu. 2000. Glade: A framework for building large object-oriented real-time distributed systems. In Proceedings of ISORC. 244--251. Google ScholarDigital Library
- P. Pedreiras, R. Leite, and L. Almeida. 2003. Characterizing the real-time behavior of prioritized Switched-Ethernet. In Proceedings of the 2nd Workshop on Real-Time LANs in the Internet Age (RTLIA).Google Scholar
- S. Perathoner, E. Wandeler, L. Thiele, A. Hamann, S. Schliecker, R. Henia, R. Racu, R. Ernst, and M. G. Harbour. 2007. Influence of different system abstractions on the performance analysis of distributed real-time systems. In Proceedings of the 7th ACM & IEEE International Conference on Embedded Software (EMSOFT’’07). ACM, New York, NY, 193--202. Google ScholarDigital Library
- H. Pérez and J. J. Gutiérrez. 2009. Experience in integrating interchangeable scheduling policies into a distribution middleware for Ada. In Proceedings of the ACM SIGAda Annual International Conference on Ada and Related Technologies, ACM, New York, 73--78. Google ScholarDigital Library
- H. Pérez and J. J. Gutiérrez. 2012. On the schedulability of a data-centric real-time distribution middleware. Computer Standards and Interfaces 34, 1, 203--211. Google ScholarDigital Library
- H. Pérez and J. J. Gutiérrez. 2013. Experience with the integration of distribution middleware into partitioned systems. In Proceedings of the 17th Ada-Europe International Conference on Reliable Software Technologies. Lecture Notes in Computer Science, Vol. 7896. Springer, 1--16.Google Scholar
- H. Pérez, J. J. Gutiérrez, and M. Harbour. 2012. Adapting the end-to-end flow model for distributed Ada to the Ravenscar profile. Ada Letters 33, 1, 53--63. Google ScholarDigital Library
- H. Pérez, J. J. Gutiérrez, D. Sangorrín, and M. Harbour. 2008. Real-time distribution middleware from the Ada perspective. In Proceedings of the 13th Ada-Europe International Conference on Reliable Software Technologies, F. Kordon and T. Vardanega (Eds.). Lecture Notes in Computer Science, Vol. 5026. Springer, 268--281. Google ScholarDigital Library
- M. Perrotin, E. Conquet, P. Dissaux, T. Tsiodras, and J. Hugues. 2010. The TASTE toolset: Turning human designed heterogeneous systems into computer built homogeneous software. In Proceedings of the European Congress on Embedded Real-Time Software (ERTS’10). Toulouse, France.Google Scholar
- I. Pyarali, M. Spivak, R. Cytron, and D. C. Schmidt. 2001. Evaluating and optimizing thread pool strategies for real-time CORBA. In Proceedings of the 2001 ACM SIGPLAN Workshop on Optimization of Middleware and Distributed Systems. ACM, New York, NY, 214--222. Google ScholarDigital Library
- R. Rekik and S. Hasnaoui. 2009. Application of a can bus transport for DDS middleware. In Proceedings of the 2nd International Conference on the Applications of Digital Information and Web Technologies (ICADIWT). 766--771.Google Scholar
- R. Rouvoy, P. Barone, Y. Ding, F. Eliassen, S. Hallsteinsen, J. Lorenzo, A. Mamelli, and U. Scholz. 2009. MUSIC: Middleware support for self-adaptation in ubiquitous and service-oriented environments. In Software Engineering for Self-Adaptive Systems. Lecture Notes in Computer Science, Vol. 5525. Springer-Verlag, Berlin, Heidelberg, 164--182. Google ScholarDigital Library
- M. Ryll and S Ratchev. 2008. Application of the data distribution service for flexible manufacturing automation. International Journal of Aerospace and Mechanical Engineering 2, 3, 193--200.Google Scholar
- D. C. Schmidt. 1998. Evaluating architectures for multithreaded object request brokers. Communications of the ACM 41, 10, 54--60. Google ScholarDigital Library
- D. C. Schmidt. 2005. TAO Developer's Guide: Building a Standard in Performance. Object Computing, Inc.Google Scholar
- D. C. Schmidt, A. Corsaro, and H. V. Hag. 2008. Addressing the challenges of tactical information management in net-centric systems with DDS. Journal of Defense Software Engineering, 24--29.Google Scholar
- D. C. Schmidt and C. D. Cranor. 1996. Pattern Languages of Program Design 2. Addison-Wesley Longman, Boston, MA, 437--459. Google ScholarDigital Library
- D. C. Schmidt, D. L. Levine, and S. Mungee. 1998. The design of the TAO real-time object request broker. Computer Communications 21, 4, 294--324. Google ScholarDigital Library
- D. C. Schmidt, S. Mungee, S. Flores-Gaitan, and A. Gokhale. 2001. Software architectures for reducing priority inversion and non-determinism in real-time object request brokers. Journal of Real-Time Systems 21, 2, 77--125. Google ScholarDigital Library
- L. Sha, T. Abdelzaher, K. Arzén, A. Cervin, T. Baker, A. Burns, G. Buttazzo, M. Caccamo, J. Lehoczky, andA. Mok. 2004. Real time scheduling theory: A historical perspective. Journal of Real-Time Systems 28, 2--3, 101--155. DOI:10.1023/B:TIME.0000045315.61234.1e. Google ScholarDigital Library
- L. Sha, R. Rajkumar, and J. P. Lehoczky. 1990. Priority inheritance protocols: An approach to real-time synchronization. IEEE Transactions on Computers 39, 9, 1175--1185. Google ScholarDigital Library
- Sun Microsystems. 2000. JSR-50: Distributed Real-Time Specification. http://jcp.org/en/jsr/detail?id=50Google Scholar
- Sun Microsystems. 2002. JavaTM Message Service Specification. v1.1. http://www.oracle.com/technetwork/java/docs-136352.htmlGoogle Scholar
- Sun Microsystems. 2004. Java Remote Method Invocation (RMI). http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136424.htmlGoogle Scholar
- Sun Microsystems. 2012. Distributed Real-Time Specification (Early draft) http://jcp.org/en/egc/download/drtsj.pdf?id=50&fileId=5028Google Scholar
- D. Tejera, A. Alonso, and M. A. de Miguel. 2007. RMI-HRT: Remote method invocation—hard real time. In Proceedings of the 5th International Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES’07). ACM, New York, NY, 113--120. Google ScholarDigital Library
- The Open Group. 1997. DCE: Remote Procedure Calls. v1.2.2. https://www2.opengroup.org/ogsys/jsp/publications/PublicationDetails.jsp?catalogno=t151xGoogle Scholar
- The Open Group. 1998. POSIX .13 IEEE Std. 1003.13-1998. Information Technology—Standardized Application Environment Profile—POSIX Realtime Application Support (AEP). DOI:10.1109/IEEESTD.1999.90558Google Scholar
- The Open Group. 2010. Safety Critical Specification for Java. Draft Version 0.78. http://jcp.org/en/jsr/detail?id=302Google Scholar
- S. Urueña and J. Zamorano. 2007. Building high-integrity distributed systems with Ravenscar restrictions. Ada Letters XXVII 2, 29--36. Google ScholarDigital Library
- T. Vergnaud, J. Hugues, L. Pautet, and F. Kordon. 2004. PolyORB: A schizophrenic middleware to build versatile reliable distributed applications. In Proceedings of Ada-Europe (2004-05-04), A. Llamosí and A. Strohmeier (Eds.). Lecture Notes in Computer Science, Vol. 3063. Springer, 106--119.Google Scholar
- J. Vila-Carbó, J. Tur-Masanet, and E. Hernández-Orallo. 2008. An evaluation of Switched Ethernet and Linux traffic control for real-time transmission. In Proceedings of the ETFA, 400--407.Google Scholar
- C. Zhang and V. Tsaoussidis. 2001. TCP-real: Improving real-time capabilities of TCP over heterogeneous networks. In Proceedings of the 11th International Workshop on Network and Operating Systems Support for Digital Audio and Video (NOSSDAV’01). ACM, New York, NY, 189--198. Google ScholarDigital Library
Index Terms
- A survey on standards for real-time distribution middleware
Recommendations
A Windows CE Implementation of a Middleware Architecture Supporting Time-Triggered Message-Triggered Objects
COMPSAC '01: Proceedings of the 25th International Computer Software and Applications Conference on Invigorating Software DevelopmentThe time-triggered message-triggered object (TMO) programming scheme has been established to remove the limitation of conventional object programming techniques and tools in developing applications containing real-time (RT) distributed computing ...
On the schedulability of a data-centric real-time distribution middleware
This work presents an analysis of the Data Distribution Service for Real-Time Systems (DDS), a data-centric distribution middleware that supports the development of predictable applications, from the schedulability point of view. The study focuses on ...
Real-Time Distribution Middleware from the Ada Perspective
Ada-Europe '08: Proceedings of the 13th Ada-Europe international conference on Reliable Software TechnologiesStandards for distribution middleware sometimes impose restrictions and often allow the implementations to decide on aspects that are fundamental to the correct and efficient behaviour of the applications using them, especially when these applications ...
Comments