The Android platform enjoys lasting popularity for consumer mobile devices. Staying reactive with full-fledged multitasking support and high usability makes this open-source operating system an attractive target for users and developers. Unfortunately, the original Android can not guarantee predictable process scheduling with sub-millisecond precision. Although the consumer user experience is not significantly affected, this non-determinism makes the original Android platform unsuited for industrial monitoring and control applications.
RTAndroid is developed by the Embedded Software Laboratory at RWTH Aachen University and provides a reliable execution environment for applications with real-time requirements on common mobile devices. The platform benefits from Android’s high usability and its wide range of supported hardware. The application framework and the original system API are extended with functionality that turn Android into a predictable and deterministic soft real-time system. Due to the fact that RTAndroid is fully backward compatibility to the original Android platform, application development is just as comfortable as for the stock Android platform. Android is built upon a Linux kernel, which has been modified in RTAndroid to allow deterministic priority-based process scheduling. Furthermore, RTAndroid introduces a number of additional features to ensure a reliable process execution:
- Predictable interprocess communication using Intent broadcasting
- Non-blocking, real-time capable garbage collection
- Extended system services for bypassing Android’s low memory process killer
- Isolation of the running real-time application on one of the available CPUs
The synergy of the described techniques allows predictable execution times and significatly reduced latencies - that is the difference between the planned and actual execution time. More details can be found here.
Priority Inheritance during Remote Procedure Calls in Real-Time Android using Extended Binder Framework.
I. Kalkov, A. Gurghian, S. Kowalewski.
In: Proceedings of the 13th International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES'15), 2015.
Echtzeiterweiterung für Android: SPS inside
S. Kowalewski, I. Kalkov, M. Obster, D. Thönnessen.
In: IEE - Elektrische Automatisierung + Antriebstechnik, Ausgabe 02/2015, Seiten 58-61, 2015.
Predictable Broadcasting of Parallel Intents in Real-Time Android
I. Kalkov, A. Gurghian, S. Kowalewski.
In: Proceedings of the 12th International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES'14), pages 57-66, 2014.
Development and Execution of PLC Programs on Real-Time Capable Mobile Devices
M. Obster, I. Kalkov, S. Kowalewski.
In: Proceedings of the 19th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA'14), pages 1-8, 2014.
An Approach for Using Mobile Devices In Industrial Safety-Critical Embedded Systems
A. Armoush, D. Franke, I. Kalkov, S. Kowalewski
In: Proceedings of the 5th International Conference on Mobile Computing, Applications and Services (MobiCASE'13), pages 0–4, 2013.
Non-Blocking Garbage Collection for Real-Time Android
T. Gerlitz, I. Kalkov, J. Schommer, D. Franke, S. Kowalewski.
In: Proceedings of the 11th International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES'13), pages 108–117, 2013.
A Real-Time Extension to the Android Platform
I. Kalkov, D. Franke, J. F. Schommer, S. Kowalewski.
In: Proceedings of the 10th International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES'12), pages 105–114, 2012.
RTAndroid aims at enlarging the field of application of mobile devices to time-critical domains in industrial automation. Its ability to serve real-time requests enlarges the field of application of mobile devices to time-critical domains. They can be used for in-field monitoring in industrial plants or as an integrated automation platform. This project evaluates the applicability of a RTAndroid-based solution in scenarios typical for programmable logic controllers (PLCs). Continuous improvements in the portability, usability and computational power of modern tablet PCs allow the development of new environments for working with PLC-common programming languages. Given the fundamental real-time support, RTAndroid can be used as a platform for an all-in-one solution including development, simulation and execution of typical PLC programs, as well as the communication to external hardware: Twistturn application.