On Deriving Statecharts Supervision Models from SDL Specifications Using SSM
Resumo
This paper presents a discussion of using software supervision as a means of improving the software reliability of reactive systems during the in-use phase. Supervision software consists of monitoring both the inputs and outputs of a target system and checking them against the target system's specification. All discrepancies between observed sequences of signals and the target system's specification are reported as failures. The emphasis of this paper is on showing the suitability of using Statecharts as a formal technique to specify the reactive system supervisor. The target reactive system is assumed to be specified in SDL (Specification and Description Language). Statecharts-based Supervisor Modeling (SSM) is presented by using examples. As well, benefits of this approach are discussed.
Referências
A. Avizenis. The N-Version Approach to Fault-Tolerant Software. IEEE Transactions on Software Engineering, pp. 1491-1501, December 1985.
A. M. da Silva Filho. On Using Logic Programming in Real-Time Systems. Proc. of ILPS'94 Post-Conference Workshop on Design and Implementation of Parallel Logic Programming Systems, New York, USA, pp. 110-119, November, 1994.
A. M. da Silva Filho. Evaluation of Suitability of Statecharts to Real-Time Supervision for the Improvement of Telecom System Reliability. Thesis, Dept. of Electrical and Computer Engineering, University of Waterloo, Canada, April 1995.
A. M. da Silva Filho. On Mapping SDL-specified Systems into Statecharts Supervision Models. Technical Report (forthcoming).
A. M. da Silva Filho. Statecharts Supervision Models for Reactive Systems, Proc. of CASCON - Computer Advanced Studies Conference'95, Toronto, Canada, November 1995.
D. Harel et al. On the Formal Semantics of Statecharts. Proc. of the 2nd IEEE Symposium on Logic in Computer Science, pp. 54-64, 1987.
J. R. Connet et al. Software Defenses in Real-Time Control Systems. Fault-Tolerant Computing, pp. 94-99, June 1972.
M. N. Meyers et al. ESS: Maintenance Software. The Bell System Technical Journal, pp. 1139-1167, September 1977.
S. G. Cohen et al. Applications of Feature-Oriented Domain Analysis to the Army Movement Control. CMU/SEI-91-TR-28, Software Engineering Institute, December 1992.
J. J. Homing et al. A Program Structure for Error Detection and Recovery. Lecture Notes in Computer Science. pp. 171-187, Berlin, Springer-Verlag, 1974.
B. Randell. System Structure for Software Fault Tolerance. IEEE Transactions on Software Engineering. SE-1(2), pp. 220-232, 1975.
D. Harel. Statecharts: A Visual Approach to Complex Systems. CS84-05, Dept. of Applied Mathematics, The Weizmann Institute of Science, 1984.
D. Harel. Statecharts: A Visual Approach to Complex Systems. Sci. Comput. Program. 8, pp. 231-274, June 1987.
D. B. Hay. A Belief Method for Detecting Operational Failures in Soft Real-Time Systems. Thesis, Dept. of Electrical and Computer Engineering, University of Waterloo, Canada, 1991.
i-Logix, Inc. The Semantics of Statecharts. Technical Report, 1991.
i-Logix, Inc. Statemate User and Reference Manuals - Vols. I and II. Statemate Documentation, 1993.
J. Li and R. E. Seviora. A Real-Time Supervisor with Reduced Space and Time Requirements. Proc. of 1993 IEE System Engineering for Real-Time Applications, pp. 90-95, 1993.
R. E. Seviora. Models for Real-Time Supervision. Proc. of 5th Euromicro Workshop on Real-Time Systems, 1993.
International Telegraph and Telephone Consultative Committee ITU (International Telecommunication Union). SDL Formal Definition, Dynamic Semantics. Annex F.3 to Recommendation Z.100 (Blue Book), 1988.
D. P. Wood and W. G. Wood. Comparative Evaluations of Four Specification Methods for Real-Time Systems. CMU/SEI-89-TR-36, Software Engineering Institute, December 1989.
J. C. Knight and N. G. Leveson. An Experiment Evaluation of the Assumption of Independences in Multiversion Programming. IEEE Transactions on Software Engineering. pp. 96-109, January, 1986.
P. G. Bishop et al. PODS - A Project on Diverse Software. IEEE Transactions on Software Engineering. pp. 929-940, September 1986.