Software cybernetics explores the interplay between control theory/engineering and software theory/engineering. The controlled Markov chains (CMC) approach to software testing follows the idea of software cybernetics ...Software cybernetics explores the interplay between control theory/engineering and software theory/engineering. The controlled Markov chains (CMC) approach to software testing follows the idea of software cybernetics and treats software testing as a control problem. The software under test serves as a controlled object and the software testing strategy serves as the corresponding controller. The software under test and the software testing strategy make up a closed-loop feedback control system, and the theory of controlled Markov chains can be used to design and optimize software testing strategies in accordance with testing/reliability goals given a priori. In this paper we apply the CMC approach to the optimal stopping problem of multi-project software testing. The problem under consideration assumes that a single stopping action can stop testing of all the software systems under test simultaneously. The theoretical results presented in this paper describe how to test multiple software systems and when to stop testing in an optimal manner. An illustrative example is used to explain the theoretical results. The study of this paper further justifies the effectiveness of the CMC approach to software testing in particular and the idea of software cybernetics in general.展开更多
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.展开更多
基金supported by the National Outstanding Youth Foundation of China,the"863"Programme of China and the Aviation Science Foundation of China.
文摘Software cybernetics explores the interplay between control theory/engineering and software theory/engineering. The controlled Markov chains (CMC) approach to software testing follows the idea of software cybernetics and treats software testing as a control problem. The software under test serves as a controlled object and the software testing strategy serves as the corresponding controller. The software under test and the software testing strategy make up a closed-loop feedback control system, and the theory of controlled Markov chains can be used to design and optimize software testing strategies in accordance with testing/reliability goals given a priori. In this paper we apply the CMC approach to the optimal stopping problem of multi-project software testing. The problem under consideration assumes that a single stopping action can stop testing of all the software systems under test simultaneously. The theoretical results presented in this paper describe how to test multiple software systems and when to stop testing in an optimal manner. An illustrative example is used to explain the theoretical results. The study of this paper further justifies the effectiveness of the CMC approach to software testing in particular and the idea of software cybernetics in general.
文摘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.