2nd RTL Workshop: PICARD on RT-Linux: A Component Software Architecture for the Real-Time
Dec 12, 1997 — by Rick Lehrbaum — from the LinuxDevices Archive — viewsThis paper presents an architecture and design methods for rapid development of real-time control systems such as CNC or robot controllers. PICARD (Port-Interface Component Architecture for Real-time system Design) is a software architecture and environment which is aimed to reduce development time and cost of real-time control system. With PICARD, a control engineer can construct a control system software by assembling pre-built software components using interactive graphical development environment. PICARD has been used to implement a prototype PC based CNC controller successfully. PICARD consists of PVM (PICARD Virtual Machine), a component library, and PICE (PICARD Configuration Editor). PVM is a real-time engine of the PICARD system which runs control tasks on a real-time operating system. The component library is composed of components which are called task blocks. PICE is a visual editor which can configure control tasks by creating data-flow diagrams of task blocks or ladder diagrams for sequential logic. PICARD has been implemented on several operating system including QNX, WindowsNT (non-real-time), Linux (non-real-time), INtime, and RT-Linux. Compared to other operating systems, there are some differences on RT-Linux implementation in which real-time tasks should be written as kernel modules. For the communication between PVM on a target system and PICE on a host computer, a simple protocol was devised because RPC or CORBA cannot be used in RT-Linux. By using description of communication functions in Python language, function stubs are automatically generated. Experiences on using C++ language in kernel modules are also discussed.
Download paper (700K PDF)
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.