covid
Buscar en
Revista Iberoamericana de Automática e Informática Industrial RIAI
Toda la web
Inicio Revista Iberoamericana de Automática e Informática Industrial RIAI Diseño de un Software de Intermediación de Comunicación para Sistemas Distrib...
Información de la revista
Vol. 10. Núm. 2.
Páginas 228-239 (abril - junio 2013)
Compartir
Compartir
Descargar PDF
Más opciones de artículo
Visitas
4631
Vol. 10. Núm. 2.
Páginas 228-239 (abril - junio 2013)
Open Access
Diseño de un Software de Intermediación de Comunicación para Sistemas Distribuidos de Tiempo Real Críticos en Java
Design of a Communication Middleware for Distributed Real-Time Safety Systems in Java
Visitas
4631
Daniel Tejera, Alejandro Alonso
Autor para correspondencia
aalonso@dit.upm.es

Autor para correspondencia.
, Miguel A. de Miguel
Departamento de Ingeniería de Sistemas Telemáticos, Universidad Politécnica de Madrid, Ciudad Universitaria s/n, 28040, Madrid, España
Este artículo ha recibido

Under a Creative Commons license
Información del artículo
Resumen
Texto completo
Bibliografía
Descargar PDF
Estadísticas
Resumen

Las facilidades e independencia de plataforma de Java han generado un gran interés en la comunidad de tiempo real. Dicho interés se ha reflejado en la especificación RTSJ (Real-Time Specification for Java), que extiende y adapta el lenguaje Java para permitir el desarrollo de sistemas de tiempo real. Adicionalmente, se han desarrollado perfiles de RTSJ para garantizar la predecibilidad en sistemas de tiempo real críticos. Sin embargo, RTSJ y sus perfiles no proporcionan facilidades para sistemas distribuidos. El objetivo de este trabajo es afrontar dicha limitación definiendo un nuevo modelo de RMI (Remote Method Invocation) basado en los principales perfiles de RTSJ para sistemas de tiempo real crítico. Este trabajo presenta el diseño y la implementación de RMI-HRT (RMI-Hard Real-Time) que está enfocado a sistemas de tiempo real crítico con requisitos de alta integridad.

Palabras clave:
Sistemas críticos
Sistemas de tiempo real
Sistemas distribuidos
Java
Abstract

Distributed real-time embedded systems are becoming increasingly important to society. More demands will be made on them and greater reliance will be placed on the delivery of their services. A relevant subset of them is high-integrity or hard real-time systems, where failure can cause loss of life, environmental harm, or significant financial loss.

Additionally, the evolution of communication networks and paradigms as well as the necessity of demanding processing power and fault tolerance, motivated the interconnection between electronic devices; many of the communications have the possibility of transferring data at a high speed. The concept of distributed systems emerged as systems where different parts are executed on several nodes that interact with each other via a communication network.

Java's popularity, facilities and platform independence have made it an interesting language for the real-time and embedded community. This was the motivation for the development of RTSJ (Real-Time Specification for Java), which is a language extension intended to allow the development of real-time systems. The use of Java in the development of high-integrity systems requires strict development and testing techniques.

However, neither RTSJ nor its profiles provide facilities to develop distributed real-time applications. This is an important issue, as most of the current and future systems will be distributed. The Distributed RTSJ (DRTSJ) Expert Group was created under the Java community process (JSR-50) in order to define appropriate abstractions to overcome this problem. Currently there is no formal specification.

The aim of this work is to describe the design and develop a communication middleware that is suitable for the development of distributed hard real-time systems in Java, based on the integration between the RMI (Remote Method Invocation) model and the HRTJ profile. It has been designed and implemented keeping in mind the main requirements such as the predictability and reliability in the timing behavior and the resource usage.

The design starts with the definition of a computational model which identifies among other things: the communication model, most appropriate underlying network protocols, the analysis model, and a subset of Java for hard real-time systems. In the design, the remote references are the basic means for building distributed applications which are associated with all nonfunctional parameters and resources needed to implement synchronous or asynchronous remote invocations with real-time attributes.

The proposed middleware separates the resource allocation from the execution itself by defining two phases and a specific threading mechanism that guarantees a suitable timing behavior. It also includes mechanisms to monitor the functional and the timing behavior. It provides independence from network protocol defining a network interface and modules. The JRMP protocol was modified to include two phases, non-functional parameters, and message size optimizations. Although serialization is one of the fundamental operations to ensure proper data transmission, current implementations are not suitable for hard real-time systems and there are no alternatives. This work proposes a predictable serialization that introduces a new compiler to generate optimized code according to the computational model. The proposed solution has the advantage of allowing us to schedule the communications and to adjust the memory usage at compilation time.

In order to validate the design and the implementation a demanding validation process was carried out with emphasis in the functional behavior, the memory usage, the processor usage (the end-to-end response time and the response time in each functional block) and the network usage (real consumption according to the calculated consumption).

Keywords:
Safety Systems
Real-Time Systems
Distributed Systems
Java
Referencias
[ARINC, 2004]
ARINC 664. “Aircraft Data Network, 2004, Part 7 Avionics Full Duplex Switched Ethernet (AFDX) Network, Draft 3”. September.
[Basanta et al., 2004]
Basanta, P., García-Valls, M., Estevez-Ayres, I., 2004, “No Heap Remote Objects: Leaving Out the Garbage Collector at the Server Side”. En Proceedings of the Second International Workshop on Java Technologies for Real- Time and Embedded Systems JTRES04, LNCS 3292, p. 25-29 October.
[Belliardi et al., 2006]
Belliardi, R., Brosgol, B., Dibble, P., Holmes, D., Wellings, A., 2006, The Real- Time Specification for Java. Version 1.0.2, http://www.rtsj.org.
[CAN, 1991]
CAN, Robert Bosch GmbH, Stuttgart. “CAN Specification Version 2.0”. Germany, 1991.
[Crespo and Alonso, 2006]
Crespo, A., Alonso, A., 2006, “Una Panorámica de los Sistemas de Tiempo Real”, Revista Iberoamericana de Automática e Informática Industrial, Volumen 3, Número 2, pp.7-18 Abril.
[Drake et al., 2006]
Drake, J.M., González-Harbour, M., Gutiérrez, J.J., Medina, J., Palencia, J.C., 2006, “En Busca de la Integración de Herramientas de Tiempo Real a Través de un Modelo Abierto”, Revista iberoamericana de automática e informática industrial (RIAI), ISSN-e 1697-7912, Vol. 3, No. 2, pp. 28-39.
[Gutiérrez and Harbour, 1997]
Gutiérrez, J., Harbour, M.G., 1997, “On the Schedulability Analysis for Distributed Hard Real-Time Systems”. En Proceedings 9th Euromicro Workshop on Real Time Systems, June.
[Gutiérrez et al., 2000]
Gutiérrez, J., Palencia, J.C., Harbour, M.G., 2000, “Schedulability Analysis of Distributed Hard Real-Time Systems with Multiple- Event Synchronization”. En Proceedings of 12th Euromicro Conference on Real-Time Systems, Stockholm (Sweden), IEEE Computer Society Press, pp. 15-24, June.
[Gutiérrez and Harbour, 2001]
J.J. Gutiérrez, M.G. Harbour.
Towards a real-time distributed systems annex in Ada.
ACM Ada Letters, XXI (2001), pp. 62-66
[Hu et al., 2006]
Hu, E.Y., Jenn, E., Valot, E., Alonso, A., 2006, “Safety critical applications and hard real-time profile for Java: a case study in avionics”. E Proceedings of the 4th international workshop on Java technologies for real-time and embedded systems, ACM International Conference Proceeding Series; ISBN: 159593-544-4, vol. 177, pp. 125-134, DOI: 10.1145/1167999.1168021.
[JSR, 2012]
JSR-50: “Distributed Real-Time Specification”. http://www.jcp.org/en/jsr/detail?id=050.
[Kopetz and Gru¿nsteidl, 1994]
Kopetz, H., Gru¿nsteidl, G., 1994, “TTP-A Protocol for Fault-Tolerant RealTime Systems”. IEEE Computer, pp 14-23, Enero.
[Kwon et al., 2005]
J. Kwon, A. Wellings, S. King.
Ravenscar-Java: a high-integrity profile for real-time java: Research articles.
Concurr. Comput.: Pract. Exper., 17 (2005), pp. 681-713
[Locke et al., 2012]
Locke, D., Andersen, B.S., Brosgol, B., Fulton, M., Henties, T., Hunt, J.J., Nielsen, J.O., Nilsen, K., Schoeberl, M., Tokar, J., Vitek, J. and Wellings, A., “Safety-critical java technology specification, public draft.”2011. http://www.jcp.org/en/jsr/detail?id=302.
[OMG, 1999]
OMG, Object Management Group, 1999, “The Common Object Request Broker: Architecture and Specification: Revision 2.3.1”. www.omg.org/cgibin/doc?formal/99-10-07/.
[OMG, 2002]
OMG, Object Management Group, 2002, Real-Time CORBA Specification. August.
[Oracle, 2012]
Oracle, Java Remote Method Invocation Specification. http://docs.oracle.com/javase/1.4.2/docs/guide/rmi/spec/rmi-title.html.
[Raman et al., 2005]
Raman, K., Zhang, Y., Panahi, M., Colmenares, J.A., Klefstad, R., Trevor, R., 2005, “RTZen: highly predictable, real-time java middleware for distributed and embedded systems”, en Proceedings of the ACM/IFIP/USENIX 2005 International Conference on Middleware, Ed. Springer-Verlag, p. 225-248.
[Tejera et al., 2005]
Tejera, D., Tolosa, R., de Miguel, M.A., Alonso, A, 2005 “Two alternative RMI models for real-time distributed applications”. En Proceedings of the Eighth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, IEEE Computer Society, Washington, DC, USA, p. 390-397.
[Tejera et al., 2007]
Tejera, D., Alonso, A., de Miguel, M.A., 2007, “RMI-HRT: Remote Method Invocation - Hard Real Time”, En Proceedings of the 5th international workshop on Java technologies for real-time and embedded systems, Vienna, Austria, ACM International Conference Proceeding Series, ISBN: 978-59593-813-8, pp: 113-120.
[Tejera, 2012]
Tejera, D., 2012, Communication Middleware for Distributed Hard Real-Time Systems in Java, PhD thesis.Universidad Poltécnica de Madrid, 2012.
[Vergnaud et al., 2004]
Vergnaud, T., Hugues, J., Pautet, L., Kordon, F., 2004, “Polyorb: A schizophrenic middleware to build versatile reliable distributed applications”, En Reliable Software Technologies Ada-Europe, Lecture Notes in Computer Science, Vol. 3063, p. 106-119.
Copyright © 2012. EA
Opciones de artículo