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.
- ABITEBOUL, S., AND HULL, R. 1987. IFO: A formal semantic database model. ACM Trans. Database Syst. 12, 4 (Dec.), 525-565.]] Google Scholar
- 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 Scholar
- ARAPIS, C. 1992. Dynamic evolution of object behavior and object cooperation, Ph.D. d~ssertation, University of Geneva, Switzerland.]]Google Scholar
- BEERI, C. 1990. A formal approach to object oriented databases. Data Knowl. Eng. 5, 4 (Oct.), 353-382.]] Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- COHEN, B., HARWOOD, W. T., AND JACKSON, M.J. 1986. The Specification of Complex Systems. Addison-Wesley, Reading, Mass.]] Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- DEMARcO, T. 1978. Structured Analysis and System Design. Yourdon Press, New York.]] Google Scholar
- DEREMER, F., AND KRON, H. 1976. Programming-in-the-large versus Programming-in-thesmall. IEEE Trans. Softw. Eng. 2, 6 (June), 80 86.]]Google Scholar
- 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 Scholar
- ENDERTON, H.B. 1972. A Mathematical Introduction to Logtc. Academic Press, New York.]]Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- KEMMERER, a.A. 1985. Testing formal specifications to detect design errors. IEEE Trans. Softw. Eng. 11, i (Jan.), 32-43.]]Google Scholar
- KOYMANS, R. 1989. Specifying message passing and time critical systems with temporal logic. Ph.D. dissertation, Eindhoven Univ. of Technology, The Netherlands.]]Google Scholar
- 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 Scholar
- KR6GER, F. 1987. Temporal Logic of Programs. EATCS Monographs on Theoretical Computer Science, Springer-Verlag, New York.]] Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- MEYER, B. 1988. Object Ortented Software Constructton. Prentice-Hall, Englewood Cliffs, N.J.]] Google Scholar
- MILI, A., BOUDRIGA, N., AND MILl, F. 1989. Towards Structured Specifying. Theory, Practice, Apphcations. Ellis Horwood, Chichester, U.K.]] Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- OSTROFF, J. 1989. Temporal Logtc for Real-Time Systems. Advanced Software Development Ser~es, vol. 1. Research Studies Press, Taunton, Somerset, U K.]] Google Scholar
- OWICKI, S., AND LAMPORT, L. 1982. Proving hveness properties of concurrent programs. ACM Trans. Program. Lang. Syst. 4, 3 (July), 455-495]] Google Scholar
- PAGE-JONES, M. 1992. Comparing techniques by means of encapsulation and connascence. Commun. ACM 35, 9 (Sept.), 147 152.]] Google Scholar
- PETERSON, J.L. 1981. Petrt Net Theory and the Modelltng of Systems. Prent~ce-Hall, Englewood Cliffs, N.J.]] Google Scholar
- PNUELI, A. 1981. The temporal semantics of concurrent programs. Theor. Comput. Scz 13, 1 (Jan.), 45 60.]]Google Scholar
- RESCHER, N., AND URQUHART, A 1971. Temporal Logic. Springer-Verlag, New York.]]Google Scholar
- ROSEN, J P. 1992. What orientation should Ada objects take? Commun ACM 35, 11 (Nov), 71-76]] Google Scholar
- RUMBAUGH, J. ET AL. 1991. Object Omented Modeltng and Destgn. Prent~ce-Hall, Engiewood Cliffs, N.J.]] Google Scholar
- SHAPmO, E 1987. Concurrent Prolog. MIT Press, Cambridge, Mass.]]Google Scholar
- SMULLIAN, R.M. 1968. Ftrst Order Logtc. Springer-Verlag, New York.]]Google Scholar
- 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 Scholar
- STANKOVIC, J.h. 1988. Misconcepts about real-time computing: A serious problem for nextgeneration computing, Computer 21, 10 (Oct.), 10 19.]] Google Scholar
- U.S. DEPARTMENT OF DEFENSE. 1983. Reference Manual for the Ada Programming Language. U S. Department of Defense, Washington, D.C.]] Google Scholar
- 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 Scholar
- WECNER, P. 1988. ObJect-oriented concept hierarchies. Tech Rep., Computer Science Dept., Brown Univ., Providence, R. I.]]Google Scholar
- WroTH, N. 1977. Toward a discipline of real-time programming. Commun. ACM 20, 8 (Aug.), 557-583.]] Google Scholar
- WIRTH, N. 1988. Programmtng zn Modula-2. Springer-Verlag, New York.]] Google Scholar
Index Terms
- Object-oriented logical specification of time-critical systems
Recommendations
A model parametric real-time logic
TRIO is a formal notation for the logic-based specification of real-time systems. In this paper the language and its straightforward model-theoretic semantics are briefly summarized. Then the need for assigning a consistent meaning to TRIO ...
Dealing with different time scales in formal specifications
IWSSD '91: Proceedings of the 6th international workshop on Software specification and designWe motivate the need for allowing the consistent treatment of different time scales in formal specifications of time critical systems, with the purpose of enhancing the naturalness and practical usability of the notation. Our approach to this issue is ...
Validating real-time systems by history-checking TRIO specifications
We emphasize the importance of formal executable specifications in the development of real-time systems, as a means to assess the adequacy of the requirements before a costly development process takes place. TRIO is a first-order temporal logic language ...
Comments