In the new cloud-based world, the decision-making applications have new requirements to operational decision services. The traditional monolithic services are being replaced by microservices that requires high availability, security, and super-fast performance. The customers are not satisfied anymore with a relatively slow startup time of 20–30 seconds — they want decision services to start under 1 second and execute millions of rules-based transactions a day under 10 milliseconds per transaction. And they want to deploy their decision services on-premise, on-cloud, and even on smartphones. Link
It means the decision execution engines cannot use dynamic features such as reflection and class-loading in run-time anymore. In response, forward-looking vendors started to migrate their well-established rule engines to a new world with Code Generation replacing Run-Time Interpretation. But doing this, they preserve references back to the original business rules, so when their tools report errors and provide explanations, they do it in business terms (!) which rules authors, who are usually business analysts, can understand.