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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
OMG: MDA guide (2003), http://www.omg.org/cgi-bin/doc?omg/03-06-01
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)
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)
Kindler, E., Schmelter, D.: Aspect-oriented modelling from a different angle: Modelling domains with aspects. In: 12th International Workshop on Aspect-Oriented Modeling (2008)
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)
Reisig, W.: Petri Nets. EATCS Monographs on Theoretical Computer Science, vol. 4. Springer (1985)
Murata, T.: Petri nets: Properties, analysis and applications. Proceedings of the IEEE 77, 541–580 (1989)
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)
Budinsky, F., Steinberg, D., Merks, E., Ellersick, R., Grose, T.J.: Eclipse Modeling Framework, 2nd edn. The Eclipse Series. Addison-Wesley (2006)
Harel, D., Marelly, R.: Come let’s play: Scenario-based programming using LSCs and the Play-engine. Springer (2003)
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)
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)
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)
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)
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)
Kummer, O.: A Petri net view on synchronous channels. Petri Net Newsletter 56, 7–11 (1999)
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)
Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall (1985)
Milner, R.: Communication and Concurrency. International Series in Computer Science. Prentice Hall (1989)
Berry, G., Boudol, G.: The chemical abstract machine. In: POPL 1990, pp. 81–94 (1990)
Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes (Parts I & II). Information and Computation 100(1), 1–40, 41–77 (1992)
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)
Clarke, S., Baniassad, E.: Aspect-oriented analysis and design: The Theme approach. Addison-Wesley (2005)
Nowak, L.: Aspect-oriented modelling of behaviour – imlementation of an execution engine based on MoDowA. Master’s thesis, DTU Informatics (2009)
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)
Harrison, W., Ossher, H.: Subject-oriented programming (a critique of pure objects). In: OOPSLA 1993, 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)
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)
Mellor, S.J., Balcer, M.J.: Executable UML: A Foundation for Model-driven Architecture. Addison-Wesley (2002)
Lee, E.A.: The problem with threads. IEEE Computer 39(5), 33–42 (2006)
McNeile, A.T., Simons, N.: State machines as mixins. Journal of Object Technology 2(6), 85–101 (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)