Skip to main content

The Event Coordination Notation: Behaviour Modelling Beyond Mickey Mouse

  • Conference paper
  • First Online:
Behavior Modeling -- Foundations and Applications

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 6368))

Abstract

The Event Coordination Notation (ECNO) allows modelling the desired behaviour of a software system on top of any object-oriented software. Together with existing technologies from Model-based Software Engineering (MBSE) for automatically generating the software for the structural parts, ECNO allows generating fully functional software from a combination of class diagrams and ECNO models. What is more, software generated from ECNO models, integrates with existing software and software generated by other technologies.

ECNO started out from some challenges in behaviour modelling and some requirements on behaviour modelling approaches, which we pointed out in a paper presented at the second BMFA workshop [1]; the integration with pre-existing software was but one of these requirements.

Different ideas and concepts of ECNO have been presented before – mostly with neat and small examples, which exhibit one special aspect of ECNO or another; and it would be fair to call them “Mickey Mouse examples”.

In this paper, we give a concise overview of the motivation, ideas, and concepts of ECNO. More importantly, we discuss a larger system, which was completely generated from the underlying models: a workflow management system. This way, we demonstrate that ECNO can be used for modelling software beyond the typical Mickey Mouse examples. This example demonstrates that the essence of workflow management – including its behaviour – can be captured in ECNO: in a sense, it is a domain model of workflow management, from which a fully functioning workflow engine can be generated.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    In Milner’s terminology, our events would be called actions, and in Hoare’s terminology events would be channels or channel names.

  2. 2.

    Actually, it is an Ecore model, which is a kind of lightweight version of UML class diagrams supported by EMF [8].

  3. 3.

    Note that these Petri nets are used on the modelling level now.

  4. 4.

    In practise, executing an interaction takes time. We will see later that the instantaneous execution of interactions is mimicked by executing them transactionally in the sense of the ACID principle [21]; in particular, interactions are executed “atomically” and “in isolation”.

  5. 5.

    The methodology part of this technique is yet to be worked out in detail.

  6. 6.

    see http://www2.compute.dtu.dk/~ekki/projects/ECNO/index.shtml.

References

  1. 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) (Also published in the ACM electronic libraries)

    Google Scholar 

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

  3. Petri, C.A.: Kommunikation mit Automaten. Technical report Schriften des IIM, Nr. 2, Institut für instrumentelle Mathematik, Bonn (1962)

    Google Scholar 

  4. Hoare, C.: Communicating sequential processes. Comm. ACM 21(8), 666–677 (1978)

    Article  MathSciNet  MATH  Google Scholar 

  5. Hoare, C.: Communicating Sequential Processes. Prentice-Hall, Upper Saddle River (1985)

    Google Scholar 

  6. Harel, D.: Statecharts: a visual formalism for computer systems. Sci. Comput. Program. 8(3), 231–274 (1987)

    Article  MathSciNet  MATH  Google Scholar 

  7. Milner, R.: Communication and Concurrency. International Series in Computer Science. Prentice Hall, Upper Saddle River (1989)

    Google Scholar 

  8. Budinsky, F., Steinberg, D., Merks, E., Ellersick, R., Grose, T.J.: Eclipse Modeling Framework. The Eclipse Series, 2nd edn. Addison-Wesley, Reading (2006)

    Google Scholar 

  9. Kindler, E.: Coordinating interactions: The Event Coordination Notation. Technical report DTU Compute Technical report 2014–05, DTU Compute, Kgs. Lyngby, Denmark (2014)

    Google Scholar 

  10. Harel, D., Marelly, R.: Come Let’s Play: Scenario-based Programming Using LSCs and the Play-engine. Springer, Heidelberg (2003)

    Book  Google Scholar 

  11. Jepsen, J.: Realizing a workflow engine with the Event Coordination Notation. Master’s thesis, Technical University of Denmark, DTU Compute (2013) IMM-M.Sc.-2013-101

    Google Scholar 

  12. Axenath, B., Kindler, E., Rubin, V.: AMFIBIA: a meta-model for the integration of business process modelling aspects. Int. J. Bus. Process Integr. Manag. 2(2), 120–131 (2007)

    Article  Google Scholar 

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

  14. Kindler, E.: The Event Coordination Notation: execution engine and programming framework. In: Störrle, H., Botterweck, G., Bourdellès, M., Kolovos, D., Paige, R., Roubtsova, E., Rubin, J., Tolvanen, J.P. (eds.) Fourth Workshop on Behavioural Modelling - Foundations and Application (BM-FA 2012), Joint proceedings of co-located events at ECMFA 2012, pp. 143–157 (2012)

    Google Scholar 

  15. Kindler, E.: Modelling local and global behaviour: Petri nets and event coordination. Trans. Petri Nets Other Models Concur. 6, 71–93 (2012)

    Article  Google Scholar 

  16. Kindler, E.: An ECNO semantics for Petri nets. Petri Net Newslett. 81, 3–16 (2012). Cover Picture Story

    Google Scholar 

  17. Reisig, W.: Place/Transition systems. In: Brauer, W., Reisig, W., Rozenberg, G. (eds.) Petri Nets: Central Models and Their Properties. LNCS, vol. 254, pp. 117–141. Springer, Heidelberg (1987)

    Chapter  Google Scholar 

  18. van der Aalst, W.: Exploring the process dimension of workflow management. Computing Science Reports 97/13, Eindhoven University of Technology (1997)

    Google Scholar 

  19. van der Aalst, W., van Hee, K.: Workflow Management: Models, Methods, and Systems. Cooperative Information Systems. The MIT Press, Cambridge (2002)

    Google Scholar 

  20. OMG: OMG Unified Modeling Language (OMG UML), Superstructure, V2.1.2. Object Management Group, 140 Kendrick Street, Needham, MA 02494, USA (2007) OMG Document number: formal/2007-11-02

    Google Scholar 

  21. Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann, San Mateo (1993)

    MATH  Google Scholar 

  22. Nielsen, H.E.: A database integration for the Event Coordination Notation. Master’s thesis, Technical University of Denmark, DTU Compute (2014)

    Google Scholar 

  23. van der Aalst, W.: Verification of workflow nets. In: Azéma, P., Balbo, G. (eds.) ICATPN 1997. LNCS, vol. 1248, pp. 407–426. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  24. Schmelter, D.: Eine Technik zur Entwicklung und Ausführung aspektorientierter Modelle. Master’s thesis, Department of Computer Science, Software Engineering Group, University of Paderborn, Paderborn, Germany (2007)

    Google Scholar 

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

  26. Bergstra, J.A., Klop, J.W.: Process algebra for synchronous communication. Inf. Control 60(1–3), 109–137 (1984)

    Article  MathSciNet  Google Scholar 

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

    Google Scholar 

  28. Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes (Parts I & II). Inf. Comput. 100(1), 1–40 & 41–77 (1992)

    Google Scholar 

  29. Harel, D., Marron, A., Weiss, G.: Behavioral programming. Commun. ACM 55(7), 90–100 (2012)

    Article  Google Scholar 

  30. Harel, D., Pnueli, A.: On the development of reactive systems. In: Apt, K. (ed.) Logics and Models of Concurrent Systems. Series F: Computer and System Science, vol. 13, pp. 477–498. Springer, Heidelberg (1985)

    Chapter  Google Scholar 

  31. Damm, W., Harel, D.: LSC’s: Breathing life into message sequence charts. In: Ciancarini, P., Fantechi, A., Gorrieri, R. (eds.) FMOODS 1999. IFIP, vol. 10, pp. 293–311. Springer, Boston (1999)

    Chapter  Google Scholar 

  32. ITU-T Recommendation Z.120: Message sequence charts (MSC). ITU (1996)

    Google Scholar 

  33. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.M., Irwin, J.: Aspect-oriented programming. In: Moreira, A. (ed.) ECOOP 1997. LNCS, vol. 1743, pp. 220–242. Springer, Heidelberg (1997)

    Google Scholar 

  34. Mens, K., Lopes, C., Tekinerdogan, B., Kiczales, G.: Aspect-oriented programming workshop report. In: Bosch, J., Mitchell, S. (eds.) ECOOP 1997. LNCS, vol. 1357, pp. 483–496. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  35. Brichau, J., Haupt, M.: Survey of aspect-oriented languages and execution models. Technical report AOSD-Europe-VUB-01, AOSD-Europe (2005)

    Google Scholar 

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

  37. Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design: The Theme Approach. Addison-Wesley, Reading (2005)

    Google Scholar 

  38. Harrison, W., Ossher, H.: Subject-oriented programming (a critique of pure objects). In: OOPSLA, pp. 411–428. ACM (1993)

    Google Scholar 

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

    Chapter  Google Scholar 

  40. Douence, R., Noyé, J.: Towards a concurrent model of event-based aspect-oriented programming. In: European Interactive Workshop on Aspects in Software (EIWAS 2005) (2005)

    Google Scholar 

  41. Reisig, W.: Petri Nets. EATCS Monographs on Theoretical Computer Science, vol. 4. Springer, Berlin (1985)

    Book  MATH  Google Scholar 

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

    Chapter  Google Scholar 

  43. Wooldridge, M.: Agent-based software engineering. IEE Proc. Softw. Eng. 144(1), 26–37 (1997)

    Article  Google Scholar 

  44. Jennings, N.R., Sycara, K.P., Wooldridge, M.: A roadmap of agent research and development. Auton. Agent. Multi-Agent Syst. 1(1), 7–38 (1998)

    Article  Google Scholar 

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

    Chapter  Google Scholar 

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

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ekkart Kindler .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Jepsen, J., Kindler, E. (2015). The Event Coordination Notation: Behaviour Modelling Beyond Mickey Mouse. In: Roubtsova, E., McNeile, A., Kindler, E., Gerth, C. (eds) Behavior Modeling -- Foundations and Applications. Lecture Notes in Computer Science(), vol 6368. Springer, Cham. https://doi.org/10.1007/978-3-319-21912-7_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-21912-7_6

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-21911-0

  • Online ISBN: 978-3-319-21912-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics