Modelling Local and Global Behaviour: Petri Nets and Event Coordination

Part of the Lecture Notes in Computer Science book series (LNCS, volume 7400)


Today, it is possible to generate major parts of a software system from models. Most of the generated code, however, concerns the structural parts of the software; the code that concerns the actual functionality or behaviour of the software system is often still programmed manually. In order to address this problem, we developed the notation of coordination diagrams, which allows us to define the global behaviour of a software system on top of existing class diagrams. One of the major objectives of coordination diagrams was to make it easy to integrate them and the code generated from them with existing structural models, with existing code, and with other behavioural models. Basically, coordination diagrams define how the local behaviour of the individual parts of the software is coordinated with each other. The main concepts of coordination diagrams and their semantics are stabilising now: We call it the Event Coordination Notation (ECNO).

ECNO’s coordination diagrams define the global behaviour of a system only: they define how the local behaviour is coordinated and jointly executed in so-called interactions. In principle, ECNO is independent from a specific notation for modelling the local behaviour. For our experiments with ECNO, however, we implemented a simple modelling notation for the local behaviour, which is based on Petri nets: ECNO nets. Together, ECNO coordination diagrams and ECNO nets allow us to completely model a software system, and generate executable code for it.

In this paper, we discuss the general idea of ECNO and of ECNO nets. ECNO nets are implemented as a Petri net type for the ePNK tool, together with a code generator that produces code that can be executed by the ECNO execution engine.


Model-based Software Engineering Local and global behaviour modelling Event coordination Petri nets Code generation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
  2. 2.
    Kindler, E.: Model-based software engineering: The challenges of modelling behaviour. In: Aksit, M., Kindler, E., Roubtsova, E., McNeile, A. (eds.) Proceedings of the Second Workshop on Behavioural Modelling - Foundations and Application, BM-FA 2010, pp. 51–66 (2010)Google Scholar
  3. 3.
    Axenath, B., Kindler, E., Rubin, V.: AMFIBIA: A meta-model for the integration of business process modelling aspects. International Journal on Business Process Integration and Management 2(2), 120–131 (2007)CrossRefGoogle Scholar
  4. 4.
    Kindler, E., Schmelter, D.: Aspect-oriented modelling from a different angle: Modelling domains with aspects. In: 12th International Workshop on Aspect-Oriented Modeling (2008)Google Scholar
  5. 5.
    Kindler, E.: Integrating behaviour in software models: An event coordination notation – concepts and prototype. In: Proceedings of the Third Workshop on Behavioural Modelling - Foundations and Application, BM 2011 (2011)Google Scholar
  6. 6.
    Reisig, W.: Petri Nets. EATCS Monographs on Theoretical Computer Science, vol. 4. Springer (1985)Google Scholar
  7. 7.
    Murata, T.: Petri nets: Properties, analysis and applications. Proceedings of the IEEE 77, 541–580 (1989)CrossRefGoogle Scholar
  8. 8.
    Kindler, E.: The ePNK: An Extensible Petri Net Tool for PNML. In: Kristensen, L.M., Petrucci, L. (eds.) PETRI NETS 2011. LNCS, vol. 6709, pp. 318–327. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  9. 9.
    Budinsky, F., Steinberg, D., Merks, E., Ellersick, R., Grose, T.J.: Eclipse Modeling Framework, 2nd edn. The Eclipse Series. Addison-Wesley (2006)Google Scholar
  10. 10.
    Harel, D., Marelly, R.: Come let’s play: Scenario-based programming using LSCs and the Play-engine. Springer (2003)Google Scholar
  11. 11.
    Kindler, E.: The Event Coordination Notation: Execution engine and programming framework. In: Fourth Workshop on Behavioural Modelling – Foundations and Application, BM-FA 2012, ECMFA 2012 Joint Proceedings of Co-located Events, pp. 143–157 (2012)Google Scholar
  12. 12.
    Axenath, B., Kindler, E., Rubin, V.: An open and formalism independent meta-model for business processes. In: Kindler, E., Nüttgens, M. (eds.) Workshop on Business Process Reference Models 2005, BPRM 2005, Satellite Event of the Third International Conference on Business Process Management, pp. 45–59 (2005)Google Scholar
  13. 13.
    Best, E., Devillers, R., Hall, F.: The Box Calculus: A New Causal Algebra with Multi-Label Communication. In: Rozenberg, G. (ed.) APN 1992. LNCS, vol. 609, pp. 21–69. Springer, Heidelberg (1992)CrossRefGoogle Scholar
  14. 14.
    Best, E., Fraczak, W., Hopkins, R.P., Klaudel, H., Pelz, E.: M-nets: An algebra of high-level Petri nets, with an application to the semantics of concurrent programming languages. Acta Inf. 35(10), 813–857 (1998)MathSciNetzbMATHCrossRefGoogle Scholar
  15. 15.
    Christensen, S., Hansen, N.D.: Coloured Petri Nets Extended with Channels for Synchronous Communication. In: Valette, R. (ed.) ICATPN 1994. LNCS, vol. 815, pp. 159–178. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  16. 16.
    Kummer, O.: A Petri net view on synchronous channels. Petri Net Newsletter 56, 7–11 (1999)Google Scholar
  17. 17.
    Kummer, O., Wienberg, F., Duvigneau, M., Schumacher, J., Köhler, M., Moldt, D., Rölke, H., Valk, R.: An Extensible Editor and Simulation Engine for Petri Nets: Renew. In: Cortadella, J., Reisig, W. (eds.) ICATPN 2004. LNCS, vol. 3099, pp. 484–493. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  18. 18.
    Valk, R.: Petri Nets as Token Objects: An Introduction to Elementary Object Nets. In: Desel, J., Silva, M. (eds.) ICATPN 1998. LNCS, vol. 1420, pp. 1–25. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  19. 19.
    Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall (1985)Google Scholar
  20. 20.
    Milner, R.: Communication and Concurrency. International Series in Computer Science. Prentice Hall (1989)Google Scholar
  21. 21.
    Berry, G., Boudol, G.: The chemical abstract machine. In: POPL 1990, pp. 81–94 (1990)Google Scholar
  22. 22.
    Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes (Parts I & II). Information and Computation 100(1), 1–40, 41–77 (1992)Google Scholar
  23. 23.
    Basu, A., Bozga, M., Sifakis, J.: Modeling heterogeneous real-time components in BIP. In: Fourth IEEE International Conference on Software Enigneering and Formal Methods, pp. 3–12. IEEE Computer Society (2006)Google Scholar
  24. 24.
    Clarke, S., Baniassad, E.: Aspect-oriented analysis and design: The Theme approach. Addison-Wesley (2005)Google Scholar
  25. 25.
    Nowak, L.: Aspect-oriented modelling of behaviour – imlementation of an execution engine based on MoDowA. Master’s thesis, DTU Informatics (2009)Google Scholar
  26. 26.
    Brichau, J., Haupt, M.: Survey of aspect-oriented languages and execution models. Technical Report AOSD-Europe-VUB-01, AOSD-Europe (2005)Google Scholar
  27. 27.
    Chitchyan, R., Rashid, A., Sawyer, P., Garcia, A., Alarcon, M.P., Bakker, J., Tekinerdogan, B., Clarke, S., Jackson, A.: Survey of aspect-oriented analysis and design approaches. Technical Report AOSD-Europe-ULANC-9, AOSD-Europe (2005)Google Scholar
  28. 28.
    Harrison, W., Ossher, H.: Subject-oriented programming (a critique of pure objects). In: OOPSLA 1993, pp. 411–428. ACM (1993)Google Scholar
  29. 29.
    Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An Overview of AspectJ. In: Lindskov Knudsen, J. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  30. 30.
    Eker, J., Janneck, J.W., Lee, E.A., Liu, J., Liu, X., Ludvig, J., Neuendorffer, S., Sachs, S., Xiong, Y.: Taming heterogeneity - the Ptolemy approach. Proceedings of the IEEE 91(1), 127–144 (2003)CrossRefGoogle Scholar
  31. 31.
    Mellor, S.J., Balcer, M.J.: Executable UML: A Foundation for Model-driven Architecture. Addison-Wesley (2002)Google Scholar
  32. 32.
    Lee, E.A.: The problem with threads. IEEE Computer 39(5), 33–42 (2006)CrossRefGoogle Scholar
  33. 33.
    McNeile, A.T., Simons, N.: State machines as mixins. Journal of Object Technology 2(6), 85–101 (2003)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  1. 1.Informatics and Mathematical Modelling TechnicalUniversity of DenmarkDenmark

Personalised recommendations