Graphical description and run-time environments for Real-Time software

The STILE system (STructure Interconnectiou Language and Environment) provides facilities for graphically describing, and executing programs consisting of, communicat ing concurrent activities such as those found in real-time control software. A prototype graphical editor has been developed that allows STILE programs to be created interactively. The editor also can be used to generate a description of the at t r ibutes of the components of the graph and its interconnection structure. Two run-time systems for executing identical STILE programs have been implemented and are also described one for a multiprocessor, and one for a network. In each, processes are distributed over several processors. 1. I n t r o d u c t i o n A long-standing problem in real-time s)s tems is that of constructing control software. This software is inherently difficult because of the need for concurrency as well as the real-time constraints, and nlost existing programming languages and environments do not deal with these issues. The STILE project [Wcidc 83, Weide 84, Brown 84] involves our effort to take an entirely different approach to real-time software: graphical programming. We substi tute drawing pictures of software systems for the tradit ional text-oriented languages in order to express concurrency. This paper describes our first "proof of principle" that a well-defined meaning can be assigned to such "graphical programs", and that they can be "compi led" into executable code. Furthermore, it explains how the STILE virtual machine (model of Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. © 1986 ACM-0-89791 177-6/86/0002/0205 $00.75 computat ion) can be implemented equally well on a tightly-coupled multiprocessor and on a loosely-coupled network system, while hiding non-essential details of the target system from the real-t ime programmer. The graphical editor runs on a Sun Workstat ion whose graphics capabilities include fast manipulat ion of image data, a 1152 x 900 bit mapped display that allows graphics and text to be mixed freely, and a mouse pointing device to select items from a mouse or point at text. Its software support for menus and selections made it a t t ract ive for our purpose. The STILE run-t ime system has been implemented on a multiprocessor, consisting of Intel's 86/30 single board computers connected via a Multibus. This system has been used with robotics application software and with a variety of real-t ime applications simulated by varying the parameters of a synthetic workload generator. The STILE runt ime system has also been implemented on a network of Sun Workstations connected via Ethernet. This was d o n e more as an exercise to evaluate the ease or difficulty of implementing STILE on a general purpose operating system, and not as a potential testbed for real-time applications. Figure 1 illustrates t~he overall architecture of tke prototype system described in this report. The paper is organized as follows. In Section 2, we introduce the STILE "basic model" with the help o f a sample robotics application program. Creat ing and compiling STILE graphs using the graphical editor are discussed in Section 3. Sections 4 and 5 describe the implementat ion of the STILE run-time system on a multiprocessor and in a network environment, respectively. Concluding remarks are given in Section 6. 2. T h e S T I L E B a s i c M o d e l The STILE "basic model" [Weide 831 is an abstract model of concurrency useful for describing parallel programs and for building domain-dependent abstract concurrency models. The main components of this model are: • Blocks or boxes, which are agents of computations, or processes.

[1]  Karsten Schwan,et al.  GEM: Operating system primitives for robots and real-time control systems , 1985, Proceedings. 1985 IEEE International Conference on Robotics and Automation.

[2]  Jon M. Kerridge,et al.  Three solutions for a robot arm controller using Pascal‐Plus, occam and edison , 1984, Softw. Pract. Exp..

[3]  Karsten Schwan,et al.  Process Control: Integration and Design Methodology Support , 1984, Computer.