Abstract

A fundamental requirement of the supervisory control theory (SCT) of discrete-event systems is a finite automaton model of the plant. The requirement does not hold for black-box systems whose source code and logical model are not accessible. To apply SCT to black-box systems, we integrate automaton learning technology with SCT and apply the new method to improve the requirements conformance of software reuse. If the reused software component does not satisfy a requirement, the method adds a supervisor component to prevent the black-box system from reaching “faulty sections.” The method employs learning-based testing (LBT) to verify whether the reused software meets all requirements in the new context. LBT generates a large number of test cases and iteratively constructs an automaton model of the system under test. If the system fails the test, the learned model is applied as the plant model for control synthesis using SCT. Then, the supervisor is implemented as an executable program to monitor and control the system to follow the requirement. Finally, the integrated system, including the supervisory program and the reused component, is tested by LBT to assure the satisfiability of the requirement. This paper makes two contributions. First, we innovatively integrate LBT and SCT for the control synthesis of black-box reactive systems. Second, software component reuse is still possible even if it does not satisfy user requirements at the outset. Note to Practitioners —In black-box software reuse, if a component does not satisfy user requirements in a new context, the developer has to abandon it and develop a new one, which is costly. The proposed method enables software reuse for black-box reactive systems by combining learning-based testing (LBT) and supervisory control theory (SCT). LBT can test whether the requirements hold in new settings and infer hypothesis models of the component at the same time. If the component does not pass the test, the learned hypothesis is used as a plant model to compute a supervisor using SCT. Then, a supervisory program is developed according to the control actions of the supervisor to govern the system to follow the behavior of the requirements. We illustrate the proposed method through an example of a simple cruise control module. The effectiveness of the new method is demonstrated with a larger software component brake-by-wire with floating point data types. The case studies show not only the methodology of the new approach but also a working tool chain to perform it.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call