Formal requirements modelling with executable use cases and coloured Petri nets

  • Jens B. Jørgensen
  • Simon Tjell
  • João M. Fernandes
Original Paper


This paper presents executable use cases (EUCs), which constitute a model-based approach to requirements engineering. EUCs may be used as a supplement to model-driven development (MDD) and can describe and link user-level requirements and more technical software specifications. In MDD, user-level requirements are not always explicitly described, since usually it is sufficient that one provides a specification, or platform-independent model, of the software that is to be developed. Therefore, a combination of EUCs and MDD may have potential to cover the path from user-level requirements via specifications to implementations of computer-based systems.


Requirements engineering Requirements and specifications Platform-independent models Model-driven development Coloured Petri nets 


  1. 1.
    Barros JP, Jørgensen JB (2005) A case study on coloured petri nets in object-oriented analysis and design. Nord J Comput 12(3): 229–250zbMATHGoogle Scholar
  2. 2.
    Bernardinello L, de Cindio F (1992) A survey of basic net models and modular net classes. In: Advances in Petri Nets 1992, The DEMON project. Springer, Heidelberg, pp 304–351Google Scholar
  3. 3.
    Bossen C, Jørgensen JB (2004) Context-descriptive prototypes and their application to medicine administration. In: 5th Conf. on designing interactive systems (DIS 2004), pp 297–306. doi: 10.1145/1013115.1013157
  4. 4.
    Christensen HB, Bardram JE (2002) Supporting human activities—exploring activity-centered computing. In: 4th Int. Conf. on ubiquitouos computing (UbiComp 2002). LNCS, vol 2498. Springer, Heidelberg, pp 107–116Google Scholar
  5. 5.
    Christensen S, Hansen ND (1993) Coloured petri nets extended with place capacities, test arcs and inhibitor arcs. In: 14th Int. Conf. on application and theory of petri nets (ICATPN 1993). LNCS, vol 691. Springer, Heidelberg, pp 186–205Google Scholar
  6. 6.
    Cockburn A (2000) Writing effective use cases. Addison-Wesley, ReadingGoogle Scholar
  7. 7.
    Fernandes JM, Jørgensen JB, Tjell S (2007) Requirements engineering for reactive systems: coloured petri nets for an elevator controller. In: 14th Asia-Pacific software engineering conf. (APSEC 2007), pp 294–301. doi: 10.1109/APSEC.2007.81
  8. 8.
    Fernandes JM, Tjell S, Jørgensen JB (2007) Requirements engineering for reactive systems with coloured petri nets: the gas pump controller example. In: 8th Workshop and tutorial on practical use of coloured petri nets and the cpn tools (CPN 2007)Google Scholar
  9. 9.
    Fernandes JM, Tjell S, Jørgensen JB, Ribeiro O (2007) Designing tool support for translating use cases and uml 2.0 sequence diagrams into a coloured petri net. In: 6th Int. Workshop on Scenarios and State Machines (SCESM 2007). doi: 10.1109/SCESM.2007.1
  10. 10.
    Gunter CA, Gunter EL, Jackson M, Zave P (2000) A reference model for requirements and specifications. IEEE Softw 17(3): 37–43. doi: 10.1109/52.896248 CrossRefGoogle Scholar
  11. 11.
    Harel D (1987) Statecharts: a visual formalism for complex systems. Sci Comput Program 8(3): 231–274zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Harel D, Marelly R (2003) Specifying and executing behavioural requirements: the play-in/play-out approach. Softw Syst Model 2(2): 82–107CrossRefGoogle Scholar
  13. 13.
    Jackson M (1995) Software requirements and specifications: a lexicon of practice, principles and prejudices. Addison-Wesley, ReadingGoogle Scholar
  14. 14.
    Jackson M (2001) Problem frames—analyzing and structuring software development problems. Addison-Wesley, ReadingGoogle Scholar
  15. 15.
    Jackson M (2002) Some basic tenets of description. Softw Syst Model 1(1): 5–9CrossRefGoogle Scholar
  16. 16.
    Jensen K (1992) Coloured petri nets—basic concepts, analysis methods and practical use. Basic Concepts. Monographs in theoretical computer science, vol. 1. Springer, HeidelbergGoogle Scholar
  17. 17.
    Jensen K, Kristensen LM, Wells L (2007) Coloured petri nets and cpn tools for modelling and validation of concurrent systems. Softw Tools Technol Transfer 9(3–4): 213–254. doi: 10.1007/s10009-007-0038-x CrossRefGoogle Scholar
  18. 18.
    Jørgensen JB (2006) Addressing problem frame concerns via coloured petri nets and graphical animation. In: 2nd Int. Workshop on advances and applications of problem frames (IWAAPF 2006), pp 49–57Google Scholar
  19. 19.
    Jørgensen JB, Bossen C (2003) Requirements engineering for a pervasive health care system. In: Proc. 11th IEEE Int. Conf. on requirements engineering (RE 2003), pp 55–64, Monterey Bay, California. IEEE. doi: 10.1109/ICRE.2003.1232737
  20. 20.
    Jørgensen JB, Bossen C (2004) Executable use cases as links between application domain requirements and machine specifications. In: 3rd Int. Workshop on Scenarios and State Machines (SCESM 2004), pp 8–13Google Scholar
  21. 21.
    Jørgensen JB, Bossen C (2004) Executable use cases: requirements for a pervasive health care system. IEEE Softw 21(2): 34–41. doi: 10.1109/MS.2004.1270759 CrossRefGoogle Scholar
  22. 22.
    Jørgensen JB, Lassen KB, van der Aalst WMP (2007) From task descriptions via colored petri nets towards an implementation of a new electronic patient record workflow system. Softw Tools Technol Transfer 10(1): 15–28. doi: 10.1007/s10009-007-0054-x CrossRefGoogle Scholar
  23. 23.
    Jørgensen JB (2007) Executable use cases: a supplement to model-driven development? In: 4th Int. Workshop on Model-Based Methodologies for Pervasive and Embedded Software (MOMPES 2007), pp 8–15Google Scholar
  24. 24.
    Jørgensen JB (2008) Coloured petri nets and graphical animation: a proposal for a means to address problem frame concerns. Expert Syst 25(1): 54–73. doi: 10.1111/j.1468-0394.2008.00454.x CrossRefGoogle Scholar
  25. 25.
    Kristensen LM, Christensen S, Jensen K (1998) The practitioner’s guide to coloured petri nets. Softw Tools Technol Transfer 2(2): 98–132zbMATHCrossRefGoogle Scholar
  26. 26.
    Larman C (2005) Applying UML and patterns—an intro to object-oriented analysis and design and iterative development. Prentice-Hall, Englewood CliffsGoogle Scholar
  27. 27.
    Lauesen S (2003) Task descriptions as functional requirements. IEEE Softw 20(2): 58–65CrossRefGoogle Scholar
  28. 28.
    Magee J, Pryce N, Giannakopoulou D, Kramer J (2000) Graphical animation of behaviour models. In: 22nd Int. Conf. on Software Engineering (ICSE 2000), pp 499–508. doi: 10.1109/ICSE.2000.870440
  29. 29.
    Milner R, Tofte M, Harper R, Macqueen D (1997) The definition of standard ML—Revised. MIT Press, CambridgeGoogle Scholar
  30. 30.
    Murata T (1989) Petri nets: properties, analysis and applications. Procee IEEE 77(4): 541–580CrossRefGoogle Scholar
  31. 31.
    Petri CA (1962) Kommunikation mit automaten. Ph.D. thesis, Institut für instrumentelle Mathematik, BonnGoogle Scholar
  32. 32.
    Reisig W (1987) Place/transition systems. In: Advanced course on petri nets: central models and their properties, advances in petri nets 1986, Part I. Springer, Heidelberg, pp 117–141Google Scholar
  33. 33.
    Selic B (2003) The pragmatics of model-driven development. IEEE Softw 20(5): 19–25. doi: 10.1109/MS.2003.1231146 CrossRefGoogle Scholar
  34. 34.
    Silva JR, Santos EA (2003) Applying petri nets to requirements validation. In: 17th Int. Congress of Mechanical Engineering (COBEM 2003) ABCM Symposium Series in Mechatronics, vol 1Google Scholar
  35. 35.
    Sommerville I (2007) Software engineering. Addison-Wesley, ReadingzbMATHGoogle Scholar
  36. 36.
    Strunk EA, Furia CA, Rossi M, Knight JC, Mandrioli D (2006) The engineering roles of requirements and specification. Technical report, CS-2006-21, Dept. Computer Science, University of Virginia. Also: Technical Report 2006.61, Dipartimento di Elettronica e Informazione, Politecnico di MilanoGoogle Scholar
  37. 37.
    Thiagarajan PS (1987) Elementary net systems. In: Advanced course on petri nets: central models and their properties, advances in petri nets 1986, Part I. Springer, Heidelberg, pp 26–59Google Scholar
  38. 38.
    Tjell S (2007) distinguishing environment and system in coloured petri net models of reactive systems. In: 2nd IEEE Int. Symposium on Industrial Embedded Systems (SIES 2007), pp 242–249. doi: 10.1109/SIES.2007.4297341
  39. 39.
    Wieringa RJ (1996) Requirements engineering: frameworks for understanding. Wiley, LondonGoogle Scholar
  40. 40.
    Wieringa RJ (2003) Design methods for reactive systems: yourdon, statemate, and the UML. Morgan KaufmannGoogle Scholar
  41. 41.
    Zave P, Jackson M (1997) Four dark corners of requirements engineering. ACM Trans Softw Eng Methodol 6(1): 1–30. doi: 10.1145/237432.237434 CrossRefGoogle Scholar
  42. 42.
  43. 43.
    MDA Resource Page.
  44. 44.
    UML Resource Page.

Copyright information

© Springer-Verlag London Limited 2009

Authors and Affiliations

  • Jens B. Jørgensen
    • 1
  • Simon Tjell
    • 2
  • João M. Fernandes
    • 3
  1. 1.Mjølner InformaticsAarhus NDenmark
  2. 2.Department of Computer ScienceUniversity of AarhusAarhus NDenmark
  3. 3.Department of Informática & CCTCUniversidade do Minho, Campus de GualtarBragaPortugal

Personalised recommendations