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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
In Milner’s terminology, our events would be called actions, and in Hoare’s terminology events would be channels or channel names.
- 2.
Actually, it is an Ecore model, which is a kind of lightweight version of UML class diagrams supported by EMF [8].
- 3.
Note that these Petri nets are used on the modelling level now.
- 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.
The methodology part of this technique is yet to be worked out in detail.
- 6.
References
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)
OMG: MDA guide v1.0.1. (2003). http://www.omg.org/cgi-bin/doc?omg/03-06-01
Petri, C.A.: Kommunikation mit Automaten. Technical report Schriften des IIM, Nr. 2, Institut für instrumentelle Mathematik, Bonn (1962)
Hoare, C.: Communicating sequential processes. Comm. ACM 21(8), 666–677 (1978)
Hoare, C.: Communicating Sequential Processes. Prentice-Hall, Upper Saddle River (1985)
Harel, D.: Statecharts: a visual formalism for computer systems. Sci. Comput. Program. 8(3), 231–274 (1987)
Milner, R.: Communication and Concurrency. International Series in Computer Science. Prentice Hall, Upper Saddle River (1989)
Budinsky, F., Steinberg, D., Merks, E., Ellersick, R., Grose, T.J.: Eclipse Modeling Framework. The Eclipse Series, 2nd edn. Addison-Wesley, Reading (2006)
Kindler, E.: Coordinating interactions: The Event Coordination Notation. Technical report DTU Compute Technical report 2014–05, DTU Compute, Kgs. Lyngby, Denmark (2014)
Harel, D., Marelly, R.: Come Let’s Play: Scenario-based Programming Using LSCs and the Play-engine. Springer, Heidelberg (2003)
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
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)
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)
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)
Kindler, E.: Modelling local and global behaviour: Petri nets and event coordination. Trans. Petri Nets Other Models Concur. 6, 71–93 (2012)
Kindler, E.: An ECNO semantics for Petri nets. Petri Net Newslett. 81, 3–16 (2012). Cover Picture Story
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)
van der Aalst, W.: Exploring the process dimension of workflow management. Computing Science Reports 97/13, Eindhoven University of Technology (1997)
van der Aalst, W., van Hee, K.: Workflow Management: Models, Methods, and Systems. Cooperative Information Systems. The MIT Press, Cambridge (2002)
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
Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann, San Mateo (1993)
Nielsen, H.E.: A database integration for the Event Coordination Notation. Master’s thesis, Technical University of Denmark, DTU Compute (2014)
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)
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)
Kindler, E., Schmelter, D.: Aspect-oriented modelling from a different angle: modelling domains with aspects. In: 12th International Workshop on Aspect-Oriented Modeling (2008)
Bergstra, J.A., Klop, J.W.: Process algebra for synchronous communication. Inf. Control 60(1–3), 109–137 (1984)
Berry, G., Boudol, G.: The chemical abstract machine. In: POPL, pp. 81–94 (1990)
Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes (Parts I & II). Inf. Comput. 100(1), 1–40 & 41–77 (1992)
Harel, D., Marron, A., Weiss, G.: Behavioral programming. Commun. ACM 55(7), 90–100 (2012)
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)
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)
ITU-T Recommendation Z.120: Message sequence charts (MSC). ITU (1996)
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)
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)
Brichau, J., Haupt, M.: Survey of aspect-oriented languages and execution models. Technical report AOSD-Europe-VUB-01, AOSD-Europe (2005)
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)
Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design: The Theme Approach. Addison-Wesley, Reading (2005)
Harrison, W., Ossher, H.: Subject-oriented programming (a critique of pure objects). In: OOPSLA, pp. 411–428. ACM (1993)
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)
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)
Reisig, W.: Petri Nets. EATCS Monographs on Theoretical Computer Science, vol. 4. Springer, Berlin (1985)
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)
Wooldridge, M.: Agent-based software engineering. IEE Proc. Softw. Eng. 144(1), 26–37 (1997)
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)
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)
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)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)