Advertisement

Requirements Engineering

, Volume 20, Issue 2, pp 181–211 | Cite as

Early modeling and validation of timed system requirements using Timed Use Case Maps

  • Jameleddine Hassine
Original Article

Abstract

There is a general consensus on the importance of good requirements engineering for achieving high-quality software. Functional requirements capture the intended behavior of the system in terms of services, tasks, or functions the system is required to perform, while non-functional requirements capture required properties of the system, such as timing, performance, and security. These non-functional requirements play a crucial role during system development life cycle serving as selection criteria for choosing among myriads of design decisions. The ability to model and validate the system non-functional properties at the requirements level supports the detection of design errors during the early stages of a software development life cycle and helps reduce the cost of later redesign activities. The widespread interest in time modeling and analysis techniques at the requirements phase provides the major motivation for this research. This paper presents a novel and fully automated approach to describe and validate high-level timed requirements using the Timed Use Case Maps language. We extend the, ITU-T standard User Requirements Notation, Use Case Maps metamodel with time requirements. The resulting extensions are implemented within the jUCMNav tool and formalized using Abstract State Machines allowing for automated simulation and analysis. We illustrate the applicability of our approach using a business process model (conference review process model) and a real-time system model (IP multicast routing case study).

Keywords

Requirements Non-functional Time modeling Timed Use Case Maps (TUCM) User Requirements Notation (URN) Abstract State Machines (ASM) 

References

  1. 1.
    Alur R, Dill DL (1994) A theory of timed automata. Theor Comput Sci 126(2):183–235. doi: 10.1016/0304-3975(94)90010-8 CrossRefzbMATHMathSciNetGoogle Scholar
  2. 2.
    Amyot D (1994) Formalization of timethreads using LOTOS. Master’s thesis, University of Ottawa, Ottawa, Ontario, CanadaGoogle Scholar
  3. 3.
    Amyot D, Andrade R (1999) Description of wireless intelligent network services with Use Case Maps. In: SBRC’99: 17th Brazilian Symposium on Computer Networks, Salvador, BrazilGoogle Scholar
  4. 4.
    Amyot D, Bordeleau F, Buhr RJA, Logrippo L (1995) Formal support for design techniques: a timethreads-LOTOS approach. In: FORTE, pp 57–72Google Scholar
  5. 5.
    Amyot D, Hart N, Logrippo L, Forhan P (1998) Formal specification and validation using a scenario-based approach: The GPRS group-call example. In: Selic B (eds) ObjecTime workshop on research in OO real-time modeling., Ottawa, CanadaGoogle Scholar
  6. 6.
    Amyot D, Mussbacher G (2011) User Requirements Notation: the first ten years, the next ten years (invited paper). JSW 6(5):747–768CrossRefGoogle Scholar
  7. 7.
    Amyot D, Roy JF, Weiss M (2005) Ucm-driven testing of web applications. In: Proceedings of the 12th international conference on Model Driven, SDL’05. Springer, Berlin, pp 247–264Google Scholar
  8. 8.
    Andrade R (2000) Applying Use Case Maps and formal methods to the development of wireless mobile ATM networksGoogle Scholar
  9. 9.
    Apvrille L, Courtiat JP, Lohr C, de Saqui-Sannes P (2004) TURTLE: a real-time UML profile supported by a formal validation toolkit. IEEE Trans Softw Eng 30(7):473–487. doi: 10.1109/TSE.2004.34 CrossRefGoogle Scholar
  10. 10.
    AsmL (2009) Microsoft research: the abstract state machine language. http://research.microsoft.com/en-us/projects/asml/. Last accessed, Dec 2013
  11. 11.
    Ball T (1999) The concept of dynamic analysis. In: Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering, ESEC/FSE-7. Springer, London, pp 216–234Google Scholar
  12. 12.
    Blass A, Gurevich Y (2008) Abstract state machines capture parallel algorithms: correction and extension. ACM Trans Comput Logic 9(3):19–11932. doi: 10.1145/1352582.1352587 MathSciNetGoogle Scholar
  13. 13.
    Börger E, Stark RF (2003) Abstract state machines: a method for high-level system design and analysis. Springer-Verlag New York, Inc., SecaucusCrossRefGoogle Scholar
  14. 14.
    Bornot S, Sifakis J (2000) An algebraic framework for urgency. Inf Comput 163(1):172–202. doi: 10.1006/inco.2000.2999 CrossRefzbMATHMathSciNetGoogle Scholar
  15. 15.
    Bornot S, Sifakis J, Tripakis S (1998) Modeling urgency in timed systems. In: Revised lectures from the international symposium on compositionality: the significant difference, COMPOS’97. Springer, London, UK, pp 103–129Google Scholar
  16. 16.
    Bowman H, Gomez R (2006) Concurrency theory—calculi and automata for modelling untimed and timed concurrent systems. Springer, BerlinGoogle Scholar
  17. 17.
    Braberman VA, Kicillof N, Olivero A (2005) A scenario-matching approach to the description and model checking of real-time properties. IEEE Trans Softw Eng 31(12):1028–1041CrossRefGoogle Scholar
  18. 18.
    de Bruin H, van Vliet H (2003) Quality-driven software architecture composition. J Syst Softw 66(3):269–284. doi: 10.1016/S0164-1212(02)00079-1 CrossRefGoogle Scholar
  19. 19.
    Buhr RJA, Elammari M, Gray T, Mankovski S (1998) Applying Use Case Maps to multi-agent systems: a feature interaction example. In: HICSS (6), pp 171–179Google Scholar
  20. 20.
    Cerone A, Maggiolio-Schettini A (1999) Time-based expressivity of timed petri nets for system specification. Theor Comput Sci 216(1–2):1–53. doi: 10.1016/S0304-3975(98)00008-5 CrossRefzbMATHGoogle Scholar
  21. 21.
    Chaochen Z, Hoare CAR, Ravn AP (1991) A calculus of durations. Inf Process Lett 40(5):269–276CrossRefzbMATHMathSciNetGoogle Scholar
  22. 22.
    Corradini F (2000) Absolute versus relative time in process algebras. Inf Comput 156(1-2):122–172. doi: 10.1006/inco.1999.2821 CrossRefzbMATHMathSciNetGoogle Scholar
  23. 23.
    Corradini F, Ferrari GL, Pistore M (2001) On the semantics of durational actions. Theor Comput Sci 269(1-2):47–82CrossRefzbMATHMathSciNetGoogle Scholar
  24. 24.
    Dietz C (1996) Graphical formalization of real-time requirements. In: FTRTFT ’96: Proceedings of the 4th International symposium on formal techniques in real-time and fault-tolerant systems. Springer, London, pp 366–384Google Scholar
  25. 25.
    Dwyer MB, Avrunin GS, Corbett JC (1999) Patterns in property specifications for finite-state verification. In: Proceedings of the 21st international conference on Software engineering, ICSE’99. IEEE Comput Soc Press, Los Alamitos, pp 411–420Google Scholar
  26. 26.
    Eshuis H (2002) Semantics and verification of UML activity diagrams for workflow modelling. Ph.D. thesis, University of Twente, Enschede, The NetherlandsGoogle Scholar
  27. 27.
    Eshuis R, Wieringa R (2001) A formal semantics for UML activity diagrams—formalising workflow models. Technical report, University of Twente, Department of Computer Science, University of TwenteGoogle Scholar
  28. 28.
    Farzan A, Madhusudan P (2008) Monitoring atomicity in concurrent programs. In: Proceedings of the 20th international conference on computer aided verification, CAV ’08. Springer, Berlin, pp 52–65 doi: 10.1007/978-3-540-70545-1_8
  29. 29.
    Fenner W (1997) RFC 2236: Internet Group Management Protocol, version 2. URL ftp://ftp.internic.net/rfc/rfc2236.txt
  30. 30.
    Flake S (2003) Temporal OCL extensions for specification of real-time constraints. In: Workshop specification and validation of UML models for Real Time and Embedded Systems (SVERTS’03) at UML’03. San FranciscoGoogle Scholar
  31. 31.
    Flake S, Mueller W (2002) A UML profile for real-time constraints with the OCL. In: UML ’02: Proceedings of the 5th International Conference on the unified modeling language. Springer, London, pp 179–195Google Scholar
  32. 32.
    Folmer E, van Gurp J, Bosch J (2003) Scenario-based assessment of software architecture usability. In: Proceedings of ICSE 2003 workshop on bridging the gaps between software engineering and human-computer interaction, pp 61–68. IFIPGoogle Scholar
  33. 33.
    Gorrieri R, Roccetti M, Stancampiano E (1995) A theory of processes with durational Actions. Theor Comput Sci 140(1):73–94CrossRefzbMATHMathSciNetGoogle Scholar
  34. 34.
    Grabowski V, Dietz C, Olderog ER (1998) Semantics for timed message sequence charts via constraint diagrams. In: Lahav Y, Wolisz A, Fischer J, Holz E (eds.) Proceedings of the 1st Workshop of the SDL Forum Society on SDL and MSC, Informatik-Bericht Nr. 104. Humbold-Universitaet zu Berlin/Germany, pp 251–260 (Juli 1998)Google Scholar
  35. 35.
    Guelfi N, Mammar A (2005) A formal semantics of timed activity diagrams and its promela translation. In: APSEC’05: Proceedings of the 12th Asia-Pacific Software Engineering Conference, pp 283–290. IEEE Comput Soc, Washington. doi: 10.1109/APSEC.2005.7
  36. 36.
    Gurevich Y (1991) Evolving algebras. A tutorial introduction. Bull Eur Assoc Theor Comput Sci 43:264–284zbMATHGoogle Scholar
  37. 37.
    Gurevich Y (1995) Evolving algebras 1993: Lipari guide. Oxford University Press Inc., New York, pp 9–36Google Scholar
  38. 38.
    Gurevich Y (2000) Sequential abstract-state machines capture sequential algorithms. ACM Trans Comput Logic 1(1):77–111. doi: 10.1145/343369.343384 CrossRefMathSciNetGoogle Scholar
  39. 39.
    Harel D, Marelly R (2002) Playing with time: On the specification and execution of time-enriched lscs. In: MASCOTS ’02: Proceedings of the 10th IEEE International Symposium on modeling, analysis, and simulation of computer and telecommunications systems (MASCOTS’02). IEEE Computer Society, Washington, p 193Google Scholar
  40. 40.
    Hassine J (2008) Formal semantics and verification of Use Case Maps. Ph.D. thesis, Concordia University, Montreal, CanadaGoogle Scholar
  41. 41.
    Hassine J (2009) Early Schedulability Analysis with Timed Use Case Maps. In: SDL’09: Proceedings of the 14th international SDL conference on design for motes and mobiles, pp. 98–114Google Scholar
  42. 42.
    Hassine J (2010) AsmL-based concurrency semantic variations for Timed Use Case Maps. In: Frappier M, Glässer U, Khurshid S, Laleau R, Reeves S (eds) ASM, Lecture Notes in Computer Science, vol 5977, Springer, Berlin, pp 34–46Google Scholar
  43. 43.
    Hassine J, Rilling J, Dssouli R (2005) Abstract operational semantics for Use Case Maps. In: Formal techniques for networked and distributed systems—FORTE 2005, 25th IFIP WG 6.1 International Conference, Taipei, Taiwan, Oct 2–5, pp 366–380Google Scholar
  44. 44.
    Hassine J, Rilling J, Dssouli R (2005) An ASM operational semantics for Use Case Maps. In: RE ’05: Proceedings of the 13th IEEE International Conference on requirements engineering (RE’05), Paris. IEEE Comput Soc, pp 467–468Google Scholar
  45. 45.
    Hassine J, Rilling J, Dssouli R (2006) Timed Use Case Maps. In: System analysis and modeling: language profiles, 5th International Workshop, SAM 2006, Kaiserslautern, Germany, May 31–June 2, 2006, revised selected papers, pp 99–114Google Scholar
  46. 46.
    Hassine J, Rilling J, Dssouli R (2007) Formal verification of use case maps with real time extensions. In: SDL 2007: design for dependable systems, 13th International SDL Forum, Paris, France, Sept 18–21, 2007, Proceedings, pp 225–241Google Scholar
  47. 47.
    Hassine J, Rilling J, Dssouli R (2009) Use Case Maps as a property specification language. Softw Syst Model 8(2):205–220. doi: 10.1007/s10270-007-0076-6
  48. 48.
    Hassine J, Rilling J, Dssouli R (2010) An evaluation of timed scenario notations. J Syst Softw 83:326–350. doi: 10.1016/j.jss.2009.09.014 CrossRefGoogle Scholar
  49. 49.
    Hennessy M, Regan T (1995) A process algebra for timed systems. Inf Comput 117(2):221–239. doi: 10.1006/inco.1995.1041 CrossRefzbMATHMathSciNetGoogle Scholar
  50. 50.
    ISO (1989) Information processing systems, osi: Lotos—a formal description technique based on the temporal ordering of observational behaviourGoogle Scholar
  51. 51.
    ITU-T (1996) Recommendation Z.120. Message sequence charts (MSC). Geneva, SwitzerlandGoogle Scholar
  52. 52.
    ITU-T (2010) Recommendation Z.151, User Requirements Notation (URN). URL http://www.itu.int/rec/T-REC-Z.151/en
  53. 53.
    Kim TH, Cha SD (2006) Timed high-level message sequence charts for real-time system design. In: System analysis and modeling: language profiles, 5th International Workshop, SAM 2006, Kaiserslautern, Germany, May 31–June 2, 2006, revised selected papers, pp. 82–98Google Scholar
  54. 54.
    Klose J, Wittke H (2001) An automata based interpretation of live sequence charts. In: TACAS 2001: Proceedings of the 7th International conference on tools and algorithms for the construction and analysis of systems. Springer, London, pp 512–527Google Scholar
  55. 55.
    Konrad S, Cheng BHC (2005) Real-time specification patterns. In: ICSE ’05: Proceedings of the 27th international conference on Software engineering, pp 372–381 doi: 10.1145/1062455.1062526
  56. 56.
    Larsen KG, Pettersson P, Yi W (1997) UPPAAL in a nutshell. Int J Softw Tools Technol Transf 1(1–2):134–152CrossRefzbMATHGoogle Scholar
  57. 57.
    Lavazza L, Morasca S, Morzenti A (2005) A dual language approach to the development of time-critical systems. Electr Notes Theor Comput Sci 116:227–239CrossRefGoogle Scholar
  58. 58.
    Le Maigat P, Hélouët L (2000) A (max,+) approach for time in message sequence charts. In: Boel R, Stremersch G (eds) Proceedings of the 5th workshop on discrete event systems., Kluwer Academic Publishers, Ghent, pp 83–92CrossRefGoogle Scholar
  59. 59.
    Manna Z, Pnueli A (1996) Clocked transition systems. Technical report. Stanford University, StanfordGoogle Scholar
  60. 60.
    Meng-Siew N (1993) Reasoning with timing constraints in message sequence charts. Master’s thesis, University of Stirling, Scotland, U.K. (Aug 1993)Google Scholar
  61. 61.
    Merlin PM (1974) A study of the recoverability of computing systems. Ph.D. thesis, University of California, IrvineGoogle Scholar
  62. 62.
    Mussbacher G, Amyot D (2008) Assessing the applicability of use case maps for business process and workflow description. In: Proceedings of the 2008 International MCETECH Conference on e-Technologies, MCETECH ’08, pp. 219–222. IEEE Computer Society, Washington. doi: 10.1109/MCETECH.2008.18
  63. 63.
    Nagappan M, Wu K, Vouk MA (2009) Efficiently extracting operational profiles from execution logs using suffix arrays. In: Proceedings of the 2009 20th International Symposium on Software Reliability Engineering, ISSRE ’09. IEEE Comput Soc, Washington, pp 41–50 doi: 10.1109/ISSRE.2009.23
  64. 64.
    Nicollin X, Sifakis J (1992) An overview and synthesis on timed process algebras. In: Proceedings of the real-time: theory in practice, REX Workshop. Springer, London, pp 526–548Google Scholar
  65. 65.
    Ober I, Graf S, Ober I (2006) Validating timed UML models by simulation and verification. Int J Softw Tools Technol Transf 8(2):128–145. doi: 10.1007/s10009-005-0205-x CrossRefGoogle Scholar
  66. 66.
    OMEGA (2007) OMEGA consortium. webpage of the omega ist project. http://www-omega.imag.fr/. Last accessed, Dec 2013
  67. 67.
    OMG (2002) Response to the OMG RFP for schedulability, performance and time, v. 2.0. OMG document ad/2002-03-04Google Scholar
  68. 68.
    OMG (2007) MARTE OMG specification. A UML Profile for MARTE. Beta 1. OMG Adopted specification ptc/07-08-04Google Scholar
  69. 69.
    Ouimet M, Lundqvist K (2008) The timed abstract state machine language: abstract state machines for real-time system engineering. J Univ Comput Sci 14(12):2007–2033MathSciNetGoogle Scholar
  70. 70.
    Peiris M, Hill JH (2013) Adapting system execution traces to support analysis of software system performance properties. J Syst Softw 86(11):2849–2862. doi: 10.1016/j.jss.2013.06.060 CrossRefGoogle Scholar
  71. 71.
    Petriu D, Amyot D, Woodside M (2003) Scenario-based performance engineering with ucmnav. In: Proceedings of the 11th international conference on System design, SDL’03. Springer, Berlin, pp 18–35Google Scholar
  72. 72.
    Petriu DC, Woodside CM (2002) Software performance models from system scenarios in Use Case Maps. In: TOOLS ’02: Proceedings of the 12th International Conference on computer performance evaluation, modelling techniques and tools. Springer, London, pp 141–158Google Scholar
  73. 73.
    Ramamritham K, Stankovic J (1994) Scheduling algorithms and operating systems support for real-time systems. Proc IEEE 82(1):55–67. doi: 10.1109/5.259426 CrossRefGoogle Scholar
  74. 74.
    Ramchandani C (1974) Analysis of asynchronous concurrent systems by timed petri nets. Technical reports, Massachusetts Institute of Technology, CambridgeGoogle Scholar
  75. 75.
    Sinnott RO (2004) The formal, tool supported development of real time systems. In: SEFM ’04: Proceedings of the software engineering and formal methods, second international conference on (SEFM’04). IEEE Comput Soc, Washington, pp 388–395 doi: 10.1109/SEFM.2004.43
  76. 76.
  77. 77.
    jUCMNav v5.4.0: jUCMNav Project (tool, documentation, and meta-model). http://jucmnav.softwareengineering.ca/jucmnav (2013), Last accessed, Dec 2013
  78. 78.
    Veanes M (2002) Modeling software: From theory to practice. In: FST TCS ’02: Proceedings of the 22nd Conference Kanpur on foundations of software technology and theoretical computer science. Springer, London, pp 37–46Google Scholar
  79. 79.
    Wilhelm R, Engblom J, Ermedahl A, Holsti N, Thesing S, Whalley D, Bernat G, Ferdinand C, Heckmann R, Mitra T, Mueller F, Puaut I, Puschner P, Staschulat J, Stenström P (2008) The worst-case execution-time problem: overview of methods and survey of tools. ACM Trans Embed Comput Syst 7:36:1–36:53. doi: 10.1145/1347375.1347389 CrossRefGoogle Scholar
  80. 80.
    Wolf F, Mohr B (2003) Automatic performance analysis of hybrid mpi/openmp applications. J Syst Architect 49(10–11):421–439. doi: 10.1016/S1383-7621(03)00102-4 CrossRefGoogle Scholar
  81. 81.
    Xu W, Huang L, Fox A, Patterson D, Jordan M (2008) Mining console logs for large-scale system problem detection. In: 3rd Workshop on tackling system problems with machine learning techniques (SysML08), pp. 1–6Google Scholar
  82. 82.
    Xuandong L, Meng C, Yu P, Jianhua Z, Guoliang Z (2001) Timing analysis of UML activity diagrams. In: UML 2001—The Unified modeling language, modeling languages, concepts, and tools, 4th International Conference, Toronto, Canada, Oct 1–5, 2001, Proceedings. Springer, London, pp. 62–75Google Scholar
  83. 83.
    Yi Z (2000) CNAP specification and validation: A design methodology using lotos and UCM. Master’s thesis, SITE, University of Ottawa, CanadaGoogle Scholar
  84. 84.
    Zheng T, Khendek F (2002) An extension for MSC-2000 and its application. In: Telecommunications and beyond: the broader applicability of SDL and MSC, Third International Workshop, SAM 2002, Aberystwyth, June 24–26. Revised papers, pp. 221–232Google Scholar
  85. 85.
    Zheng T, Khendek F, Hélouët L (2002) A semantics for timed msc. Electr Notes Theor Comput Sci 65(7):85–99Google Scholar

Copyright information

© Springer-Verlag London 2014

Authors and Affiliations

  1. 1.King Fahd University of Petroleum and MineralsDhahranKingdom of Saudi Arabia

Personalised recommendations