Hultman, J., Nyberg, A., and Svensson, M. (1989). A Software Architecture for Autonomous Systems. Technical Report LiTH-IDA-R-89-40, Department of Computer and Information Science, Linköping University, Sweden. Also presented at the First PROMETHEUS Scientific Workshop, Wolfsburg, 1989 and the Sixth International Symposium on Unmanned Untethered Submersible Technology, Ellicott City, Maryland, USA, 1989. (bibtex),
Abstract: A software architecture for autonomous, or partly autonomous, systems is described. We emphasize systems such as autonomous vehicles. The suggested architecture has three layers: the process layer, rule layer, and analysis layer, respectively. Each layer has a local state which is a function of time, and is updated in regular intervals. The period from one state update to the next is called a phase for the layer. Lower layers operate with shorter phases, i.e. update their parameters with higher frequency, as usual in automatic control systems.The analysis layer (the highest layer) uses a modified version of Explicit Temporal Logic for defining the behaviour of the autonomous system. We define this logic called Executable Explicit Temporal Logic (EETL). How to include different planning facilities in the analysis layer is also discussed. The rule layer (the middle layer) is responsible for translating the EETL statements into a representation which can be executed. This translation, which is a sort of incremental compilation, is described. The result from the compilation is a set of rules which are passed to the process layer. The rules determine when actions should be executed in the process layer.The process layer is responsible for executing the actions which determine the behaviour of the autonomous system. The design of this layer reflects the need for real time performance. The actions are represented as data dependencies between sensors and actuators. At each time-point a set of such actions is executed. The rules received from the rule layer determine when this action set shall be changed, i.e. they determine the control flow in the system. Hardware configuration and software tools used in an implementation of the system are also briefly discussed.
CS Dept TR Overview