Concurrent Programming and Robotics
- 1 April 1989
- journal article
- research article
- Published by SAGE Publications in The International Journal of Robotics Research
- Vol. 8 (2) , 3-16
- https://doi.org/10.1177/027836498900800201
Abstract
Many current robot systems exhibit a significant degree of concurrency, doing many activities in parallel. Future sensor- based robots are expected to exhibit even more concurrency. Programs to control such robots are characterized by the need to wait for external events and/or handle interrupts, deal with concurrent activities, synchronize actions with external events, and communicate with other robots and processes. In this paper, we focus on the advantages of concurrent pro gramming for robotics and suggest that a general-purpose language with the right facilities is a good vehicle for robot programming. In this context we will discuss Concurrent C, an upward-compatible extension of the C language that provides high-level concurrent programming facilities. We give an historical perspective of concurrent programming followed by a brief description of Concurrent C and how Concurrent C programs communicate with robots and de vices. We show by examples how Concurrent C simplifies writing robot programs. Of specific interest are the process interaction and related interrupt handling facilities. We conclude that high-level concurrent programming facilities provide significant advantages for robot programming. In particular, transaction facilities provide an elegant means by which to synchronize with external events and communicate with interacting robots and manufacturing processes. Inter rupts may also be mapped to high-level transaction calls within the language. A concurrent programming language provides a framework in which to describe and develop con current solutions and can hide many details associated with distributed processing from the user. Finally, we believe that a high-level concurrent programming language such as Con current C is not only useful for robotics but also for manufac turing processes in general.Keywords
This publication has 11 references indexed in Scilit:
- Concurrent CSoftware: Practice and Experience, 1986
- PasRoPublished by Springer Nature ,1985
- Use of concurrent pascal in industrial systems programmingMicroprocessing and Microprogramming, 1984
- A Comparative Study of Robot LanguagesComputer, 1982
- AML: A Manufacturing LanguageThe International Journal of Robotics Research, 1982
- The design of EdisonSoftware: Practice and Experience, 1981
- Communicating sequential processesCommunications of the ACM, 1978
- UNIX Time-Sharing System: The C Programming LanguageBell System Technical Journal, 1978
- The programming language Concurrent PascalIEEE Transactions on Software Engineering, 1975
- MonitorsCommunications of the ACM, 1974