Integrating Protocol Contracts with Program Code – A Leightweight Approach for Applied Behaviour Models that Respect Their Execution Context

  • Marco KonersmannEmail author
  • Michael Goedicke
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6368)


In the domain of information systems, behaviour is typically described without a formal foundation. These systems could benefit from the use of formal behaviour modeling. However, the perceived costs for integrating a formal behaviour modeling approach seems to be higher than the expected benefits. A framework for formal behaviour modeling and execution could help bringing the benefits of formal modeling to this domain when it imposes a low barrier for integrating the approach. To achieve this, we present our approach for designing and executing behaviour models which are encoded with well-defined source code structures. In our approach the model is statically represented in the program code. Therefore the model does not exist as a first class citizen, but is extracted from the code at design time and run time. These models can be integrated within a context of arbitrary other program code, that does not follow the semantics of the model type. They therefore impose only a small barrier for their use.


Source Code Event Type Meta Model Trace Link Communicate Sequential Process 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.



Parts of the meta model presented in this paper are based on the work of Noyan Kurt from the institute paluno at the University of Duisburg-Essen. The work presented in this paper is partially funded by the DFG (German Research Foundation) under the grant number GO 774/7-1 within the Priority Programme SPP1593: Design For Future Managed Software Evolution.


  1. 1.
    Balz, M.: Embedding Model Specifications in Object-Oriented Program Code: A Bottom-up Approach for Model-based Software Development. Ph.D. thesis, Universitt Duisburg-Essen, Mai (2011)Google Scholar
  2. 2.
    Blair, G., Bencomo, N., France, R.: Models@ run.time. Computer 42(10), 22–27 (2009)CrossRefGoogle Scholar
  3. 3.
    Brown, A., Conallen, J., Tropeano, D.: Introduction: models, modeling, and model-driven architecture (mda) model-driven software development. In: Beydeda, S., Book, M., Gruhn, V. (eds.) Model-Driven Software Development, ch. 1, pp. 1–16. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  4. 4.
    Hoare, C.A.R.: Communicating sequential processes, vol. 178. Prentice-hall, Englewood Cliffs (1985). Google Scholar
  5. 5.
    Konersmann, M., Goedicke, M.: A conceptual framework and experimental workbench for architectures. In: Heisel, M. (ed.) Software Service and Application Engineering. LNCS, vol. 7365, pp. 36–52. Springer, Heidelberg (2012) CrossRefGoogle Scholar
  6. 6.
    McNeile, A.T., Roubtsova, E.E.: Programming in protocols - a paradigm of behavioral programming. In: Gonzalez-Perez, C., Jablonski, S. (eds.) ENASE, pp. 23–30. INSTICC Press, Portugal (2008)Google Scholar
  7. 7.
    McNeile, A.T., Simons, N.: Protocol modelling: a modelling approach that supports reusable behavioural abstractions. Softw. Syst. Model. 5(1), 91–107 (2006)CrossRefGoogle Scholar
  8. 8.
    Nickel, U.A., Niere, J., Wadsack, J.P., Zündorf, A.: Roundtrip engineering with FUJABA. In: Proceedings of 2nd Workshop on Software-Reengineering (WSR), Bad Honnef, Germany (2000)Google Scholar
  9. 9.
    OMG. OMG Unified Modeling Language (OMG UML), Superstructure, Version 2.4.1, August 2011Google Scholar
  10. 10.
    Stahl, T., Voelter, M., Czarnecki, K.: Model-Driven Software Development: Technology, Engineering, Management. Wiley, New York (2006)Google Scholar
  11. 11.
    Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework 2.0, 2nd edn. Addison-Wesley Professional, Singapore (2009)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.paluno - The Ruhr Institute for Software TechnologyUniversity of Duisburg-EssenEssenGermany

Personalised recommendations