Skip to main content
Log in

A Case Study on Applying a Tool for Automated System Analysis Based on Modular Specifications Written in TRIO

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

An effective means for analyzing and reasoning on software systems is to use formal specifications to simulate their execution. The simulation traces can be used for specification testing and reused for functional testing of the system later in the development process. It is widely acknowledged that, to deal with the complexity of industrial-size systems, specifications must be structured into modules providing abstraction mechanisms and clear interfaces. In our past work, we defined and implemented a method for simulating specifications written in the TRIO temporal logic language, and applied it to functional testing of time-critical industrial systems. In the present paper, we report on a case study with a tool that analyzes TRIO specifications by taking advantage of their modular structure, so as to overcome the well-known state-explosion problem and make the proposed method really scalable. We discuss the fundamental operations and the algorithms on which the tool is based. Then, we illustrate its use in a realistic case study, inspired from an industrial application. Finally, we comment on the overall results in terms of usability of the tool and effectiveness of the approach, and we outline future improvements.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Basso, M., Ciapessoni, E., Crivelli, E., Mandrioli, D., Morzenti, A., Ratto, E., and San Pietro, P. 1995. Experimenting a logic-based approach to the specification and design of the control system of a pondage power plant. In ICSE-17 Workshop on Industrial Application of Formal Methods, Seattle, WA.

  • Borälv, A. 1997. The industrial success of verification tools based on Stå lmarck's method. In O. Grumberg, editor, Proceedings of the Ninth International Conference on Computer Aided Verification. Lecture Notes in Computer Science, Vol. 1254, Springer Verlag, pp. 7–10.

  • Braeck, R. and Haugen, O. 1993. Engineering Real-Time Systems: An Object-Oriented Methodology Using SDL. New York: Prentice-Hall.

    Google Scholar 

  • Butler, R.W. and Finelli, G.B. 1993. The infeasibilityunfeasibility of quantifying the reliability of life-critical real-time software. IEEE Transactions on Software Engineering, 19(1):3–12.

    Google Scholar 

  • Chang, J., Richardson, D.J., and Sankar, S. 1996. Structural specification-based testing with ADL. In Proc.Inter. Symp.Software Testing and Analysis, San Diego, CA.

  • Clark, E.M., Emerson, E.A., and Sistla, A.P. 1986. Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM TOPLAS, 8(2):244–263.

    Google Scholar 

  • Coen-Porisini, A., Kemmerer, R., and Mandrioli, D. 1994. A formal framework for ASTRAL intra-level proof obligations. IEEE Transactions on Software Engineering, 20(8):548–561.

    Google Scholar 

  • Coen-Porisini, A. 1996. An environment supporting the execution of TRIO formal specifications. Tech. Report 96.129, Dipartimento di Elettronica e Informazione, Politecnico di Milano.

    Google Scholar 

  • Dahl, O.J., Dijkstra, E.W., and Hoare, C.A.R. 1972. Structured Programming. New York: Academic Press.

    Google Scholar 

  • Dauchy, P., Gaudel, M.C., and Marre, B. 1993. Using algebraic specifications on software testing: A case study on the software of an automatic subway. Journ.of Systems and Software, 21:229–244.

    Google Scholar 

  • Dürr, E.H.H. and van Katwiik, J. 1992. VDM++: A formal specification language for object-oriented designs. In G. Heeg, B. Mugnusson, and B. Meyer, editors, Proc.of the Int.Conf.on Technology of Object-Oriented Languages and Systems, TOOLS 7. Prentice-Hall, pp. 63–78.

  • Eades, P., Lin, X., and Smyth,W.F. 1993.Afast and effective heuristic for the feedback arc set problem. Information Processing Letters 47, 319–323.

    Google Scholar 

  • FAST Project Home Page (ESPRIT Project #25581). 1999. Integrating formal approaches to specification. Test Case Generation and Automatic Design Verification. htpp://www.prover.com/fast.

  • Flood, M.M. 1990. Exact and heuristic algorithms for the weighted feedback arc set problem: A special case of the skew-symmetric quadratic assignment problem. Networks, 20, pp. 1–23, J. Wiley & Sons.

    Google Scholar 

  • Garey, M.R. and Johnson, D.S. 1979. Computer and Intractability.A Guide to the Theory of NP-Completeness. San Francisco, CA: W.H. Freeman.

    Google Scholar 

  • Gargantini, A., Liberati, L., Morzenti, A., and Zacchetti, C. 1996. Specifying, validating, and testing a traffic management system in the TRIO environment. In Proc.of COMPASS, 11th Annual Conference on Computer Assurance, Gaitersburg, MA.

  • Goguen, J.A. and Burstall, R.M. 1992. Institutions: Abstract model theory for specification and programming. Journal of the ACM, 39(1):95–146.

    Article  Google Scholar 

  • Hassin, R. and Rubinstein, S. 1994. Approximations for the maximum acyclic subgraph problem. Information Processing Letters 51, 133–140.

    Google Scholar 

  • Holzmann, G. 1991. Design and Validation of Computer Protocols. Englewood Cliffs, New Jersey: Prentice-Hall. 1991.

    Google Scholar 

  • Howden, W.E. 1987. Functional Program Testing & Analysis. McGraw Hill.

  • Kemmerer, R.A. 1985. Testing formal specifications to detect design errors. IEEE Transactions on Software Engineering, 11(1):32–43.

    Google Scholar 

  • Lamport, L. 1994. The temporal logic of actions. IEEE ACM Trans.on Prog.Lang.and Syst., 16(3):872–923.

    Google Scholar 

  • Lano, K. 1991. Z++, an object-oriented extension to Z. In J.E. Nicholls, editor, Proc.of the 4th Annual Z User Meeting, Oxford, UK. Workshop in Computing, Springer Verlag, pp. 151–172.

    Google Scholar 

  • Mandrioli, D., Morasca, S., and Morzenti, A. 1995. Generating test cases for real-time systems from logic specifications. ACM Trans.On Computer Systems, 13(4):365–398.

    Google Scholar 

  • Mehlhorn, K. and Näher, S. 1992. Algorithm design and software libraries: Recent developments in the leda project. Algorithms, Software, Architectures, Information Processing 92, Vol. 1. Elsevier Science Publishers: B.V.

  • Morasca, S., Morzenti, A., and San Pietro, P. 1996. Test case generation for modular time-dependent systems. Tech. Report 96.049, Dipartimento di Elettronica e Informazione, Politecnico di Milano.

    Google Scholar 

  • Morzenti, A., Mandrioli, D., and Ghezzi, C. 1992. A model parametric real-time logic. ACM Transactions on Programming Languages and Systems, 14(4):521–573.

    Google Scholar 

  • Morzenti, A., and San Pietro, P. 1994. Object-oriented logic specifications of time critical systems. ACM Trans. on Softw.Engin.and Meth., 3(1):56–98.

    Google Scholar 

  • San Pietro, P., Morzenti, A., and Morasca, S. 2000. Generation of execution sequences for modular time critical systems. IEEE Transactions on Software Engineering, 26(2):128–149.

    Google Scholar 

  • Pnueli, A. 1977. The temporal logic of programs. In Proceedings of the 18th Annual Symposium on Foundations of Computer Science, IEEE, pp. 46–57.

  • Selic, B. 1993. An efficient object-oriented variation of statecharts formalism for distributed real-time systems. In CHDL '93: IFIP Conference on Hardware Description Languages and their Applications, Ottawa, Canada.

  • Stå lmarck, G. 1994. System for determining propositional logic theorems by applying values and rules to triplets that are generated from a formula. U.S. Patent No. 5 276 897.

  • Wirsing, M. 1986. Structured algebraic specifications: A kernel language. Theoretical Computer Science, 42: 123–249.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Morasca, S., Morzenti, A. & Pietro, P.S. A Case Study on Applying a Tool for Automated System Analysis Based on Modular Specifications Written in TRIO. Automated Software Engineering 7, 125–155 (2000). https://doi.org/10.1023/A:1008710224611

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008710224611

Navigation