This Article 
 Bibliographic References 
 Add to: 
An Executable Language for Modeling Simple Behavior
June 1991 (vol. 17 no. 6)
pp. 527-543

SXL, a modeling language that describes system behavior rather that software structure, is discussed. Using a conventional state-transition framework, model behavior is determined by rules that define pre- and postconditions for each transition. Behavior is also specified by constraints (logical invariants) that are automatically enforced during the execution of the model. Rules and constraints are expressed solely in terms of entity-relationship structure and declarative logic; the language lacks machine-oriented data or control structures, and has no facilities for specifying or implementing software. Application of SXL is demonstrated by its translation of a simple behavioral description (a scenario from an actual requirements document) into an executable model. Comparisons are made to software- and specification-oriented methods to illustrate the tradeoffs resulting from SXL's restriction to simple behavioral modeling. A brief account is given of one software development group's experience with SXL.

[1] P. Azemaet al., "Specification and verification of distributed systems using Prolog interpreted Petri nets," inProc. IEEE 7th Int. Conf. Software Eng., 1984, pp. 510-518.
[2] R. Balzer, "A 15 year perspective on automatic programming,"IEEE Trans. Software Eng., vol. SE-11, no. 11, pp. 1257-1268, Nov. 1985.
[3] B. Boehm, "Software engineering--R and D trends and defense needs," inResearch Directions in Software Technology, P. Wegneret al., Eds. Cambridge, MA: MIT Press, 1979, pp. 44-86.
[4] J. R. Cameron, "An overview of JSD,"IEEE Trans. Software Eng., vol. SE-12, no. 2, pp. 222-240, Feb. 1986.
[5] P. P. Chen, "The Entity-Relationship Model -- Towards a Unified View of Data,"ACM Trans. Database Syst., Vol. 1, No. 1, Mar. 1976, pp. 9-36.
[6] W. F. Clocksin and C. S. Mellish,Programming in Prolog. New York: Springer-Verlag, 1984.
[7] GTE Technical Requirements Advisory, GTE Service Corp., Nov. 1987.
[8] H. Gomaa and D. B. H. Scott, "Prototyping as a tool in the specification of user requirements," inProc. 5th Int. Conf. Software Engineering, San Diego, CA, Mar. 1981, pp. 333-342.
[9] Harel, D. et al., "Statemate: A Working Environment for the Development of Complex Reactive Systems," inProc. 10th IEEE Int'l Conf. Software Eng., Apr. 1988, CS Press, Los Alamitos, Calif., Order No. 849.
[10] M. A. Jackson,Principles of Program Design. New York: Academic, 1975.
[11] M. A. Jackson,System Development. Englewood Cliffs, NJ: Prentice-Hall, 1982.
[12] L. Lamport, "Time, clocks, and the ordering of events in a distributed system,"Commun. ACM, vol. 21, no. 7, pp. 558-565, July 1978.
[13] S. Lee, "On executable models for rule-based prototyping," inProc. 8th Int. Conf. Software Engineering, London, England, Aug. 1985, pp. 210-215.
[14] S. Lee and S. Sluizer, "On executable specifications of finite state protocol errors," inProc. 6th Int. Conf. Distributed Computing Systems, Cambridge, MA, May 1986, pp. 458-465.
[15] S. Lee and S. Sluizer, "SXL: An executable specification language," inProc. 4th Int. Workshop Software Specification and Design, Monterey, CA, Apr. 1987, pp. 231-235.
[16] M. Mees and F. Put, "Extending a dynamic modeling method using data modeling capabilities: The case of JSD," inEntity-Relationship Approach, S. Spaccapietra, Ed. Amsterdam, The Netherlands: North-Holland, 1987, pp. 399-418.
[17] K. Ryan and J.A. Larson, "The use of E-R data models in capability schemas," inEntity-Relationship Approach, S. Spaccapietra, Ed. Amsterdam, The Netherlands: North-Holland, 1987, pp. 135-145.
[18] G. Schuldt, "ER-based access modeling," inEntity-Relationship Approach, S. Spaccapietra, Ed. Amsterdam, The Netherlands: North-Holland, 1987, pp. 233-251.
[19] S. Sluizer and S. Lee, "Applying entity-relationship concepts to executable specifications," inEntity-Relationship Approach, S. Spaccapietra, Ed. Amsterdam, The Netherlands: North-Holland, 1987, pp. 183-194.
[20] S. Sluizer and S. Lee, "Using executable specifications to model user requirements," inProc. 20th Hawaii Int. Conf. System Sciences, vol. II, Kona, HI, Jan. 1987, pp. 41-49.
[21] D.R. Smith, G. B. Kotik, and S. J. Westfold, "Research on knowledge-based software environments at Kestrel Institute,"IEEE Trans. Software Eng., vol. SE-11, no. 11, pp. 1278-1295, Nov. 1985.
[22] S. Spaccapietra, Ed.,Entity-Relationship Approach. Amsterdam, The Netherlands: North-Holland, 1987; reprint ofProc. 5th Int. Conf. Entity-Relationship Approach, Dijon, France, Nov. 1986 (not cited in text).
[23] Y. Wang, "A distributed specification model and its prototyping," inProc. COMPSAC 1986, Chicago, IL, Oct. 1986, pp. 130-137; reprinted inIEEE Trans. Software Eng., vol. 14, no. 8, pp. 1090-1097, Aug. 1988.
[24] R. L. Wexelblat, Ed.,History of Programming Languages. New York: Academic, 1981, p. 67 (from the ACM SIGPLAN History of Programming Languages Conf., Los Angeles, CA, June 1978).
[25] P. Zave, "An operational approach to requirements specification for embedded systems,"IEEE Trans. Software Eng., vol. SE-8, no. 3, pp. 250-269, May 1982.
[26] P. Zave and W. Schell, "Salient features of an executable specification language and its environment,"IEEE Trans. Software Eng., vol. SE-12, no. 2, pp. 312-325, Feb. 1986.

Index Terms:
state transition language; executable language; simple behavior; modeling language; system behavior; conventional state-transition framework; model behavior; logical invariants; entity-relationship structure; declarative logic; SXL; behavioral description; requirements document; executable model; specification-oriented methods; software development; formal specification; logic programming; specification languages
S. Lee, S. Sluizer, "An Executable Language for Modeling Simple Behavior," IEEE Transactions on Software Engineering, vol. 17, no. 6, pp. 527-543, June 1991, doi:10.1109/32.87279
Usage of this product signifies your acceptance of the Terms of Use.