Constructing reconfigurable software for machine control systems
IEEE Transactions on Robotics and Automation
Reconfigurable software is highly desired for automated machine tool control systems for low-cost products and short time to market. In this paper, we propose a software architecture based on a combination of object-oriented models and executable formal specifications. In this architecture, the machine control software is viewed as an integration of a set of reusable software components, each modeled with a set of event-based external interfaces for functional definitions, a control logic
... for execution of behavioral specifications, and a set of service protocols for platform adaptation. The behaviors of the entire software can be viewed as an integration of behaviors of components and their integration, and can be specified in a Control Plan specification language, which is based on Nested Finite State Machines, independently of the component implementations. Separation of structural specification from behavioral specification enables the controller software structure to be reconfigured independently of application, and software behavior to be reconfigured independently of controller software structure. When the system needs reconfiguration due to changes in either application requirements or the execution platform, the software with our architecture can then be reconfigured by changing reusable components and their interactions in structure for functional capability, and by changing the Control Plan program for behavior. Both types of reconfiguration can be done at the executable code level after the software is implemented. The proposed architecture also supports reconfigurability to facilitate heterogeneous implementations and vendor-neutral products. Our evaluation based on current software construction practices for both laboratory machine tools and an industry machining system has shown that the goals of higher reconfigurability and lower development and maintenance costs are achieved with the control software constructed using the proposed architecture. Index Terms-Controller architecture, machine control systems, reconfigurable software, software models.