Aplicaciones Ada en Android con requisitos de tiempo real
DOI:
https://doi.org/10.4995/riai.2019.10604Palabras clave:
Sistemas operativos, Tiempo real, Sistemas operativos de tiempo real, Programas concurrentes Ada, CompiladoresResumen
Android es el sistema operativo más extendido en el ámbito de los dispositivos móviles. Su gran expansión y desarrollo ha provocado que exista un gran interés para utilizarlo en entornos con requisitos temporales. Este trabajo presenta un mecanismo para utilizar el lenguaje de programación Ada en el desarrollo de aplicaciones de tiempo real sobre Android. Ada es un lenguaje que ofrece soporte para aplicaciones con requerimientos temporales bajo la suposición de que la plataforma de ejecución proporciona las garantías necesarias en tiempos de respuesta. Para satisfacer estas garantías proponemos que las aplicaciones escritas en este lenguaje utilicen los mecanismos de aislamiento proporcionados por el sistema operativo Android/Linux, a través de los cuales es posible aislar uno o varios núcleos del procesador para ser usados exclusivamente por aplicaciones de tiempo real. Además, hemos estudiado los mecanismos que se encuentran disponibles en Android para compartir datos entre aplicaciones Ada con requisitos temporales y el resto de aplicaciones que se ejecutan en el mismo sistema.
Descargas
Citas
AdaCore webpage. Disponible en: https://www.adacore.com/press/gnat-pro-7-2-for-android [consultada el 10-agos-2018]
Android Developers., Android NDK Disponible en: http://developer.android.com/tools/sdk/ndk/index.html [consultada el 10-agos-2018]
Brosgol B.J., 2013. Ada and Java: Real-Time advantages. Embedded Systems Programming.
Bhupinder S. and Madisetti V., 2010. Realiable Real-Time Applications on Android OS. Whitepaper.
Bradford N., Buttlar D., and Farrell J., 1996. Pthreads programming: A POSIX standard for better multiprocessing. O'Reilly Media, Inc.
Brukardt R.L. Ada Conformity Assessment Test Suite (ACATS), Disponible en: http://www.ada-auth.org/acats.html [consultada el 10-agos-2018]
Damschen M., 2012. Concurrent shared memory access for Android applications and real-time processes: Bachelor Thesis, Universität Paderborn.
Eilers D., and Koskinen T., 2011. Adapting ACATS to the Ahven Testing Framework. Reliable Software Technologies – Ada-Europe 2011, Lecture Notes in Computer Science, Vol. 6652/2011, pp. 75-88. https://doi.org/10.1007/978-3-642-21338-0_6
Kalkov I., Franke D., Schommer J. F., and Kowalewski S., 2012. A real-time extension to the Android platform. Proceedings of the 10th International Workshop on Java Technologies for Real-time and Embedded Systems, JTRES, pages 105–114, New York. https://doi.org/10.1145/2388936.2388955
Kalkov, I., Gurghian, A., and Kowalewski, S., 2014. "Predictable Broadcasting of Parallel Intents in Real-Time Android", in Proc. 12th International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES), pp. 57-66. https://doi.org/10.1145/2661020.2661023
Kalkov I., Gurghian A, and Kowalewski S., 2015. Priority Inheritance during Remote Procedure Calls in Real-Time Android using Extended Binder Framework. Proceedings of the 13th International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES). https://doi.org/10.1145/2822304.2822311
Liblfds, a portable, license-free, lock-free data structure library written in C. Disponible en: https://liblfds.org/ [consultada el 10-agos-2018]
Maia C., Nogueira L. and Pinho L. M.., 2010. Evaulating Android OS for Embedded Real-Time Systems. In Proceedings of the 6th International Workshop on Operating Systems Platforms for Embedded Real-Time Applications, OSPERT 2010, pages 63- 70, Brussels, Belgium.
Mauerer W., Hillier G., Sawallisch J., Hönick S., and Oberthür S., 2012. Real-time android: deterministic ease of use. Proceedings of the Embedded Linux Conference Europe (ELCE '12).
Open POSIX Test Suite from A GPL Open Source Project. Disponible en: http://posixtest.sourceforge.net/ [consultada el 10-agos-2018]´
Perez Ruiz A., Aldea M., Gonzalez Harbour M., 2015. CPU Isolation on the Android OS for running Real-Time Applications. Proceedings of the 13th International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES). https://doi.org/10.1145/2822304.2822317
Perez Ruiz A., Aldea M., Gonzalez Harbour M., 2016. Servicios de tiempo real en Android. Servicios de tiempo real en Android. V Simposio de Sistemas de Tiempo Real in the V Congreso Español de Informática (CEDI).
Perneel L., Fayyad-Kazan H. and Timmerman M., 2012. Can Android be used for Real-Time purposes?. International Conference on Computer Systems and Industrial Informatics, ICCSII ’12, pages 1–6. https://doi.org/10.1109/ICCSII.2012.6454350
Perneel L., Fayyad-Kazan H., and Timmerman M., 2013. Android and Real-Time Applications: Take Care!. Journal of Emerging Trends in Computing and Information Sciences, Volume 4, Special Issue ICSSII
Ruiz J., 2013. Ada on Android. FOSDEM, Brussels.
Security-Enhanced Linux in Android. Disponible en: https://source.android.com/security/selinux [consultada el 17-oct-2018].
Yan Y., Cosgrove S., Anand V., Kulkarni A., Konduri S. H. and Ko S. Y., Ziarek L., 2014. Real-Time Android with RTDroid. Proceedings of the 12th International Conference on Mobile Systems, Applications, and Services (MobiSys). https://doi.org/10.1145/2594368.2594381
Yan Y., Dantu K., Ko S., Vitek J. and Ziarek L., 2017. Making Android Run on Time. Real-Time and Embedded Technology and Applications Symposium (RTAS'17). https://doi.org/10.1109/RTAS.2017.38
Yan Y., Konduri S. H., Kulkarni A., Anand V. and Ko S. Y., Ziarek L., 2013. RTDroid: A Design for Real-Time Android. Proceedings of the 11th International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES). https://doi.org/10.1145/2512989.2512990
Descargas
Publicado
Cómo citar
Número
Sección
Licencia
Esta revista se publica bajo una Licencia Creative Commons Attribution-NonCommercial-CompartirIgual 4.0 International (CC BY-NC-SA 4.0)