Empowering Business-Level Blockchain Users with a Rules Framework for Smart Contracts

  • Tara Astigarraga
  • Xiaoyan Chen
  • Yaoliang Chen
  • Jingxiao Gu
  • Richard Hull
  • Limei Jiao
  • Yuliang Li
  • Petr Novotny
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11236)


The importance and adoption of Blockchain to support secure and trusted collaborations between businesses continues to grow. In today’s practice, most Blockchain smart contracts (which capture the business processing logic) are written primarily by software developers. To enable widespread adoption of Blockchain, business analysts and subject matter experts will need to have direct access to the smart contract logic, including the abilities to understand, modify, and create substantial portions of that logic. This paper describes a fully functioning framework and system for specifying and executing smart contracts in which the core logic is specified by a controlled English, business-level rules language. The framework includes a browser-based smart editor for rules; a parser generator that enables substantial variation in the rules syntax; code generation that maps to a RETE based rules engine; and execution of the rules in either on-chain (using Hyperledger Fabric) or off-chain modes. The paper describes the rules framework and possible extensions, and identifies key aspects of Blockchain that impact the implementation.



The authors are grateful to Stephane Mery, Philippe Bonnard and Jean Michel Bernelas from the ODM product group at IBM for their inspiration around rules languages and Blockchain, and also for assistance with the nanoRETE rules engine and the BDSL parser-generator. The authors are grateful to Jerome Simeon for his numerous insights, especially in connection with the spectrum of design and engineering issues that arise in Domain-Specific Languages. The authors are also grateful to the team at IBM working on Blockchain for Technical Support Services, including Saurabh Sinha, Nerla JeanLouis, and Shu Tao, for providing an environment and grounded use cases for the exploration of business rules for smart contracts.


  1. 1.
    Ethereum: Solidity (2018). Accessed 17 Mar 2018
  2. 2.
    IBM: Hyperledger Composer Home Page. Accessed 17 Mar 2018
  3. 3.
    Androulaki, E., et al.: Hyperledger fabric: a distributed operating system for permissioned blockchains. In: Proceedings of the Thirteenth EuroSys Conference, p. 30. ACM (2018)Google Scholar
  4. 4.
    Mendling, J., et al.: Blockchains for business process management-challenges and opportunities. ACM Trans. Manag. Inf. Syst. (TMIS) 9(1), 4 (2018)Google Scholar
  5. 5.
    Weber, I., Xu, X., Riveret, R., Governatori, G., Ponomarev, A., Mendling, J.: Untrusted business process monitoring and execution using blockchain. In: La Rosa, M., Loos, P., Pastor, O. (eds.) BPM 2016. LNCS, vol. 9850, pp. 329–347. Springer, Cham (2016). Scholar
  6. 6.
    López-Pintado, O., et al.: Caterpillar: a blockchain-based business process management system. In: Proceedings of the BPM Demo Track and BPM Dissertation Award co-located with 15th International Conference on Business Process Modeling, BPM 2017, Barcelona, Spain, 13 September 2017Google Scholar
  7. 7.
    Hull, R., Heath III, F.F.T., Vianu, V., Batra, V.S., Chen, Y.M., Deutsch, A.: Towards a shared ledger business collaboration language based on data-aware processes. In: Sheng, Q.Z., Stroulia, E., Tata, S., Bhiri, S. (eds.) ICSOC 2016. LNCS, vol. 9936, pp. 18–36. Springer, Cham (2016). Scholar
  8. 8.
    IBM: IBM Operational Decision Manager. Accessed 17 Mar 2018
  9. 9.
    OMG: Semantics of business vocabulary and business rules (SBVR), version 1.4 (2017). Accessed 17 Mar 2018
  10. 10.
    Oracle: Fusion middleware designing business rules with Oracle business process management (2016). Accessed 4 Aug 2018
  11. 11.
    Aghlara, A.: Business rule language (of FlexRule) (July 2015). Accessed 4 Aug 2018
  12. 12.
    IBM: IBM Operational Decision Manager Version 8.6.0: Business Rules Embedded developer guide (2014). Accessed 17 Mar 2018
  13. 13.
    Coblenz, M.: Obsidian: a safer blockchain programming language. In: Companion Proceedings of the 39th International Conference Software Engineering, ICSE Companion 2017 (2017)Google Scholar
  14. 14.
    Brown, R.G., et al.: Corda: an introduction. R3 CEV, August 2016Google Scholar
  15. 15.
    Mery, S., et al.: Make your blockchain smart contracts smarter with business rules. Accessed 17 Mar 2018
  16. 16.
    Marinos, A., Krause, P.: An SBVR framework for RESTful web applications. In: Governatori, G., Hall, J., Paschke, A. (eds.) RuleML 2009. LNCS, vol. 5858, pp. 144–158. Springer, Heidelberg (2009). Scholar
  17. 17.
    Bhargavan, K., et al.: Formal verification of smart contracts: short paper. In: Proceedings of the 2016 ACM Workshop on Programming Languages and Analysis for Security, pp. 91–96. ACM (2016)Google Scholar
  18. 18.
    Amani, S., et al.: Towards verifying ethereum smart contract bytecode in Isabelle/HOL. In: CPP. ACM (2018, To appear)Google Scholar
  19. 19.
    Atzei, N., Bartoletti, M., Cimoli, T.: A survey of attacks on ethereum smart contracts (SoK). In: Maffei, M., Ryan, M. (eds.) POST 2017. LNCS, vol. 10204, pp. 164–186. Springer, Heidelberg (2017). Scholar
  20. 20.
    Deutsch, A., et al.: Automatic verification of database-centric systems. ACM SIGLOG News 5(2), 37–56 (2018)MathSciNetGoogle Scholar
  21. 21.
    Deutsch, A., et al.: Verifas: a practical verifier for artifact systems. In: VLDB (2017)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  • Tara Astigarraga
    • 1
  • Xiaoyan Chen
    • 2
  • Yaoliang Chen
    • 3
  • Jingxiao Gu
    • 2
  • Richard Hull
    • 1
  • Limei Jiao
    • 2
  • Yuliang Li
    • 4
  • Petr Novotny
    • 1
  1. 1.IBM T.J. Watson Research CenterYorktown HeightsUSA
  2. 2.IBM China Research LaboratoryBeijingChina
  3. 3.Fudan UniversityShanghaiChina
  4. 4.Megagon LabsUC San DiegoSan DiegoUSA

Personalised recommendations