Such modeling languages support "programming in the large " and allow splitting high-level logic of control- and data flow within an overall application from low-level logic implementing elementary business functions; this way, workflow-based applications can be created, that allow changing business processes without having to change the programs implementing individual steps of the process.