Model-based computing: Developing flexible machine control software

https://doi.org/10.1016/S0004-3702(99)00066-1Get rights and content
Under an Elsevier user license
open archive

Abstract

In the conventional approach to simulating, controlling, and diagnosing a real-world physical system, engineers typically analyze the interactions of the system's components and processes, and then develop new and dedicated code for that system. Instead, building on principles from model-based reasoning and constraint programming research, we propose an integrated approach to software development we call model-based computing. We present this approach in the context of control software for modular electro-mechanical systems. Our approach is used in commercial systems and has been shown to both simplify the development of machine control software, and make the software and the controlled systems more flexible and effective.

In this paper, building on a generic control software architecture, we first develop a domain theory with corresponding modeling language. Models capture a system's capabilities from first principles and independently of the control task. We then introduce modeling technology using concurrent constraint programming, which gives our modeling approach a sound and powerful theoretical foundation. Constraint programming also brings with it a host of generic reasoning techniques such as deduction, abduction, and search, and we show how such techniques can be applied to the model-based configuration and control of our systems. We end with a review of how model-based computing can be extended to other tasks such as design and testing. We believe that together, models, task architecture, and reasoners offer a compelling framework for building software for computationally controlled systems.

Keywords

Model-based reasoning
Modeling
Constraint programming
Control
Scheduling

Cited by (0)