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.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.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.
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.
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.
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.
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.
Dahl, O.J., Dijkstra, E.W., and Hoare, C.A.R. 1972. Structured Programming. New York: Academic Press.
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.
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.
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.
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.
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.
Hassin, R. and Rubinstein, S. 1994. Approximations for the maximum acyclic subgraph problem. Information Processing Letters 51, 133–140.
Holzmann, G. 1991. Design and Validation of Computer Protocols. Englewood Cliffs, New Jersey: Prentice-Hall. 1991.
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.
Lamport, L. 1994. The temporal logic of actions. IEEE ACM Trans.on Prog.Lang.and Syst., 16(3):872–923.
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.
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.
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.
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.
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.
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.
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.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1023/A:1008710224611