Make more money by modeling and optimizing your business processes with Kotlin by Holger Brandl
Recording brought to you by American Express. https://americanexpress.io/kotlin-jobs Real-world business processes typically grow a dense and complex network of processes, complimentary processes, sub-processes, and many dependencies between them. To optimize a business for profit, efficiency, or productivity, we need to disentangle its dense web of involved resources such as humans, methods, machines or material. Traditional business process modeling and simulation tools are mostly modeled as low-code environments. However, when a business is growing, these tools fail to scale and to deliver the required testbed for business process optimization and analysis. To overcome these challenges, I would like to introduce kalasim - an open-source MIT-licensed discrete simulation engine written in 100% Kotlin. kalasim https://www.kalasim.org is designed around suspendable coroutines for process definitions, and runs on the JVM for performance and scale. It ships with dependency injection, modern persistence, structured logging and automation capabilities. kalasim is now developed for more than 2 years, and has been battle-tested for modeling a sightly number of complex industrial business processes. kalasim is designed for simulation practitioners, process analysts and industrial engineers, who need to go beyond the limitations of existing simulation tools to model and optimize their business-critical use-cases. In contrast to many other simulation tools, kalasim is neither low-code nor no-code. It is code-first to enable change tracking, scaling, refactoring, CI/CD, unit-tests, and the rest of the gang that makes simulation development fun. The presentation would be structured as follows: First, I will introduce the key concepts of discrete event simulation with Kotlin and kalasim using some examples from https://www.kalasim.org/examples. We will discuss and learn how simulation entities are built on top of suspendable coroutines, and how to setup, configure, and run a simulation model. Next, we will study a more complex – but very visual - process simulation of a semiconductor wafer production process. I will demonstrate how to use kalasim in a jupyter notebook context, and how it seamlessly integrates with data-science libraries such as lets-plot and kotlin-dataframe. We will discuss how to optimize the modeled production process by modulating machine availability, staffing, and production planning. Finally, I will give an overview of how new users could start to model their own processes. I will share some experiences of how new users were onboarded into kalasim without having prior knowledge about Kotlin. Also, I will provide some pointers into more advanced features and integration capabilities of kalasim. Talk by: Holger Brandl #kotlinconf