Abstract
The paper considers the application of the trace assertion method [1] for specification and verification of automaton programs [2–4]. The trace assertion method allows the programmer to define an externally visible behavior of an automaton program in a rigorous way, without considering details of its implementation. The method is employed at the requirements specification stage of the system development. The paper introduces techniques for defining semantics of some elements of an automaton program, especially those involved in interactions with the control system. A formal approach to defining states of automaton programs is described. Results of studies related to the verification of specification requirements for automaton programs are also presented.
Similar content being viewed by others
References
Bartussek, W. and Parnas, D.L., Using Assertions about Traces to Write Abstract Specifications for Software Modules, Lecture Notes in Computer Science (Proc. of the 2nd Conf. on European Cooperation in Informatics), Springer, 1978, no. 65, pp. 211–236.
Shalyto, A.A., SWITCH-tekhnologiya. Algoritmizatsiya i programmirovanie zadach logicheskogo upravleniya (SWITCH-Technology: Algorithmization and Programming of Logic Control Problems), St. Petersburg: Nauka, 1998.
Shalyto, A.A., Software Automaton Design: Algorithmization and Programming of Problems of Logical Control, Izv. Ross. Akad. Nauk, Teor. Sist. Upr., 2000, no. 6, pp. 63–81. [J. Comput. Systems Sci. Int. (Engl. Transl.), 2000, vol. 39, no. 6, pp. 899–916].
Shalyto, A.A. and Tukkel, N.I., SWITCH-Technology: An Automated Approach to Developing Software for Reactive Systems, Programmirovanie, 2001, no. 5, pp. 45–62. [Programming Comput. Software (Engl. Transl.), 2001, vol. 27, no. 5, pp. 260–276].
Parnas, D.L. and Vilkomir, S.A., Precise Documentation of Critical Software, The 10th IEEE High Assurance Systems Engineering Symposium, IEEE, 2007, pp. 237–244.
Faulk, S.R., Software Requirements: A Tutorial, Tech. Report NRL-7775, Naval Research Lab., Washington.
Nuseibeh, B., Ariane 5: Who Dunnit?, IEEE Software, 1997, vol. 14, no. 3, pp. 15–16.
Leveson, N., Role of Software in Spacecraft Accidents, J. Spacecraft Rockets, Am. Inst. of Aeronautics and Astronautics, vol. 41, no. 4, pp. 564–575.
Davis, A., A Taxonomy for the Early Stages of the Software Development Life Cycle, J. Systems Software, 1988, vol. 8, no. 4, pp. 297–311.
Kuzmin, E.V. and Sokolov, V.A., Modeling, Specification, and Verification of Automaton Programs, Programmirovanie, 2008, no. 1, pp. 38–60. [Programming Comput. Software (Engl. Transl.), 2008, vol. 34, no. 1, pp. 27–43].
Lutz, R.R., Targeting Safety-related Errors during Software Analysis, Proc. of the 1st ACM SIGSOFT Symp. on the Foundations of Software Engineering, 1993.
Boehm, B.W., Software Engineering Economics, Prentice Hall, N.J., 1981.
Baber, R.L., Parnas, D.L., Vilkomir, S.A., Harrison, P., and O’Connor, T., Disciplined Methods of Software Specification: A Case Study, Int. Conf. on Information Technology: Coding and Computing’2005, 2005, vol. 2, pp. 428–437.
Polikarpova, N.I. and Shalyto, A.A., Avtomatnoe programmirovanie (Automaton Programming), St. Petersburg: SPbGU ITMO, 2007.
Parnas, D.L., On the Criteria to be Used in Decomposing Systems into Modules, Commun. ACM, 1972, vol. 15, no. 12, pp. 1053–1058.
Hoffman, D.M., The Trace Specification of Communication Protocols, IEEE Trans. Comput., 1985, vol. C-34, no. 12, pp. 1102–1113.
Iglewski, M., Kubica, M., and Madey, J., Trace Specifications of Non-Deterministic Multi-Object Modules, Lecture Notes in Computer Science (Proc. of ASIAN’95), Springer, 1995, no. 1023, pp. 381–395.
Janicki, R. and Sekerinski, E., Foundations of the Trace Assertion Method of Module Interface Specification, IEEE Trans. Software Eng., 2001, vol. 27, no. 7, pp. 577–598.
Iglewski, M., Kubica, M., and Madey, J., Editor for the Trace Assertion Method, Proc. of the 10th Int. Conf. of CAD/CAM, Robotics and Factories of the Future: CARs&FOF’94, Ottawa, Canada, 1994, pp. 876–881.
Peters, D.K., Lawford, M., and Widemann, B.T., An IDE for Software Development Using Tabular Expressions, Proc. of CASCON 2007, Ontario, Canada, 2007, pp. 248–251.
Van Schouwen, A.J., The A-7 Requirements Model: Reexamination of Real-time Systems and an Application to Monitoring Systems, Tech. Report 90-276, Queen’s C& IS, TRIO, Kingston, Ontario, Canada, 1990.
Bojanowski, J., Iglewski, M., Madey, J., and Obaid, A., Functional Approach to Protocol Specification, in Protocol Specification, Testing and Verification XIV, Chapman & Hall, 1995, pp. 195–402.
Wassyng, A. and Lawford, M., Lessons Learned from a Successful Implementation of Formal Methods in an Industrial Project, Lecture Notes in Computer Science (Proc. of FME 2003: Int. Symp. of Formal Methods Europe), Springer, no. 2805, pp. 133–153.
Parnas, D.L., Tabular Representation of Relations, CRL Report 260, Telecom, Research Institute, McMaster University, Ontario, Canada, 1992.
Janicki, R. and Khédri, R., On a Formal Semantics of Tabular Expressions, Sci. Comput. Programming, 2001, vol. 39, nos. 2–3, pp. 189–213.
Parnas, D.L., Some Theorems We Should Prove, Lecture Notes in Computer Science (Int. Workshop on Higher Order Theorem Proving and Its Applications), Springer, 1993, no. 780, pp. 154–162.
Hopcroft, J.E., Motwani R., and Ullman J.D., Introduction to Automata Theory, Languages, and Computation, Addison-Wesley, 2001.
Mills, H.D., Stepwise Refinement and Verification in Box-Structured Systems, IEEE Comput., 1988, vol. 21, no. 6, pp. 23–36.
Wang, Y. and Parnas, D.L., Simulating the Behavior of Software Modules by Trace Rewriting, IEEE Trans. Software Engineering, 1994, vol. 20, no. 10, pp. 750–759.
Brzozowski, J. and Jürgensen, H., Theory of Deterministic Trace-Assertion Specifications, Tech. Report CS-2004-30, School of Computer Science, Univ. of Waterloo, Ontario, Canada, 2004.
Clermont, M. and Parnas, D.L., Using Information about Functions in Selecting Test Cases, ACM SIGSOFT Software Engineering Notes, 2005, vol. 30, no. 4, pp. 1–7.
Liu, S., Generating Test Cases from Software Documentation, MS Thesis, School of Graduate Studies, McMaster University, 2001.
Gries, D., The Science of Programming, New York: Springer, 1981. Translated under the title Nauka programmirovaniya, Moscow: Mir, 1984.
Clarke, E.M., Grumberg, O., and Peled, D., Model Checking, MIT Press, 1999. Translated under the title Verifikatsiya modelei program: Model Checking, Moscow: MTsNMO, 2002.
Author information
Authors and Affiliations
Corresponding author
Additional information
Original Russian Text © E.V. Kuzmin, V.A. Sokolov, D.Ju. Chalyy, 2009, published in Programmirovanie, 2009, Vol. 35, No. 1.
Rights and permissions
About this article
Cite this article
Kuzmin, E.V., Sokolov, V.A. & Chalyy, D.J. Application of the trace assertion method to the specification, design, and verification of automaton programs. Program Comput Soft 35, 43–55 (2009). https://doi.org/10.1134/S036176880901006X
Received:
Published:
Issue Date:
DOI: https://doi.org/10.1134/S036176880901006X