This Article 
 Bibliographic References 
 Add to: 
Specifying Transaction-Based Information Systems with Regular Expressions
March 1994 (vol. 20 no. 3)
pp. 207-217

The work is about the formal specification of transaction-based, interactive information systems. A transaction is a task that the user can execute independently, and the system can be defined as a partially ordered set of transactions. The general framework is the transformational paradigm, based on the classical Waterfall development model (W.W. Royce, 1970). The stages are systems analysis, software specification, design, and implementation. The systems analysis and software specification stages are covered. An informal, transaction-oriented method for systems analysis is proposed. The resulting system specification involves two parts: a high-level specification of each transaction and a formal specification of the system's control flow, i.e., the order of execution of the transactions. The system's control flow is expressed in a formal language describing concurrent regular expressions built on transaction names. At the software specification stage, some operational requirements, such as connect/disconnect transactions and the application of the all-or-nothing principle, are added to the system specification. Then a serial product automaton (SPA) is used to transform the concurrent expression into a single regular expression. This result is proven to be consistent with the system specification.

[1] A. Arnold, "Systeme de transitions finis et sémantique des processus communicants,"Techniques et Sciences Informatiques, vol. 9, pp. 193-215, 1990.
[2] G. Babin, "Implantation exacte de transactionsàl'aide de machineéquentielles," Master's Thesis, Universitéde Montréal, 1989.
[3] G. Babin, F. Lustman, and P. Shoval, "Specification and design of transactions in information systems: A formal approach,"IEEE Trans. Software Eng., vol. 17, pp. 814-829, Aug. 1991.
[4] R. Balzer, "Transformational implementation: An example,"IEEE Trans. Software Eng., vol. SE-7, no. 1, pp. 3-14, Jan. 1981.
[5] R. Balzer, T. E. Cheatham, and C. Green, "Software technology in the 1990's: Using a new paradigm,"IEEE Comput., vol. 16, no. 3, pp. 39-46, Nov. 1983.
[6] P. A. Bernstein, "Transaction processing systems,"Commun. ACM, vol. 33, pp. 75-86, Nov. 1990.
[7] D. Bjorner, "On the use of formal methods in software development,"Proc. 9th Int. Conf. Software Eng., Monterey, CA, 1987, pp. 17-29.
[8] Brooks, Jr., Frederick P. 1987. "No Silver Bullet: Essence and Accidents of Software Engineering."IEEE Computer, April, pp. 10-19.
[9] A. M. Davis, "A comparison of techniques for the specification of external system behavior,"Commun. ACM, vol. 31, pp. 1098-1115, Sept. 1988.
[10] T. DeMarco,Structured Analysis and System Specification. New York: Yourdon, 1978.
[11] C. Gane and T. Sarson,Structured Systems Analysis: Tools and Techniques. Englewood Cliffs, NJ: Prentice-Hall, 1979.
[12] M.-P. Haugen, "Tutorial on object-oriented SDL," SISU Proj. Rep. 91002, Norwegian Computing Center, Oslo, Norway.
[13] J.E. Hopcroft and J.D. Ullman,Introduction to Automata Theory, Languages, and Computation, Addison-Wesley, Reading, Mass., 1979.
[14] P. Hsia and A. T. Yaung, "Another approach to system decomposition: Requirements clustering,"Proc. COMPSAC88, 1988, pp. 75-82.
[15] M. A. Jackson,Principles of Program Design. Orlando, FL: Academic Press, 1975.
[16] M. A. Jackson,System Development. Englewood Cliffs, NJ: Prentice-Hall, 1983.
[17] R. J. K. Jacob, "Using formal specifications in the design of a human-computer interface,"Commun. ACM, vol. 26, pp. 259-264, Apr. 1983.
[18] C. Lafontaine, Y. Ledru, and P.-Y. Schobbens, "An experiment in formal software development using the B theorem prover on a VDM case study,"Communic. ACM, vol. 34, pp. 62-71, May 1991.
[19] L. Lamport, "A simple approach to specifying concurrent systems,"Commun. ACM, vol. 32, pp. 32-45, 1989.
[20] B. Liskov, "Structure of distributed programs," invited lecture,12th Int. Conf. Software Eng., Nice, France, Mar. 26-30, 1990.
[21] F. Lustman, P. Mercier, and L. Gratton, "A dialog-based architecture for interactive information systems,"Data Base, vol. 16, pp. 18-24, Spring 1985.
[22] F. Lustman, "A formal approach to the specification and design of transaction-based information systems," Publication 824, Département d'informatique et de recherche opérationnelle, Universitéde Montréal, 1992, p. 41.
[23] R. E. A. Mason and T. T. Carey, "Prototyping interactive information systems,"Commun. ACM, vol. 26, no. 5, pp. 347-354, May 1983.
[24] P. Merlin and G. Bochmann, "On the construction of submodule specifications and communication protocols,"ACM TOPLAS, vol. 5, no. 1, pp. 1-25, 1983.
[25] A. Mili, J. Desharnais, and J. R. Gagné, "Formal models of stepwise refinement of programs,"ACM Comput. Surveys, vol. 18, no. 3, Sept. 1986.
[26] G. J. Milne, "The formal description and verification of hardware timing,"IEEE Trans. Comput., vol. 40, pp. 811-826, July 1991.
[27] R.S. Pressman,Software Eng. -- A Practitioner's Approach, McGraw-Hill, New York, 1992.
[28] W. W. Royce, "Managing the development of large software systems,"Proc. Wescon, 1970, pp. 1-9.
[29] P. Shoval, "ADISSA: architectural design of information systems based on structured analysis,"Inform: Syst., vol. 13, pp. 193-210, 1988.
[30] Yourdon, E., and L.L. Constantine,Structured Design: Fundamentals Discipline of Computer Programs and Systems Design, Yourdon Press, New York, 1978.

Index Terms:
formal specification; transaction processing; systems analysis; information systems; transaction-based information systems; regular expressions; formal specification; interactive information systems; transformational paradigm; classical Waterfall development model; systems analysis; software specification; transaction-oriented method; high-level specification; formal language; concurrent regular expressions; operational requirements; connect/disconnect transactions; all-or-nothing principle; serial product automaton; SPA; concurrent expression
F. Lustman, "Specifying Transaction-Based Information Systems with Regular Expressions," IEEE Transactions on Software Engineering, vol. 20, no. 3, pp. 207-217, March 1994, doi:10.1109/32.268922
Usage of this product signifies your acceptance of the Terms of Use.