Skip to main content

A Code-Efficient Process Scripting Language

  • Conference paper
  • First Online:
Conceptual Modeling (ER 2020)

Abstract

Business process management systems are an important piece of infrastructure for digital transformation initiatives. Rapid development of executable business processes is a key requirement in this context. Even though there are various process modeling languages available, none of them is designed with the ambition to be code efficient and expressive at the same time. In this paper, we investigated the research question how a process scripting language can be defined that addresses the four requirements of code efficiency, control flow expressiveness, data processing and event processing. To this end, we designed and implemented a process scripting language based on Kotlin. To analyze the language regarding the four requirements, we use the language in a case study of a real-world process of our industry partner.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    https://cadenceworkflow.io.

  2. 2.

    https://netflix.github.io/conductor/.

  3. 3.

    https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html.

  4. 4.

    https://kotlinlang.org/.

  5. 5.

    https://www.w3.org/TR/xmlschema-2/#isoformats.

  6. 6.

    https://github.com/factdriven (commit tag ER-2020-Demo).

  7. 7.

    https://kotlinlang.org/docs/reference/type-safe-builders.html.

  8. 8.

    https://www.jetbrains.com/idea/.

  9. 9.

    https://camunda.com/products/bpmn-engine/.

  10. 10.

    https://github.com/factdriven (commit tag ER-2020-Demo).

References

  1. Business Process Model and Notation (BPMN) version 2.0. Tech. rep. (2011)

    Google Scholar 

  2. van der Aalst, W.M.P., ter Hofstede, A.H., Kiepuszewski, B., Barros, A.P.: Distributed and parallel databases. Workflow Patterns 14(1), 5–51 (2003)

    Google Scholar 

  3. Armbrust, M., et al.: A view of cloud computing. Commun. ACM 53(4), 50–58 (2010)

    Article  Google Scholar 

  4. Buyya, R., Yeo, C.S., Venugopal, S., Broberg, J., Brandic, I.: Cloud computing and emerging IT platforms: vision, hype, and reality for delivering computing as the 5th utility. Future Gener. Comp. Syst. (FGCS) 25(6), 599–616 (2009)

    Article  Google Scholar 

  5. Ceh, I., Crepinsek, M., Kosar, T., Mernik, M.: Ontology driven development of domain-specific languages. Comput. Sci. Inf. Syst. 8(2), 317–342 (2011)

    Article  Google Scholar 

  6. Crepinsek, M., Kosar, T., Mernik, M., Cervelle, J., Forax, R., Roussel, G.: On automata and language based grammar metrics. Comput. Sci. Inf. Syst. 7(2), 309–329 (2010)

    Article  Google Scholar 

  7. Dieste, O., et al.: Empirical evaluation of the effects of experience on code quality and programmer productivity: an exploratory study. In: International Conference on Software and System Process, ICSSP 2018, pp. 111–112. ACM (2018)

    Google Scholar 

  8. Dragoni, N., et al.: Microservices: yesterday, today, and tomorrow. Present and Ulterior Software Engineering, pp. 195–216. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-67425-4_12

    Chapter  Google Scholar 

  9. Dragoni, N., Lanese, I., Larsen, S.T., Mazzara, M., Mustafin, R., Safina, L.: Microservices: how to make your application scale. In: Petrenko, A.K., Voronkov, A. (eds.) PSI 2017. LNCS, vol. 10742, pp. 95–104. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-74313-4_8

    Chapter  Google Scholar 

  10. Dumas, M., La Rosa, M., Mendling, J., Reijers, H.A.: Process-aware information systems. Fundamentals of Business Process Management, pp. 341–369. Springer, Heidelberg (2018). https://doi.org/10.1007/978-3-662-56509-4_9

    Chapter  Google Scholar 

  11. Georgakopoulos, D., Hornick, M., Sheth, A.: An overview of workflow management: from process modeling to workflow automation infrastructure. Distrib. Parallel Databases 3(2), 119–153 (1995)

    Article  Google Scholar 

  12. Hirschheim, R.A.: Office automation: a social and organizational perspective (1986)

    Google Scholar 

  13. Jordan, D., et al.: Web services business process execution language version 2.0. Tech. rep. (2007)

    Google Scholar 

  14. Kiepuszewski, B., ter Hofstede, A.H.M., van der Aalst, W.M.P.: Fundamentals of control flow in workflows. Acta Inf. 39(3), 143–209 (2003)

    Article  MathSciNet  Google Scholar 

  15. Kosar, T., et al.: Comparing general-purpose and domain-specific languages: an empirical study. Comput. Sci. Inf. Syst. 7(2), 247–264 (2010)

    Article  Google Scholar 

  16. Mateus, B.G., Martinez, M.: An empirical study on quality of Android applications written in Kotlin language. Empir. Softw. Eng. 24(6), 3356–3393 (2019)

    Article  Google Scholar 

  17. Mendling, J., Nüttgens, M.: XML interchange formats for business process management. Inf. Syst. E-Bus. Manag. 4(3), 217–220 (2006)

    Article  Google Scholar 

  18. Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. 37(4), 316–344 (2005)

    Article  Google Scholar 

  19. Mernik, M., Hrncic, D., Bryant, B.R., Javed, F.: Applications of grammatical inference in software engineering: domain specific language development. Sci. Appl. Lang. Methods 2, 421–457 (2010)

    MathSciNet  MATH  Google Scholar 

  20. Power, J.F., Malloy, B.A.: A metrics suite for grammar-based software. J. Softw. Maint. Res. Pract. 16(6), 405–426 (2004)

    Article  Google Scholar 

  21. Prechelt, L.: An empirical comparison of seven programming languages. Computer 33(10), 23–29 (2000)

    Article  Google Scholar 

  22. Richardson, C.: Microservices patterns: with examples in Java (2019)

    Google Scholar 

  23. Russell, N., van der Aalst, W.M.P., ter Hofstede, A.H.: Workflow Patterns: The Definitive Guide. MIT Press, Cambridge (2016)

    Book  Google Scholar 

  24. Van Deursen, A., Klint, P., Visser, J.: Domain-specific languages: an annotated bibliography. ACM Sigplan Not. 35(6), 26–36 (2000)

    Article  Google Scholar 

  25. Weidlich, M., Decker, G., Großkopf, A., Weske, M.: BPEL to BPMN: the myth of a straight-forward mapping. In: Meersman, R., Tari, Z. (eds.) OTM 2008. LNCS, vol. 5331, pp. 265–282. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-88871-0_19

    Chapter  Google Scholar 

  26. Wohed, P., van der Aalst, W.M.P., Dumas, M., ter Hofstede, A.H.M., Russell, N.: On the suitability of BPMN for business process modelling. In: Dustdar, S., Fiadeiro, J.L., Sheth, A.P. (eds.) BPM 2006. LNCS, vol. 4102, pp. 161–176. Springer, Heidelberg (2006). https://doi.org/10.1007/11841760_12

    Chapter  Google Scholar 

  27. Zur Muehlen, M.: Workflow-Based Process Controlling: Foundation, Design, and Application of Workflow-Driven Process Information Systems. Logos Verlag, Berlin (2004)

    Google Scholar 

Download references

Acknowledgement

The concept and design of Factscript as well as its implementation in Kotlin was done by Martin Schimak, plexiti GmbH.

This research is partially funded by FFG (ref. no. 876062).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Maxim Vidgof .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Vidgof, M., Waibel, P., Mendling, J., Schimak, M., Seik, A., Queteschiner, P. (2020). A Code-Efficient Process Scripting Language. In: Dobbie, G., Frank, U., Kappel, G., Liddle, S.W., Mayr, H.C. (eds) Conceptual Modeling. ER 2020. Lecture Notes in Computer Science(), vol 12400. Springer, Cham. https://doi.org/10.1007/978-3-030-62522-1_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-62522-1_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-62521-4

  • Online ISBN: 978-3-030-62522-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics