Moreover, the application of the CMFs is showcased using three existing tools that are applied to two realistic data sets.
The appropriateness of the selection of CMFs is demonstrated in two ways: (a) a systematic comparison with pattern-based compliance approaches and (b) a classification of existing compliance monitoring approaches using the CMFs. The CMFs are harvested based on a systematic literature review and five selected case studies. To define the scope of the framework, at first, related areas are identified and discussed. The goal of this paper is to define a framework for Compliance Monitoring Functionalities (CMF) that enables the systematic comparison of existing and new approaches for monitoring compliance rules over business processes during runtime. Hence, it is unclear which approaches are suitable for particular scenarios. Moreover, proper means for the systematic comparison of these approaches are missing. The body of literature on business process compliance is large and approaches specifically addressing process monitoring are hard to identify. Monitoring not only refers to continuously observing possible compliance violations, but also includes the ability to provide fine-grained feedback and to predict possible compliance violations in the future.
In recent years, monitoring the compliance of business processes with relevant regulations, constraints, and rules during runtime has evolved as major concern in literature and practice. For illustration, formal analyses of an energy aware CPU scheduling algorithm, i.e, PAST, for adaptivity rules for a stereo navigation system and for a context aware application are presented. In particular, this paper provides an approach to formally model DSL adaptation specifications, along with their rules, and identifies a set of generic temporal properties to check for reachability and other rule conflicts, using the finite and infinite state-space based model checking capabilities of nuXmv model checker. As an accurate alternative, we propose to use model checking for rule conflict and reachability analysis in DSL adaptation. However, both of these techniques are error-prone and thus can lead to unwanted situations.
Traditionally, such conflict analysis is done using software testing or manual manipulation of automata based models of rules. However, the ability to use several rules in a single adaptation strategy, as allowed by some DSLs, may lead to conflicts and reachability issues, which can eventually lead to functional bugs.
Compared to general purpose programming languages, domain specific languages (DSLs) targeting adaptive embedded software development provide a very promising alternative for developing clean and error free run-time adaptations.