The rationale

The problem

In designing a Real-Time oriented human-machine interface (HMI) application, it is natural to approach separately Hard and Soft Real Time components, the former being more closely related to hardware communication and control algorithms implementation, the latter being associated with user interface design and data analysis and manipulation. The strong separation between these two aspects of an RT-oriented application is also clearer if we compare the requirements the programmers take into account during the design phase: whereas working times and jitter are ever in mind of the RT process programmer, the GUI developer needs flexibility and friendlyness. This duality is intrinsic to the whole process of building an RT-oriented application, so that it is substantially impossible to choose development tools and strategies reliable both for Hard and Soft programmers.

The scenario

The duality problem presented for RT-oriented application design is only one side of the more general scenario where an office application developer has to deal both with business logic and presentation graphics. In the last years this problem has become more and more actual, mainly due to the development of web technologies, facing not only the logic difference between the two aspects of an application, but also the physical separation, in the server - client architecture. After a first set of trials, oriented to patch the problem taking into account the specificity of a web application (for example a web portal), the Internet community of programmers drastically changed their point of view, moving coherently towards a new approach, where the definition of standard object access protocols over the Internet allows two remote pieces of code to interact properly, sharing only the communication language but none of the implementation details. That's the world of Web Services.

Bringing the pieces together

RTAI-XML is a porting of the already mature web services technology to the Real Time world. It consists of a server component, installed on a RTAI box, that works as a bridge between the RT process (the Target) and the remote procedure call framework provided by standard protocols like, for example, SOAP. Once the Target is able to expose its methods and properties to the Internet using XML, the RT programmer has no longer to do with presentation needs. In the same way, the user interface designer can use whatever application development tool he/she prefers, creating executables for a specific platform or even multi-platform, forgetting problems related to the criticity of an RT control and following only presentation and functionality requirements.