This Article 
 Bibliographic References 
 Add to: 
Foundations of Sequence-Based Software Specification
May 2003 (vol. 29 no. 5)
pp. 417-429
Stacy J. Prowell, IEEE Computer Society

Abstract—Rigorous specification early in the software development process can greatly reduce the cost of later development and maintenance, as well as provide an explicit means to manage risk and identify and meet safety requirements. Sequence-based software specification is a collection of techniques for implementing rigorous, practical software specification. The primary result of this research is the sequence enumeration method of specification writing. Straightforward, systematic enumeration of all sequences to produce an arguably complete, consistent, and traceably correct specification is made practical by controlling the growth of the process.

[1] W. Bartoussek and D. L. Parnas, “Using Assertions about Traces to Write Abstract Specifications for Software Modules,” Proc. Second Conf. European Cooperation in Informatics and Information Systems Methodology, pp. 211-236, 1978.
[2] R.V. Book and F. Otto, String Rewriting Systems. Springer-Verlag, 1993.
[3] M. Broy, Functional Specification of Time Sensitive Communicating Systems. Springer-Verlag, 1990.
[4] M. Broy and C. Dendorfer, “Modelling Operating System Structures by Timed Stream Processing Functions,” J. Functional Programming, vol. 2, no. 1, pp. 1-21, Jan. 1992.
[5] P.M. Cohn, Universal Algebra, second ed. Springer-Verlag, 1979.
[6] D.M. Hoffman and R. Snodgrass, “Trace Specifications: Methodology and Models,” IEEE Trans. Software Eng., vol. 14, no. 9, pp. 1243-1252, Sept. 1998.
[7] R. Janicki and E. Sekerinski, “Foundations of the Trace Assertion Method of Module Interface Specification,” IEEE Trans. Software Eng., vol. 27, no. 7, pp. 577-598, July 2001.
[8] D.P. Kelly and J.H. Poore, “From Good to Great: Lifecycle Improvements Can Make the Difference,” Cutter IT J., vol. 13, no. 2, pp. 7-14, Feb. 2000.
[9] H.D. Mills, “Stepwise Refinement and Verification in Box-Structured Systems,” Computer, vol. 21, no. 6, pp. 23-26, June 1988.
[10] H.D. Mills, R.C. Linger, and A.R. Hevner, Principles of Information Systems Analysis and Design, Academic Press, San Diego, Calif., 1986.
[11] D.L. Parnas and Y. Wang, “The Trace Assertion Method of Module Interface Specification,” Technical Report 89-261, Dept. of Computing and Information Science, Queen's Univ. at Kingston, Ontario, Canada, Oct. 1989.
[12] J.H. Poore and C.J. Trammell, “Application of Statistical Science to Testing and Evaluating Software Systems,” Statistics, Testing, and Defense Acquisition: Background Papers, M.L. Cohen, D.L. Steffey, and J.E. Rolph, eds., chapter 3, pp. 124-170, 1999.
[13] S.J. Prowell, “Developing Black Box Specifications through Sequence Enumeration,” Proc. Harlan Mills Colloquium, May 1999.
[14] S.J. Prowell et al., Cleanroom Software Engineering: Technology and Processes, Addison-Wesley, Reading, Mass., 1999.
[15] J.A. Whittaker and J.H. Poore, "Markov Analysis of Software Specifications," ACM Trans. Software Eng. and Methodology, Vol. 2, No. 1, Jan. 1993, pp. 93-106.

Index Terms:
Software specification, sequence-based specification, trace specification, requirements analysis, correctness, completeness, consistency.
Stacy J. Prowell, Jesse H. Poore, "Foundations of Sequence-Based Software Specification," IEEE Transactions on Software Engineering, vol. 29, no. 5, pp. 417-429, May 2003, doi:10.1109/TSE.2003.1199071
Usage of this product signifies your acceptance of the Terms of Use.