Declare execution environment for uncovering hidden depdencies
========================================================================

The Declare execution environment allows users to enact their models, which are annotated with extra information regarding the interaction of constraints and hidden dependencies.
About ----- This site supports the paper "Improving Understandability of Declare Models by Revealing Hidden Dependencies" by providing a prototype tool that loads a Declare model and annotates it with extra descriptions for hidden depdencies. They are also visualized in a graph which shows the interaction of constraints that cause hidden dependencies and their dependent constraints. The prototype may still contain bugs, however, the models used in the experiment were thoroughly tested for the entire state space to ensure correct execution. Implementation -------------- The Declare environment has been implemented as a standalone application in Java and uses the [ProM 6](//www.promtools.org) Declare Maps Miner and Declare Maps implementation. It requires Java 7 or later. * [Version of 2015-12-08](https://perswww.kuleuven.be/~u0092789/DeclareExecutionEnvironment-2015-12-08.zip) The models used during the experiment are included in the download and can be loaded into the tool upon running it (this might take a few seconds). The anonymized results from the experiments can be found here: * [Results of experiment](downloads/data_experiment.xlsx) Models ------ The models used in the experiment are explained in more detail below: - Model 1: The model contains a Not co-existence constraint which disables A, B, and C after firing D or E. Because E disables B, C can not fire anymore and A should not fire in order to prevent an unresolvable activation of Response(A,B). If D fires, E has to fire eventually and has the same effect. The other way around, firing A or B has the same effect on D and E. Model 1 width= - Model 2: The model contains 4 activities and 6 constraints. A and C are connected by an Alternate precedence constraint and can happen exactly twice and at least twice respectively. Since for every occurrence of C a new occurrence of A is needed and A can only fire twice, C can also only happen exactly twice. Therefore, if A occurs, it has to wait for C to occur, as otherwise it has fired its maximum amount of times and cannot guarantee fulfilling the Existence constraint of C. The same goes for B and D, connected by Alternate response. Here, D can happen at most twice and B has to happen exactly twice. B can only happen again after the next D, hence D has to be able to occur at least as many times as B still has to happen. Model 2 width= - Model 3: This model has hidden dependencies caused by Exactly2(C). In the states where C can happen only once anymore, all dependencies it has with its dependent constraints need to be resolved: it has to be able to fire after activating Response(A,B) and Response(B,C). Also, if F fires, Response(F,G) needs to be resolved. This happens by firing G, which is only possible after activating constraints Alternate precedence(G,E) and Precedence(B,E). If C fires twice before B has fired, it can never happen anymore as firing B leads to activating Response(B,C), which cannot be resolved by C anymore. Model 3 width= - Model 4: This model has hidden dependencies cause by Not succession(E,B). B has to be able to activate Alternate precedence(B,C), so C can resolve the inevitable activation of Response(D,C), because D has to fire at least 2 times. Firing C before resolving Existence2(D) will disable E, as B has to fire again to activate the Alternate(B,C) constraint. Once E is fired (and C can fire), C becomes disabled as it can fire only one time anymore, until Existence2(D) is resolved and it can resolve Response(D,C). After this, both C and D become disabled. Model 4 width= - Model 5: This model is an extension to model 3. In this example, the extra Choice constraint requires either A or J to fire. If I has fired and J has never fired and cannot fire anymore (due to Not succession(I,J)), A has to be able to fire. If C can only fire once anymore, it becomes disabled until A fires and Response(A,B) and Response(B,C) can be resolved. If A is disabled after firing C twice (rendering it disabled due to the Response constraints), I becomes disabled until J resolves Choice(J,A). Model 5 width= Contact ------- Contact the authors at: * [Johannes De Smedt](mailto:johannes.desmedt@kuleuven.be) (corresponding author)
Department of Decision Sciences and Information Management, KU Leuven
Naamsestraat 69, B-3000 Leuven, Belgium Screenshots ----------- [](#i06) [](#i07) [](#i08)