ControlShell is a next-generation object-oriented software framework for real-time system development. It combines graphical Computer-Aided Software Environment (CASE) tools, an object-oriented component-based architecture, and integrated data management. It structures both low-level and strategic programs. ControlShell increases productivity, facilitates the development of working systems and-perhaps most importantly-provides a ready path for technology transfer and migration.
ControlShell users build systems by connecting reusable software modules called components. New ControlShell components are easily created from automatically-generated code. They are selected and connected with a few mouse clicks within a graphical Data-Flow Editor. A run-time system is generated directly from the graphical description. The expanding library of ControlShell components includes advanced controllers, estimators, filters, signal generators, trajectory generators and more. These components encapsulate many of the ARL's advances in a form that can be readily used by other applications.
ControlShell's state programming system incorporates structured strategic control. The state engine combines rule-based transition conditions, true callable sub-chain hierarchies, task synchronization and event management. Again, modular strategic action routines are combined within a graphical CASE tool, and directly implemented on the real-time system. It is a powerful, high-level programming environment.