Skip to main content

Modelling Local and Global Behaviour: Petri Nets and Event Coordination

  • Chapter

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

Abstract

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.

Keywords

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

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-642-35179-2_4
  • Chapter length: 23 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   69.99
Price excludes VAT (USA)
  • ISBN: 978-3-642-35179-2
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   89.99
Price excludes VAT (USA)

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. OMG: MDA guide (2003), http://www.omg.org/cgi-bin/doc?omg/03-06-01

  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. 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)

    CrossRef  Google Scholar 

  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. 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. Reisig, W.: Petri Nets. EATCS Monographs on Theoretical Computer Science, vol. 4. Springer (1985)

    Google Scholar 

  7. Murata, T.: Petri nets: Properties, analysis and applications. Proceedings of the IEEE 77, 541–580 (1989)

    CrossRef  Google Scholar 

  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)

    CrossRef  Google Scholar 

  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. Harel, D., Marelly, R.: Come let’s play: Scenario-based programming using LSCs and the Play-engine. Springer (2003)

    Google Scholar 

  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. 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. 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)

    CrossRef  Google Scholar 

  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)

    MathSciNet  MATH  CrossRef  Google Scholar 

  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)

    CrossRef  Google Scholar 

  16. Kummer, O.: A Petri net view on synchronous channels. Petri Net Newsletter 56, 7–11 (1999)

    Google Scholar 

  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)

    CrossRef  Google Scholar 

  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)

    CrossRef  Google Scholar 

  19. Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall (1985)

    Google Scholar 

  20. Milner, R.: Communication and Concurrency. International Series in Computer Science. Prentice Hall (1989)

    Google Scholar 

  21. Berry, G., Boudol, G.: The chemical abstract machine. In: POPL 1990, pp. 81–94 (1990)

    Google Scholar 

  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. 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. Clarke, S., Baniassad, E.: Aspect-oriented analysis and design: The Theme approach. Addison-Wesley (2005)

    Google Scholar 

  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. Brichau, J., Haupt, M.: Survey of aspect-oriented languages and execution models. Technical Report AOSD-Europe-VUB-01, AOSD-Europe (2005)

    Google Scholar 

  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. Harrison, W., Ossher, H.: Subject-oriented programming (a critique of pure objects). In: OOPSLA 1993, pp. 411–428. ACM (1993)

    Google Scholar 

  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)

    CrossRef  Google Scholar 

  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)

    CrossRef  Google Scholar 

  31. Mellor, S.J., Balcer, M.J.: Executable UML: A Foundation for Model-driven Architecture. Addison-Wesley (2002)

    Google Scholar 

  32. Lee, E.A.: The problem with threads. IEEE Computer 39(5), 33–42 (2006)

    CrossRef  Google Scholar 

  33. McNeile, A.T., Simons, N.: State machines as mixins. Journal of Object Technology 2(6), 85–101 (2003)

    CrossRef  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Kindler, E. (2012). Modelling Local and Global Behaviour: Petri Nets and Event Coordination. In: Jensen, K., van der Aalst, W.M., Ajmone Marsan, M., Franceschinis, G., Kleijn, J., Kristensen, L.M. (eds) Transactions on Petri Nets and Other Models of Concurrency VI. Lecture Notes in Computer Science, vol 7400. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-35179-2_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-35179-2_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-35178-5

  • Online ISBN: 978-3-642-35179-2

  • eBook Packages: Computer ScienceComputer Science (R0)