Leon Sterling (eds.)
2nd International Conference on the Practical Applications of Prolog (PAP'94), pages 187–206
April 1994
This paper discusses an approach to robot programming based on Prolog, properly extended with control capabilities toward program structuring (contextual programming) and (pseudo)concurrence (communicating Prolog units). This Prolog-based programming system supports the definition, both static and dynamic, of extendible software components, promoting at the same time incremental design and development of software systems. Moreover, it suggests an approach to integration between object-oriented, knowledge-based and logic programming, introducing powerful concepts such as backtrackable objects and dynamic object configuration. Finally, the system, which is embedded in a simple architecture constituted by several Prolog machines sharing a data-base acting as an evolving world, provides an effective way to reduce the gap between low-level, imperative and higher-level, symbolic layers and to coordinate the interaction of different, even heterogeneous, components.