Augmenting Sequence Enumeration with String-Rewriting for Requirements Analysis and Behavioral Specification

  • Lan Lin
  • Jesse H. Poore
  • Robert Eschbach
  • Robert M. Hierons
  • Christopher Robinson-Mallett
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7793)

Abstract

Sequence enumeration is a method for deriving a system model based on informal requirements. Under sequence enumeration, stimulus (input) sequences are considered in a breadth-first manner, with the expected system response to each sequence given. Not all sequences of stimuli are considered since a sequence need not be extended if either it is illegal (it cannot be applied in practice) or it can be reduced to another sequence previously considered (the sequences take the system to the same state). Sequence enumeration is mostly a manual process, which leads to a model that can be used as the basis for automation. This paper describes a method, based on string-rewriting, that automates parts of sequence enumeration. This automation has the potential to reduce both the cost and time involved in sequence enumeration but also to reduce the scope for human error. In addition to outlining this method, we discuss our experiences in applying it to four case studies.

Keywords

software specification sequence-based specification sequence enumeration string-rewriting requirements engineering 

References

  1. 1.
    Bartussek, W., Parnas, D.L.: Using assertions about traces to write abstract specifications for software modules. In: Proceedings of the 2nd Conference of the European Cooperation on Informatics, Venice, Italy, pp. 211–236 (1978)Google Scholar
  2. 2.
    Bauer, T., Beletski, T., Boehr, F., Eschbach, R., Landmann, D., Poore, J.: From requirements to statistical testing of embedded systems. In: Proceedings of the 4th International Workshop on Software Engineering for Automotive Systems, Minneapolis, MN, pp. 3–9 (2007)Google Scholar
  3. 3.
    Book, R.V., Otto, F.: String-Rewriting Systems. Springer, Berlin (1993)MATHCrossRefGoogle Scholar
  4. 4.
    Broadfoot, G.H., Broadfoot, P.J.: Academia and industry meet: Some experiences of formal methods in practice. In: Proceedings of the 10th Asia-Pacific Software Engineering Conference, Chiang Mai, Thailand, pp. 49–59 (2003)Google Scholar
  5. 5.
    Brzozowski, J.: Derivatives of regular expressions. Journal of the ACM 11(4), 481–494 (1964)MathSciNetMATHCrossRefGoogle Scholar
  6. 6.
    Brzozowski, J., Jürgensen, H.: Theory of deterministic trace-assertion specifications. Technical report CS-2004-30, University of Waterloo (2004)Google Scholar
  7. 7.
    Brzozowski, J., Jürgensen, H.: Representation of semiautomata by canonical words and equivalences. International Journal of Foundations of Computer Science 16(5), 831–850 (2005)MathSciNetMATHCrossRefGoogle Scholar
  8. 8.
    Eschbach, R., Lin, L., Poore, J.H.: Applying string-rewriting to sequence-based specification. Technical report ut-cs-12-692, University of Tennessee, Knoxville (2012), http://web.eecs.utk.edu/~library/TechReports/2012/ut-cs-12-692.pdf
  9. 9.
    Gill, A.: Introduction to the Theory of Finite-State Machines. McGraw-Hill, New York (1962)MATHGoogle Scholar
  10. 10.
    Hopcroft, P.J., Broadfoot, G.H.: Combining the box structure development method and CSP for software development. Electronic Notes in Theoretical Computer Science 128(6), 127–144 (2005)CrossRefGoogle Scholar
  11. 11.
    Joseph, M. (ed.): Real-Time Systems: Specification, Verification and Analysis. Prentice Hall International, London (1996)MATHGoogle Scholar
  12. 12.
    Lin, L., Prowell, S.J., Poore, J.H.: An axiom system for sequence-based specification. Theoretical Computer Science 411(2), 360–376 (2010)MathSciNetMATHCrossRefGoogle Scholar
  13. 13.
    Linger, R.C., Mills, H.D., Witt, B.I.: Structured Programming: Theory and Practice. Addison-Wesley, Boston (1979)MATHGoogle Scholar
  14. 14.
    Mills, H.D.: Stepwise refinement and verification in box-structured systems. IEEE Computer 21(6), 23–36 (1988)CrossRefGoogle Scholar
  15. 15.
    Mills, H.D.: The new math of computer programming. Communications of the ACM 18(1), 43–48 (1975)MATHCrossRefGoogle Scholar
  16. 16.
    MPCS: Mine pump controller software enumeration (2012), http://sqrl.eecs.utk.edu/btw/files/MPCS_sr.html
  17. 17.
    Parnas, D.L., Wang, Y.: The trace assertion method of module interface specification. Technical report 89-261, Queens University (1989)Google Scholar
  18. 18.
    Proto_Seq: ESP project (2012), http://sqrl.eecs.utk.edu/esp/index.html
  19. 19.
    Prowell, S.J., Poore, J.H.: Sequence-based software specification of deterministic systems. Software: Practice and Experience 28(3), 329–344 (1998)CrossRefGoogle Scholar
  20. 20.
    Prowell, S.J., Poore, J.H.: Foundations of sequence-based software specification. IEEE Transactions on Software Engineering 29(5), 417–429 (2003)CrossRefGoogle Scholar
  21. 21.
    Prowell, S.J., Trammell, C.J., Linger, R.C., Poore, J.H.: Cleanroom Software Engineering: Technology and Process. Addison-Wesley, Reading (1999)Google Scholar
  22. 22.
    SOS: Satellite operations software enumeration (2012), http://sqrl.eecs.utk.edu/btw/files/SOS_sr.html
  23. 23.
    Wang, Y., Parnas, D.L.: Simulating the behavior of software modules by trace rewriting. IEEE Transactions on Software Engineering 20(10), 750–759 (1994)CrossRefGoogle Scholar
  24. 24.
    Wang, Y., Parnas, D.L.: Simulating the behavior of software modules by trace rewriting. In: Proceedings of the 15th International Conference on Software Engineering, Baltimore, MD, pp. 14–23 (1993)Google Scholar
  25. 25.
    Weigh-In-Motion: Weigh-In-Motion, Cube Management, and Marking User Manual, Oak Ridge National Laboratory, Oak Ridge, TN, Version 0.8.2. (2006)Google Scholar
  26. 26.
    WIMDAP: Weigh-in-motion data acquisition processor enumeration (2012), http://sqrl.eecs.utk.edu/btw/files/WIMDAP_sr.html

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Lan Lin
    • 1
  • Jesse H. Poore
    • 2
  • Robert Eschbach
    • 3
  • Robert M. Hierons
    • 4
  • Christopher Robinson-Mallett
    • 5
  1. 1.Department of Computer ScienceBall State UniversityMuncieUSA
  2. 2.Department of Electrical Engineering and Computer ScienceUniversity of TennesseeKnoxvilleUSA
  3. 3.ITK Engineering AGHerxheimGermany
  4. 4.School of Information Systems, Computing and MathematicsBrunel UniversityUxbridgeUK
  5. 5.Berner & Mattner Systemtechnik GmbHBerlinGermany

Personalised recommendations