![]() | This article has multiple issues. Please helpimprove it or discuss these issues on thetalk page.(Learn how and when to remove these messages) (Learn how and when to remove this message)
|
![]() | |
Stable release | 5.3 / 19 May 2021; 3 years ago (2021-05-19) |
---|---|
Platform | IA-32, x86-64, PowerPC, ARM and MIPS |
Website | www |
Real-time application interface (RTAI) is areal-time extension for theLinux kernel, which lets users write applications with strict timing constraints for Linux. Like Linux itself the RTAI software is a community effort. RTAI provides deterministic response to interrupts,POSIX-compliant and native RTAI real-time tasks. RTAI supports several architectures, includingIA-32 (with and withoutFPU andTSC),x86-64,PowerPC,ARM (StrongARM andARM7: clps711x-family,Cirrus Logic EP7xxx, CS89712, PXA25x), andMIPS.
RTAI consists mainly of two parts: anAdeos-based patch to the Linux kernel which introduces a hardware abstraction layer, and a broad variety of services which make lives of real-time programmers easier. RTAI versions over 3.0 use an Adeos kernel patch, slightly modified in the x86 architecture case, providing additional abstraction and much lessened dependencies on the "patched" operating system. Adeos is a kernel patch comprising an Interrupt Pipeline where different operating system domains register interrupt handlers. This way, RTAI can transparently take over interrupts while leaving the processing of all others to Linux. Use of Adeos also frees RTAI frompatent restrictions caused byRTLinux project.
RTAI-XML is a server component of RTAI, implementing a service-oriented way to design and develop real-time (RT) control applications.
This project was born to fulfill the needs of a university group, mainly focused to have a flexible platform for learning control systems design, allowing the students to test their programs remotely, over the Internet. Leaving the first wishful thinking and going to the real implementation gave rise to the alpha version of RTAI-XML, that showed the potential impact of the basic idea of a net separation ofhard andsoft real-time tasks in the programmation logic. What was necessary to assure that students could not crash the RT process, is now becoming a new RTAI paradigm.
RTAI-XML consists of a server component waiting for incoming calls on a box where a real-time process, the Target, is running (or ready to). A generic client program, the Host, can reach the server through theTCP/IP network, using a standard protocol based onXML, and hence interact with the Target, in order to monitor the status of the RT process, to see the signals collected (or generated) by the system and also to fetch and change the RT parameters (for example, the gains of aPID feedback ring). In other words, RTAI-XML provides a simple way towardsremoting of control applications, adding flexibility to the RTAI project, without losing the key features of an open and standard implementation.
The RTAI-XML section of this site presents the details of the implementation. The general architecture is revised, in order to focus the three key components, the Server, theServer-Target interface and theServer-Host communication. The Applications section contains some examples of control systems based on RTAI-XML and the References section contains hints and links for further readings on this topic.