Converting scenarios to CSP traces with Mise en Scene for requirements-based programming

Original Paper

Abstract

The Requirements-to-Design-to-Code (R2D2C) project of NASA’s Software Engineering Laboratory is based on inferring a formal specification expressed in Communicating Sequential Processes (CSP) from system requirements supplied in the form of CSP traces. The traces, in turn, are to be derived from scenarios, a user-friendly medium used to describe the required behavior of computer systems under development. An extensive survey of the “scenario” concept and an overview of scenario-based approaches to system engineering are presented. This work, called Mise en Scene, defines a new scenario medium (scenario notation language, SNL) suitable for control-dominated systems, coupled with a two-stage process for automatic translation of scenarios to a new trace medium (trace notation language, TNL), which encompasses CSP traces. Notes on progress toward a “smart” scenario authoring tool are provided, as well as a detailed case study.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Hinchey MG, Rash JL, Rouff CA (2005) A formal approach to requirements-based programming. In: Proceedings of 12th annual IEEE international conference and workshop on the engineering of computer based systems (ECBS 2005), Los Alamitos, IEEE Computer Society, Washington, pp 339–345Google Scholar
  2. 2.
    Hinchey MG, Rash JL, Rouff CA (2005) Enabling requirements-based programming for highly-dependable complex parallel and distributed systems. In: Proceedings of the 11th international conference on parallel and distributed systems—workshops (ICPADS’05), Washington DC, IEEE Computer Society, Washington, pp 570–574Google Scholar
  3. 3.
    Hinchey MG, Rash JL, Rouff CA (2005) Requirements to Design to Code: towards a fully formal approach to automatic code generation. Technical Report 2005-212774, National Aeronautics and Space AdministrationGoogle Scholar
  4. 4.
    Carter JD (2006) Mise en Scene: a scenario-based approach to generating CSP system traces. Master’s thesis, University of Guelph, Department of Computing and Information Science, GuelphGoogle Scholar
  5. 5.
    Carter JD, Gardner WB (2007) Mise en Scene: converting scenarios to CSP traces in support of requirements-based programming. In: Proceedings of 3rd IEEE systems and software week, vol 31. Software Engineering Workshop, pp 41–50Google Scholar
  6. 6.
    Carter JD, Gardner WB, Rash JL, Hinchey MG (2007) Mise en Scene: scenario to CSP trace conversion for the Requirements-to-Design-to-Code project. Technical Report NASA/TM-2007-214155, National Aeronautics and Space Administration, GreenbeltGoogle Scholar
  7. 7.
    Hoare CAR (1978). Communicating Sequential Processes. Commun ACM 21(8): 666–677 MATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Hoare CAR (1983). Communicating Sequential Processes. Commun ACM 26(1): 100–106 CrossRefMathSciNetGoogle Scholar
  9. 9.
    Schneider S (2000). Concurrent and real-time systems: the CSP approach. Wiley, Baffins Lane Google Scholar
  10. 10.
    Kaufmann M, Moore JS (2007) ACL2 webpage [online]. http://www.cs.utexas.edu/users/moore/acl2/. Accessed 3 May 2007. University of Texas at Austin
  11. 11.
    Carpenter PB (1999) Verification of requirements for safety-critical software. In Proceedings of the 1999 annual ACM SIGAda international conference on Ada (SIGAda ’99), New York. ACM Press, New York, pp 23–29Google Scholar
  12. 12.
    Fraser MD, Kumar K and Vaishnavi VK (1991). Informal and formal requirements specification languages: bridging the gap. IEEE Trans Softw Eng 17(5): 454–466 CrossRefGoogle Scholar
  13. 13.
    Kotonya G and Sommerville I (1998). Requirements engineering: processes and techniques. Wiley, Baffins Lane Google Scholar
  14. 14.
    Maiden NAM (1998). CREWS-SAVRE: Scenarios for acquiring and validating requirements. Autom Software Engg 5(4): 419–446 CrossRefGoogle Scholar
  15. 15.
    McGraw KL (1997) User-centered requirements: the scenario-based engineering process. Lawrence Erlbaum Associates, MahwahGoogle Scholar
  16. 16.
    Campbell RL (1992). Categorizing scenarios: a quixotic quest?. SIGCHI Bull 24(4): 16–17 CrossRefGoogle Scholar
  17. 17.
    Campbell RL (1992). Will the real scenario please stand up?. SIGCHI Bull 24(2): 6–8 CrossRefGoogle Scholar
  18. 18.
    Karat C-M and Karat J (1992). Some dialog on scenarios. SIGCHI Bull 24(4): 7 CrossRefGoogle Scholar
  19. 19.
    Wright P (1992). What’s in a scenario?. SIGCHI Bull 24(4): 11–12 CrossRefGoogle Scholar
  20. 20.
    Young RM and Barnard PJ (1992). Multiple uses of scenarios: a reply to Campbell. SIGCHI Bull 24(4): 10 CrossRefGoogle Scholar
  21. 21.
    Go K and Carroll JM (2004). The blind men and the elephant: views of scenario-based system design. Interactions 11(6): 44–53 CrossRefGoogle Scholar
  22. 22.
    Rolland C, Ben Achour C, Cauvet C, Ralyté J, Sutcliffe A, Maiden N, Jarke M, Haumer P, Pohl K, Dubois E and Heymans P (1998). A proposal for a scenario classification framework. Requir Eng 3(1): 23–47 CrossRefGoogle Scholar
  23. 23.
    Nardi BA (1992). The use of scenarios in design. SIGCHI Bull 24(4): 13–14 CrossRefGoogle Scholar
  24. 24.
    Weidenhaupt K, Pohl K, Jarke M and Haumer P (1998). Scenarios in system development: current practice. IEEE Softw 15(2): 34–45 CrossRefGoogle Scholar
  25. 25.
    Young RM, Barnard P (1987) The use of scenarios in human-computer interaction research: turbocharging the tortoise of cumulative science. In: Proceedings of the SIGCHI/GI conference on human factors in computing systems and graphics interface (CHI ’87), New York, ACM Press, New York, pp 291–296Google Scholar
  26. 26.
    Merriam-Webster, Inc. (2007) Merriam-Webster Online [online]. http://www.m-w.com/. Accessed 3 May 2007
  27. 27.
    Carlson WE (1976) Software research in the Department of Defense. In: Proceedings of the 2nd international conference on Software engineering (ICSE ’76), Los Alamitos. IEEE Computer Society Press, Washington, pp 379–383Google Scholar
  28. 28.
    Whitaker WA (1976) A defense view of software engineering. In: ICSE ’76: Proceedings of the 2nd international conference on software engineering, Los Alamitos. IEEE Computer Society Press, Washington, pp 358–362Google Scholar
  29. 29.
    Emery DE (1983). The Department of Defense software initiative: a summary. Ada Lett II(4): 84–87 CrossRefGoogle Scholar
  30. 30.
    Lieblein E (1986). The Department of Defense software initiative: a status report. Commun ACM 29(8): 734–744 CrossRefGoogle Scholar
  31. 31.
    Carroll JM (1995). Scenario-based design: envisioning work and technology in system development. Wiley, New York Google Scholar
  32. 32.
    Jarke M (1999). Scenarios for modeling. Commun ACM 42(1): 47–48 CrossRefGoogle Scholar
  33. 33.
    Alexander IF and Maiden N (2004). Scenarios, stories, use cases, 1st edn. Wiley, Chichester Google Scholar
  34. 34.
    Potts C, Takahashi K and Antón AI (1994). Inquiry-based requirements analysis. IEEE Softw 11(2): 21–32 CrossRefGoogle Scholar
  35. 35.
    Sutcliffe AG, Maiden NAM, Minocha S and Manuel D (1998). Supporting scenario-based requirements engineering. IEEE Trans Softw Eng 24(12): 1072–1088 CrossRefGoogle Scholar
  36. 36.
    Letier E, Kramer J, Magee J, Uchitel S (2005) Monitoring and control in scenario-based requirements analysis. In: Proceedings of the 27th international conference on software engineering (ICSE ’05), New York, ACM Press, New York, pp 382–391Google Scholar
  37. 37.
    Sutcliffe A (2003) Scenario-based requirements engineering. In: Proceedings of the 11th IEEE international conference on requirements engineering (RE ’03), Washington, IEEE Computer Society, Washington, p 320Google Scholar
  38. 38.
    Haumer P (2004) Scenarios, stories, use cases, chap 12. In: Use case-based software development, 1st edn. Wiley, Chichester, pp 237–264Google Scholar
  39. 39.
    Salinesi C (2004) Scenarios, stories, use cases, chap 8. In: Authoring use cases, 1st edn. Wiley, Chichester, pp 141–160Google Scholar
  40. 40.
    Jacobson I (1995) Scenario-based design: envisioning work and technology in system development, chap 12. In: The use-case construct in object-oriented software engineering. Wiley, Chichester, pp 309–336Google Scholar
  41. 41.
    Holtzblatt K (2004) Scenarios, stories, use cases, chap 10. In: The role of scenarios in contextual design: from user observations to work redesign to use cases, 1st edn. Wiley, Chichester, pp 179–209Google Scholar
  42. 42.
    Allenby K, Kelly T (2001) Deriving safety requirements using scenarios. In: Proceedings of the 5th IEEE international symposium on requirements engineering (RE ’01), Washington DC. IEEE Computer Society, Washington, p 228Google Scholar
  43. 43.
    Whittle J, Schumann J (2000) Generating Statechart designs from scenarios. In: Proceedings of the 22nd international conference on software engineering (ICSE ’00), New York. ACM Press, New York, pp 314–323Google Scholar
  44. 44.
    Harel D and Marelly R (2003). Come, Let’s Play: scenario-based programming using LSC’s and the Play-Engine. Springer, New York Google Scholar
  45. 45.
    Harel D (2001). From play-in scenarios to code: An achievable dream. Computer 34(1): 53–60 CrossRefMathSciNetGoogle Scholar
  46. 46.
    Alexander I (2004) Scenarios, stories, use cases, chap 7. In: Negative scenarios and misuse cases, 1st edn. Wiley, Chichester, pp 119–139Google Scholar
  47. 47.
    Cockburn A (2001). Writing effective use cases. The Agile Software Development Series. Addison-Wesley, Indianapolis Google Scholar
  48. 48.
    Gough PA, Fodemski FT, Higgins SA, Ray SJ (1995) Scenarios–an industrial case study and hypermedia enhancements. In: Proceedings of the 2nd IEEE international symposium on requirements engineering (RE ’95), Washington DC. IEEE Computer Society, Washington, p 10Google Scholar
  49. 49.
    Johnson P, Johnson H, Wilson S (1995) Scenario-based design: envisioning work and technology in system development, chap 9. In: Rapid prototyping of user interfaces driven by task models. Wiley, New York, pp 209–246Google Scholar
  50. 50.
    Harel D, Kugler H (2001) Synthesizing state-based object systems from LSC specifications. Lect Notes Comput Sci 2088:1–33. citeseer.ist.psu.edu/harel00synthesizing.html.Google Scholar
  51. 51.
    Alexander I (2004) Scenarios, stories, use cases, chap 14. In: use cases, test cases, 1st edn. Wiley, Chichester, pp 281–298Google Scholar
  52. 52.
    Rash JL, Hinchey MG, Rouff CA, Gracanin D, Erickson J (2005) Experiences with a requirements-based programming approach to the development of a NASA autonomous ground control system. In: Proceedings of engineering of computer based systems (ECBS ’05), Los Alamitos. IEEE Computer Society, Washington, pp 490–497Google Scholar
  53. 53.
    Formal Systems (Europe) Ltd. Formal Systems website. http://www.fsel.com Accessed 1 October 2006
  54. 54.
    Booch G, Rumbaugh J and Jacobson I (1999). The Unified Modeling Language user guide. Addison Wesley Longman Publishing Co., Inc., Redwood City CrossRefGoogle Scholar
  55. 55.
    Fowler M (2003). UML distilled: a brief guide to the standard object modeling language. Addison-Wesley Longman Publishing Co., Inc., Boston Google Scholar
  56. 56.
    Somé S, Dssouli R, Vaucher J (1996) Toward an automation of requirements engineering using scenarios. J Comput Info, pages 1110–1132, Special issue: ICCI’96, 8th International Conference of Computing and Information. citeseer.ist.psu.edu/218135.html
  57. 57.
    Kealey J, Amyot D (2006) Towards the automated conversion of natural-language use cases to graphical use case maps. In: Proceedings of CCECE/CCGEI 2006. IEEE Canada, pp 2342–2345Google Scholar
  58. 58.
    Kealey J, Kim Y, Amyot D, Mussbacher G (2006) Integrating an Eclipse-based scenario modeling environment with a requirements management system. In: Proceedings of CCECE/CCGEI 2006. IEEE Canada, pp 2397–2400Google Scholar
  59. 59.
    Rolland C and Ben Achour C (1997). Guiding the construction of textual use case specifications. Data Knowl Eng J 25(1): 125–160 CrossRefGoogle Scholar

Copyright information

© Springer-Verlag London Limited 2008

Authors and Affiliations

  1. 1.Department of Computing and Information ScienceUniversity of GuelphGuelphCanada

Personalised recommendations