This Article 
 Bibliographic References 
 Add to: 
RSF: A Formalism for Executable Requirement Specifications
November 1990 (vol. 16 no. 11)
pp. 1235-1246

RSF is a formalism for specifying and prototyping systems with time constraints. Specifications are given via a set of transition rules. The application of a transition rule is dependent upon certain events. The occurrence times of the events and the data associated with them must satisfy given properties. As a consequence of the application of a rule, some events are generated and others are scheduled to occur in the future, after given intervals of time. Specifications can be queried, and the computation of answers to queries provides a generalized form of rapid prototyping. Executability is obtained by mapping the RSF rules into logic programming. The rationale, a definition of the formalism, the execution techniques which support the general notion of rapid prototyping and a few examples of its use are presented.

[1] ACM SIGSOFT (Special Issue on Rapid Prototyping), vol. 7, no. 5, 1982.
[2] F. Pietriet al., "ASPIS: A knowledge-based environment for software development," inProc. 4th ESPRIT Technical Week. Amsterdam, The Netherlands: North-Holland 1987, pp. 375-391.
[3] B. Auernheimer and R. A. Kemmerer, "RT-ASLAN: A specification language for real time systems,"IEEE Trans. Software Eng., vol. SE-12, pp. 879-889, Sept. 1986.
[4] R. Balzer, C. Green, and T. Cheatham, "Software technology in the 1990's using a new paradigm,"Computer, Nov. 1983.
[5] R. Barbuti, M. Bellia, G. Levi, and M. Martelli, "LEAF: A language which integrates logic, equations and functions," inLogic Programming: Functions, Relations and Equations, D. DeGroot and G. Lindstrom, Eds. Englewood Cliffs, NJ: Prentice-Hall, 1986.
[6] G. Berry and L. Cosserat, "The Esterel synchronous programming language and its mathematical semantics," inProc. CMU Seminar on Concurrency, Lecture Notes in Computer Science 197, Springer-Verlag, 1985.
[7] G. Bruno and G. Marchetto, "Process-translatable Petri nets for the rapid prototyping of process control systems,"IEEE Trans. Software Eng., vol. SE-12, Feb. 1986.
[8] R. Budde, Ed., "Approaches to prototyping," inProc. Working Conf. Prototyping, Spring 1984.
[9] P. Caspi, D. Pilaud, N. Halbwachs, and J. Plaice, LUSTRE: A declarative language for programming synchronous systems," in14th ACM Symposium on Principles of Programming Languages, Jan. 1987.
[10] D. Cohen, W. Swartout, and R. Balzer, "Using symbolic execution to characterize behavior,"ACM SIGSOFT (Special Issue on Rapid Prototyping), vol. 7, no. 5, 1982.
[11] D. Cohen, "Symbolic execution of the GIST specification language," inProc. IJCAI, 1983, pp. 17-20.
[12] D. DeGroot and G. Lindstrom,Logic Programming: Functions. Equations. and Relations. Englewood Cliffs, NJ: Prentice-Hall, 1986.
[13] G. Fishman,Concepts and Methods in Discrete Events Digital Simulation. New York: Wiley, 1978.
[14] F. Jahanian and A. K. Mok, "Safety analysis of timing properties in real-time systems,"IEEE Trans. Software Eng., vol. SE-12, no. 9, pp. 890-904, Sept. 1986.
[15] J. Jaffar and J-L. Lassez, "Constraint Logic Programming,"Proc. 14th ACM Symp. Principles Programming Languages, ACM, New York, 1987, pp. 111-119.
[16] R. A. Kemmerer, "Testing formal specifications to detect design errors,"IEEE Trans. Software Eng., vol. SE-11, no. 1, pp. 32-43, Jan. 1985.
[17] R. Kowalski and M. Sergot, "A logic based calculus of events,"New Generation Computing, Feb. 1986.
[18] R. Kowalski, "Logic programming," inProc. IFIP 83, R.E.A. Mason, Ed. Amsterdam, The Netherlands: Elsevier North-Holland, 1983.
[19] L. Lamport, "What good is temporal logic?" inProc. IFIP 83, R.E.A. Mason, Ed. Amsterdam, The Netherlands: Elsevier, North-Holland, 1983.
[20] J. W. Lloyd,Foundations of Logic Programming, New York: Springer, 1984.
[21] Luqi, V. Berzins, and T. R. Yeh, "A prototyping language for real-time software,"IEEE Trans. Software Eng., vol. 14, no. 10, pp. 1049-1423, Oct. 1988.
[22] G. Pacini and F. Turini, "Animation of software requirements," inIndustrial Software Technology, R. J. Mitchell, Ed. London: Peregrinus, 1987.
[23] J. L. Peterson,Petri Net Theory and the Modeling of Systems. Englewood Cliffs, NJ: Prentice-Hall, 1981.
[24] A. Pnueli, "Applications of Temporal Logic to the Specification and Verification of Reactive Systems: A Survey of CurrentTrends," inCurrent Trends in Concurrency: Overviews and Tutorials. W.-P. de Roever and G. Rozenberg, eds., Lecture Notes in Computer Science 224, Springer-Verlag, N.Y., 1986, pp. 510-584.
[25] P. Puncello, P. Torrigiani, F. Pietri, R. Burlon, B. Cardile, and M. Conti, "ASPIS: A knowledge based CASE environment,"IEEE Software, Mar. 1988.
[26] D. T. Ross, "Structured analysis (SA): A language for communicating ideas,"IEEE Trans. Software Eng., vol. SE-3, Jan. 1977.
[27] F. Sadri, "Representing and reasoning about time and events: Three recent approaches," Imperial College, Internal Rep., 1986.
[28] R. E. Shostack, "On the SUP-INF method for proving Presburger formulas,"J. ACM, vol. 24, no. 4, 1977.
[29] L. Sterling and E. Shapiro,The Art of Prolog. Cambridge, MA: MIT Press, 1986.
[30] P. Zave, "The operational versus the conventional approach to software development,"Commun. ACM, vol. 27, no. 2, pp. 104-118, Feb. 1984.
[31] P. Zave, "An operational approach to requirements specification for embedded systems,"IEEE Trans. Software Eng., vol. SE-8, 1982.

Index Terms:
RSF; formalism; executable requirement specifications; time constraints; transition rules; events; occurrence times; answers; queries; rapid prototyping; logic programming; software prototyping
M. Degl'Innocenti, G.L. Ferrari, G. Pacini, F. Turini, "RSF: A Formalism for Executable Requirement Specifications," IEEE Transactions on Software Engineering, vol. 16, no. 11, pp. 1235-1246, Nov. 1990, doi:10.1109/32.60312
Usage of this product signifies your acceptance of the Terms of Use.