Domain-specific software architectures: distributed intelligent control and management

Abstract
The development of a generic control architecture suitable for use as a single intelligent agent or as multiple cooperating agents is described. The generic architecture combines a task-oriented domain controller with a metacontroller that schedules activities within the domain controller. The domain controller provides functions for model-based situation assessment and planning, and intercontroller communication. Typically, these functions are performed by modules taken from a repository of reusable software. To improve the controller development process, many of the best ideas from software engineering and knowledge engineering are being combined in a software environment. This environment includes a blackboard-like development workspace to represent both the software under development and the software development process itself. The workspace also provides mechanisms for triggering applications of software tools, including knowledge-based software design assistants.