High Level Model Checker Based Testing of Electronic Contracts

  • Ellis SolaimanEmail author
  • Ioannis Sfyrakis
  • Carlos Molina-Jimenez
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 581)


Within cloud and Internet-based collaborative settings, a business contract (service agreement) is a specification that describes permissible interactions between partners. Specifically, a business contract stipulates what operations the business partners have the rights, obligations or prohibitions to execute; it also specifies when the operations are to be executed and in which order. The main purpose of an electronic contract is to regulate (monitor and/or enforce) electronic service exchanges between the contracted parties, making sure that participants adhere to the service agreement in place. Because of the dynamic nature of Internet and cloud-based relationships, the rapidity at which electronic contracts are constructed, verified for correctness, tested, and deployed is an extremely important factor. This paper describes a model checker based framework for supporting automated testing and deployment of electronic contracts. The central components of the framework are a contract monitoring service called the Contract Compliance Checker (CCC), the SPIN model checker coupled with EPROMELA, a high-level language developed specifically for modeling electronic contracts, and the LTL Manager; a graphical tool developed in order to aid with the specification of correctness properties in Linear Temporal Logic (LTL). We describe how the LTL Manager can used to create a repository of common contract related LTL templates, which then can be easily selected and parameterized by the contract designer. We also describe how SPIN can be used to automatically generate execution sequences from an EPROMELA model of a contract, and how such sequences can then be used to test the correctness of the model equivalent electronic contract deployed to the CCC.


Service agreement Electronic contract Service monitoring Model checking Automated testing Service oriented computing Cloud computing 


  1. 1.
    Molina-Jimenez, C., Shrivastava, S., Solaiman, E., Warne, J.: Contract representation for run-time monitoring and enforcement. In: 2003 IEEE International Conference on E-Commerce (CEC 2003). IEEE (2003)Google Scholar
  2. 2.
    Molina-Jimenez, C., Shrivastava, S., Wheater, S.: An architecture for negotiation and enforcement of resource usage policies. In: IEEE International Conference on Service Oriented Computing and Applications (SOCA). IEEE (2011)Google Scholar
  3. 3.
    Strano, M., Molina-Jimenez, C., Shrivastava, S.: A rule-based notation to specify executable electronic contracts. In: Bassiliades, N., Governatori, G., Paschke, A. (eds.) RuleML 2008. LNCS, vol. 5321, pp. 81–88. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  4. 4.
    Solaiman, E., Molina-Jiménez, C., Shrivastav, S.: Model checking correctness properties of electronic contracts. In: Orlowska, M.E., Weerawarana, S., Papazoglou, M.P., Yang, J. (eds.) ICSOC 2003. LNCS, vol. 2910, pp. 303–318. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  5. 5.
    Abdelsadiq, A., Molina-Jimenez, C., Shrivastava, S.: A high level model checking tool for verifying service agreements. In: The 6th IEEE International Symposium on Service-Oriented System Engineering (SOSE 2011). IEEE (2011)Google Scholar
  6. 6.
    Strano, M., Molina-Jimenez, C., Shrivastava, S.: Implementing a rule-based contract compliance checker. In: Godart, C., Gronau, N., Sharma, S., Canals, G. (eds.) I3E 2009. IFIP AICT, vol. 305, pp. 96–111. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  7. 7.
    Molina-Jimenez, C., Shrivastava, S., Strano, M.: A model for checking contractual compliance of business interactions. IEEE Trans. Serv. Comput. 5(2), 276–289 (2012)CrossRefGoogle Scholar
  8. 8.
    Abdelsadiq, A., Molina-Jimenez, C., Shrivastava, S.: On model checker based testing of electronic contracting systems. In: IEEE International Conference on Commerce and Enterprise Computing (CEC 2010). IEEE (2010)Google Scholar
  9. 9.
    Holzmann, G.J.: The Spin Model Checker: Primer and Reference Manual. Addison Wesley Professional, Boston (2003)Google Scholar
  10. 10.
    Pnueli, A.: The temporal logic of programs. In: Proceedings of 18th Annual Symposium on Foundations of Computer Science (FOCS 1977), pp. 46–57 (1977)Google Scholar
  11. 11.
    Solaiman, E., Sun, W., Molina-Jimenez, C.: A tool for the automatic verification of bpmn choreographies. In: IEEE 12th International Conference on Services Computing (SCC). IEEE (2015)Google Scholar
  12. 12.
    OMG: Documents associated with business process model and notation (bpmn) version 2.0 (2011).
  13. 13.
    Molina-Jimenez, C., Shrivastava, S.: Establishing conformance between contracts and choreographies. In: 15th IEEE Conference on Business Informatics (CBI), IEEE Computer Society, Vienna, Austria. IEEE (2013)Google Scholar
  14. 14.
    RedHat: Drools (2013).
  15. 15.
    Parr, T.: The Definitive ANTLR 4 Reference, January 2013Google Scholar
  16. 16.
    Molina-Jimenez, C., Shrivastava, S., Cook, N.: Implementing business conversations with consistency guarantees using message-oriented middleware. In: IEEE 11th International Enterprise Computing Conference (EDOC 2007), pp. 51–62 (2007)Google Scholar
  17. 17.
    Molina-Jimenez, C., Shrivastava, S., Strano, M.: Exception handling in electronic contracting. In: IEEE Conference on Commerce and Enterprise Computing (CEC). IEEE, Vienna, Austria (2009)Google Scholar
  18. 18.
    OASIS: ebXML Business Process Specification Schema Technical Specification v2.0.4. (2006)
  19. 19.
    Solaiman, E., Sfyrakis, I., Molina-Jimenez, C.: Dynamic testing and deployment of a contract monitoring service. In: 5th International Conference on Cloud Computing and Services Science. SCITEPRESS (2015)Google Scholar
  20. 20.
    Ungureanu, V., Minsky, N.H.: Establishing business rules for inter-enterprise electronic commerce. In: Herlihy, M.P. (ed.) DISC 2000. LNCS, vol. 1914, pp. 179–193. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  21. 21.
    Ludwig, H., Stolze, M.: Simple obligation and right model (SORM) - for the runtime management of electronic service contracts. In: Bussler, C.J., Fensel, D., Orlowska, M.E., Yang, J. (eds.) WES 2003. LNCS, vol. 3095, pp. 62–76. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  22. 22.
    Hvitved, T.: A survey of formal languages for contracts. In: Fourth Workshop on Formal Languages and Analysis of Contract-Oriented Software (FLACOS 2010) (2010)Google Scholar
  23. 23.
    Galton, A.: Temporal Logics and Computer Science: an Overview. Academic Press, Cambridge (1987). Chap. 1zbMATHGoogle Scholar
  24. 24.
    Fraser, G., Wotawa, F., Ammann, P.: Testing with model checkers: a survey, pp. 215–261. Verification and Reliability, Software Testing (2009)Google Scholar
  25. 25.
    van der Aalst, W.M.P., Pesic, M.: DecSerFlow: towards a truly declarative service flow language. In: Bravetti, M., Núñez, M., Zavattaro, G. (eds.) WS-FM 2006. LNCS, vol. 4184, pp. 1–23. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  26. 26.
    El-Far, I.K.: Enjoying the perks of model-based testing. In: Proceedings of the Software Testing, Analysis, and Review Conference (STARWEST 2001) (2001)Google Scholar
  27. 27.
    Utting, M., Legeard, B.: Practical Model-Based Testing: a Tools Approach. Morgan-Kaufmann, Burlington (2006)Google Scholar
  28. 28.
    Pezze, M., Young, M.: Software Testing and Analysis: Process. Wiley, Principles and Techniques, New York (2008)zbMATHGoogle Scholar
  29. 29.
    Torsel, A.M.: A testing tool for web applications using a domain-specific modelling language and the nusmv model checker. In: IEEE Sixth International Conference on Software Testing, Verification and Validation (2013)Google Scholar
  30. 30.
    Shrivastava, S., Little, M.: Designing atomic business functions with distributed control. In: 17th IEEE Conference on Business Informatics (CBI 2015). IEEE (2015)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Ellis Solaiman
    • 1
    Email author
  • Ioannis Sfyrakis
    • 1
  • Carlos Molina-Jimenez
    • 2
  1. 1.School of Computing ScienceNewcastle UniversityNewcastle upon TyneUK
  2. 2.Computer LaboratoryUniversity of CambridgeCambridgeUK

Personalised recommendations