skip to main content
article
Free Access

Object-oriented logical specification of time-critical systems

Published:02 January 1994Publication History
Skip Abstract Section

Abstract

We define TRIO+, an object-oriented logical language for modular system specification. TRIO+ is based on TRIO, a first-order temporal language that is well suited to the specification of embedded and real-time systems, and that provides an effective support to a variety of validation activities, like specification testing, simulation, and property proof. Unfortunately, TRIO lacks the ability to construct specifications of complex systems in a systematic and modular way. TRIO+ combines the use of constructs for hierarchical system decomposition and object-oriented concepts like inheritance and genericity with an expressive and intuitive graphic notation, yielding a specification language that is formal and rigorous, yet still flexible, readable, general, and easily adaptable to the user's needs. After introducing and motivating the main features of the language, we illustrate its application to a nontrivial case study extracted from a real-life industrial application.

References

  1. ABITEBOUL, S., AND HULL, R. 1987. IFO: A formal semantic database model. ACM Trans. Database Syst. 12, 4 (Dec.), 525-565.]] Google ScholarGoogle Scholar
  2. ALUR, R., AND HENZINGER, T.A. 1990. RealTime logics: Complexity and expressiveness. In Proceedings of 5th Symposium on Logics ~n Computer Science (Philadelphia, Pa., June 1990). IEEE, New York, 390-401.]]Google ScholarGoogle Scholar
  3. ARAPIS, C. 1992. Dynamic evolution of object behavior and object cooperation, Ph.D. d~ssertation, University of Geneva, Switzerland.]]Google ScholarGoogle Scholar
  4. BEERI, C. 1990. A formal approach to object oriented databases. Data Knowl. Eng. 5, 4 (Oct.), 353-382.]] Google ScholarGoogle Scholar
  5. BERNSTEIN, A., AND HARTER, P. K. 1981. Proving real time properties of programs with temporal logic. In Proceedings of the 8th ACM Sympostum on Operating Systems (Pacific Grove, Calif., Dec. 1981). ACM, New York, 111 119]] Google ScholarGoogle Scholar
  6. BOLOGNESI, T., AND LUCIDI, F. 1992. Timed process algebras w~th urgent interactions and a unique powerful binary operator. In Proceedtng's of REX Workshop: Real-Time: Theory ~n Practice (Mook, the Netherlands, June 1991). Springer-Verlag~ New York, 124 148.]] Google ScholarGoogle Scholar
  7. CARmNGTON, D., ET AL. 1990. Object Z: An object oriented extension to Z. In Proceedings of Formal Descr~ptzon Techniques H (FORTE '89), S. Vuong, Ed. North-Holland, Amsterdam, 281 296.]] Google ScholarGoogle Scholar
  8. CASE STUDY. 1990. Specification environments for real time systems based on a logic language. Tech. Annex to Res. Contract 27/90, Dec. (Case studies on a regulator in a pondage power plant and on high-voltage substation. In Italian.)]]Google ScholarGoogle Scholar
  9. CASE STUDY. 1992. Specification environments for real time systems based on a logic language, Tech. Annex to Res. Contract 49/92, Dec. (Case studies on a programmable digital energy and power meters and on data collection and elaboration for dam security. In Italian.)]]Google ScholarGoogle Scholar
  10. CHEN, W., AND WARREN, D.S. 1988. Objects as intensions. In Proceedings of 5th International Conference and Symposium on Logic Programming (Seattle, Wash. Aug. 1988). MIT Press, Cambridge, Mass., 404 419.]]Google ScholarGoogle Scholar
  11. COrN POg~SINI, A., MORZENTI, A., ANn SCtUTO, D. 1992. Specification and verification of hardware systems using the temporal logic language TRIO. In CHDL '91: lOth International Symposium on Hardware Descriptton Languages and Thetr Applications. (Marseille, France, Apr. 1991). North Holland, Amsterdam, 1992, 43-62.]]Google ScholarGoogle Scholar
  12. COHEN, B., HARWOOD, W. T., AND JACKSON, M.J. 1986. The Specification of Complex Systems. Addison-Wesley, Reading, Mass.]] Google ScholarGoogle Scholar
  13. CONERY, J. S. 1988. Logical objects. In Proceedings of 5th Internattonal Conference and Symposium on Logzc Programming (Seattle, Wash., Aug. 1988). MIT Press, Cambridge, Mass., 1988, 420 434.]]Google ScholarGoogle Scholar
  14. CORSETTI, E., MONTANARI, A., AND RATTO, E. 1991a. Dealing with different time granularities in formal specifications of real time systems. J. Real-Time Syst. 3, (May), 191 215.]] Google ScholarGoogle Scholar
  15. CORSETTI, E., CRIVELLI, E., MANDRIOLI, D., MONTANARI, A., MORZENTI, A,. SAN PIETRO, P., AND RATTO, E. 1991b. Dealing with different time scales in formal specifications. In Proceedings of 6th International Workshop on Software Specification and DesLgn (Como, Italy, Oct. 1991). IEEE, New York, 92-101.]] Google ScholarGoogle Scholar
  16. CUSACK, E., RUDKIN, S., AND SMITH, C. 1990. An object oriented interpretation of LOTOS. In Proceedings of Formal Description Techniques H (FORTE '89), S. Vuong, Ed. North Holland, Amsterdam, 281-296.]] Google ScholarGoogle Scholar
  17. DEMARcO, T. 1978. Structured Analysis and System Design. Yourdon Press, New York.]] Google ScholarGoogle Scholar
  18. DEREMER, F., AND KRON, H. 1976. Programming-in-the-large versus Programming-in-thesmall. IEEE Trans. Softw. Eng. 2, 6 (June), 80 86.]]Google ScholarGoogle Scholar
  19. DUKE, R., KiNG, P., GORDON, R., AND SMITH, G. 1991. The Object-Z specification language. Version 1. Tech. Rep. 91-1, Software Verification Research Center, Dept. of Computer Science, Univ. of Queensland, Australia, May.]]Google ScholarGoogle Scholar
  20. ENDERTON, H.B. 1972. A Mathematical Introduction to Logtc. Academic Press, New York.]]Google ScholarGoogle Scholar
  21. FELDER, M., AND MORZENTI, A. 1992. Validating real-time systems by executing logic specifications in TRIO. In Proceedings of 14th International Conference on Software Engi,eering (Melbourne, May 1992). IEEE, New York, 1992, 199-211.]] Google ScholarGoogle Scholar
  22. FELDER, M., MANDRIOLI, D., AND MORZENTt, A. 1994. Proving properties of real-time systems through logical specifications and Petri nets models. IEEE Trans. Softw. Eng. 20, 2 (Feb.).]] Google ScholarGoogle Scholar
  23. FUTATSUGI, K., GOGUEN, J., JOUANNAUD, J. P., AND MESEGUER, J. 1985. Principles of OBJ. In Proceedings of Symposzum on Principles of Programming Languages (New Orleans, La., Jan 1985). ACM, New York, 52-66.]] Google ScholarGoogle Scholar
  24. GHEZZI, C., MANDRIOLI, D., AND MORZENTI, A. 1990. TRIO, a logic language for executable specifications of real-time systems. J. Syst. Softw. 12, 2 (May), 107 123.]] Google ScholarGoogle Scholar
  25. GHEZZI, C., MANDRIOLI, D., MORASCA, S., AND PEZZg, M. 1991. A unified high-level Petri net model for time-critical systems. IEEE Trans. Softw. Eng. 17, 2 (Feb.), 160-172.]] Google ScholarGoogle Scholar
  26. GOGUEN, J. A., AND MESEGUER, J. 1987. Unifying functional, object oriented, and relational programming with logic programming. In Research Dtrecttons in Object-Oriented Programmtng, B. Shriver and P. Wegner, Eds. MIT Press, Cambridge, Mass.]] Google ScholarGoogle Scholar
  27. KAHN, K., TRIBBLE, E., MILLER, M., AND BOBROW, D. 1987. Vulcan: Logical concurrent objects. In Research Directions ~n Object-Oriented Programming, B. Shriver and P. Wegner, Eds. MIT Press, Cambridge, Mass.]] Google ScholarGoogle Scholar
  28. KEMMERER, a.A. 1985. Testing formal specifications to detect design errors. IEEE Trans. Softw. Eng. 11, i (Jan.), 32-43.]]Google ScholarGoogle Scholar
  29. KOYMANS, R. 1989. Specifying message passing and time critical systems with temporal logic. Ph.D. dissertation, Eindhoven Univ. of Technology, The Netherlands.]]Google ScholarGoogle Scholar
  30. KOYMANS, R., AND DE ROEVER, W.P. 1985. Examples of a Real-Time Temporal Logw Specifwatton. Lecture Notes in Computer Science, vol. 207, Springer-Verlag, New York, 230-251.]] Google ScholarGoogle Scholar
  31. KR6GER, F. 1987. Temporal Logic of Programs. EATCS Monographs on Theoretical Computer Science, Springer-Verlag, New York.]] Google ScholarGoogle Scholar
  32. MAHONY, B. P. AND HAYES, I.J. 1992. A case-study in timed refinement: A mine pump. IEEE Trans. Softw. Eng. 18, 9 (Sept.), 817 826.]] Google ScholarGoogle Scholar
  33. MANDRIOLI, D., MORASCA, S., AND MORZENTI, A. 1992. Functional test case generation for real-time systems. In Proceedings of DCCA3: 3rd International Working Conference on Dependable Computtng for Critical Applications. IFIP, 13-26.]]Google ScholarGoogle Scholar
  34. MANNA, Z., AND PNUELI, A. 1983. Verification of concurrent programs: A temporal proof system. Tech. Rep. STAN-CS-83, Dept. of Computer Science, Stanford Univ, Calif. (See also Foundattons of Computer Science IV. Mathematical Center Tracts, Amsterdam, June )]] Google ScholarGoogle Scholar
  35. MEYER, B. 1988. Object Ortented Software Constructton. Prentice-Hall, Englewood Cliffs, N.J.]] Google ScholarGoogle Scholar
  36. MILI, A., BOUDRIGA, N., AND MILl, F. 1989. Towards Structured Specifying. Theory, Practice, Apphcations. Ellis Horwood, Chichester, U.K.]] Google ScholarGoogle Scholar
  37. MILLER, D. 1986. A theory of modules for logic programming. In International Sympostum on Logtc Programming (Salt Lake City, Utah, Sept. 1986). IEEE, New York.]]Google ScholarGoogle Scholar
  38. MORZENTI, A. 1989. The specification of real-time systems: Proposal of a logic formalism. Ph.D. dissertation, Dipartimento dl Elettronica, Politecnico di Milano, Italy.]]Google ScholarGoogle Scholar
  39. MORZENT~, A., MANDRIOLI, D., AND GHEZZI, C. 1992. A model parametric real-time logic. ACM Trans. Program. Lang. Syst. 14, 4 (Oct.), 521-573]] Google ScholarGoogle Scholar
  40. MORZENTI, A., RATTO, E., RONCATO, M., AND ZOCCOLANTE, L. 1989. TRIO: A logic formalism for the specification of real time systems. In Euromtcro Workshop on Real Ttrne (Como, Italy). IEEE, New York, 26 30.]]Google ScholarGoogle Scholar
  41. MORZENTI, A., AND SAN PIETRO, P. 1990 TRIO+ an object oriented logic specification language. Tech. Rep. ENEL-CRA, Dipartimento di Electtronica, Politecnico di Milano, Italy, Jan. In Italian.]]Google ScholarGoogle Scholar
  42. MORZENTI, A., AND SAN PIETRO, P. 1991 An object oriented logic language for modular system specification. In Proceedings of European Conference on Object Ortented Programmtng 91 (Geneva, Switzerland, July). Springer-Verlag, New York, 39-58.]] Google ScholarGoogle Scholar
  43. O'KEEFE, R.A. 1986. Towards an algebra for constructing logic programs. In IEEE Sympo-sium on Logic Programming (Boston, Mass., July 1985). IEEE, New York, 152-162.]]Google ScholarGoogle Scholar
  44. OSTROFF, J. 1989. Temporal Logtc for Real-Time Systems. Advanced Software Development Ser~es, vol. 1. Research Studies Press, Taunton, Somerset, U K.]] Google ScholarGoogle Scholar
  45. OWICKI, S., AND LAMPORT, L. 1982. Proving hveness properties of concurrent programs. ACM Trans. Program. Lang. Syst. 4, 3 (July), 455-495]] Google ScholarGoogle Scholar
  46. PAGE-JONES, M. 1992. Comparing techniques by means of encapsulation and connascence. Commun. ACM 35, 9 (Sept.), 147 152.]] Google ScholarGoogle Scholar
  47. PETERSON, J.L. 1981. Petrt Net Theory and the Modelltng of Systems. Prent~ce-Hall, Englewood Cliffs, N.J.]] Google ScholarGoogle Scholar
  48. PNUELI, A. 1981. The temporal semantics of concurrent programs. Theor. Comput. Scz 13, 1 (Jan.), 45 60.]]Google ScholarGoogle Scholar
  49. RESCHER, N., AND URQUHART, A 1971. Temporal Logic. Springer-Verlag, New York.]]Google ScholarGoogle Scholar
  50. ROSEN, J P. 1992. What orientation should Ada objects take? Commun ACM 35, 11 (Nov), 71-76]] Google ScholarGoogle Scholar
  51. RUMBAUGH, J. ET AL. 1991. Object Omented Modeltng and Destgn. Prent~ce-Hall, Engiewood Cliffs, N.J.]] Google ScholarGoogle Scholar
  52. SHAPmO, E 1987. Concurrent Prolog. MIT Press, Cambridge, Mass.]]Google ScholarGoogle Scholar
  53. SMULLIAN, R.M. 1968. Ftrst Order Logtc. Springer-Verlag, New York.]]Google ScholarGoogle Scholar
  54. SNYDER, h. 1986. Encapsulation and inheritance in object oriented programming languages. In Proceedings of OOPSLA: Object Oriented Programming Systems Languages and Applicatwns (Portland, Ore., Sept. 1986). ACM, New York, 36-45.]] Google ScholarGoogle Scholar
  55. STANKOVIC, J.h. 1988. Misconcepts about real-time computing: A serious problem for nextgeneration computing, Computer 21, 10 (Oct.), 10 19.]] Google ScholarGoogle Scholar
  56. U.S. DEPARTMENT OF DEFENSE. 1983. Reference Manual for the Ada Programming Language. U S. Department of Defense, Washington, D.C.]] Google ScholarGoogle Scholar
  57. WARD, P. T. 1986. The transformation schema: An extenmon of the data flow diagram to represent control and timing. IEEE Trans. Softw. Eng. 12, 2 (Feb.), 198 210.]] Google ScholarGoogle Scholar
  58. WECNER, P. 1988. ObJect-oriented concept hierarchies. Tech Rep., Computer Science Dept., Brown Univ., Providence, R. I.]]Google ScholarGoogle Scholar
  59. WroTH, N. 1977. Toward a discipline of real-time programming. Commun. ACM 20, 8 (Aug.), 557-583.]] Google ScholarGoogle Scholar
  60. WIRTH, N. 1988. Programmtng zn Modula-2. Springer-Verlag, New York.]] Google ScholarGoogle Scholar

Index Terms

  1. Object-oriented logical specification of time-critical systems

                  Recommendations

                  Reviews

                  Percy Mett

                  Formal specification is well established in the software engineering process. When specifying a real-time system, a formalism that incorporates temporal attributes is required. TRIO is a specification language based on first-order temporal logic that may be used in the validation of real-time systems. The systems that are most in need of formal specification are large-scale industrial systems, which are not readily amenable to description by relatively low-level languages that contain only the logical constructs. For such systems, software engineers look for a structured approach that supports modularity and reusability. These concepts underpin object-oriented approaches to software development. The authors have built a specification language based on TRIO but with essential features that support an object-oriented methodology. The structuring facilities thereby made available are considered crucial in avoiding the situation in which the bulk of the specification effort is expended in generating syntactically correct formulas. This enhanced language, TRIO+, is also endowed with a graphical representation. Such graphical tools improve the usability and acceptability of a formal specification method. The paper describes work conducted in conjunction with the Italian electricity supply industry in the development of control systems for hydroelectric power management. The development of TRIO+ is a welcome contribution in an area where the use of formal methods by industry has not kept pace with academic developments. Some comparisons with cognate languages are given; the strength of this development is its combination of a logic-based language (for specification purposes) with the structuring facilities of an object-oriented approach. A tool supporting the production of TRIO+ specifications has been developed and is available in the public domain.

                  Access critical reviews of Computing literature here

                  Become a reviewer for Computing Reviews.

                  Comments

                  Login options

                  Check if you have access through your login credentials or your institution to get full access on this article.

                  Sign in

                  Full Access

                  PDF Format

                  View or Download as a PDF file.

                  PDF

                  eReader

                  View online with eReader.

                  eReader