In this paper the development of reactive software is transformed into a control problem, and the supervisory control theory for discrete event dynamic systems is suggested to solve this control problem. The operating...In this paper the development of reactive software is transformed into a control problem, and the supervisory control theory for discrete event dynamic systems is suggested to solve this control problem. The operating environment under consideration is viewed as a controlled plant, the software under development as the corresponding controller, and the software requirements as the corresponding control objective. This idea leads to a constructive approach of software design, which ensures properties required a priori of the software under development. In this way the validation of the software under development is reduced to the validation of properties independent of implementation process. We reveal the inconsistence in using the concept of reachability to specify software requirements and clarify six different definitions of reachability. Two different definitions of invariance for specifying software requirements are also clarified. We then show how to synthesize the required controller or obtain software design solutions if the underlying software requirements are specified by several new combinations of reachability and invariance. The topic of this paper falls into the scope of software cybernetics that explores the interplay between software and control.展开更多
文摘In this paper the development of reactive software is transformed into a control problem, and the supervisory control theory for discrete event dynamic systems is suggested to solve this control problem. The operating environment under consideration is viewed as a controlled plant, the software under development as the corresponding controller, and the software requirements as the corresponding control objective. This idea leads to a constructive approach of software design, which ensures properties required a priori of the software under development. In this way the validation of the software under development is reduced to the validation of properties independent of implementation process. We reveal the inconsistence in using the concept of reachability to specify software requirements and clarify six different definitions of reachability. Two different definitions of invariance for specifying software requirements are also clarified. We then show how to synthesize the required controller or obtain software design solutions if the underlying software requirements are specified by several new combinations of reachability and invariance. The topic of this paper falls into the scope of software cybernetics that explores the interplay between software and control.