This repository provides the proof of concept implementation for different publications.
- To see the state of work for the publication "Modeling Objectives of Knowledge Workers" (DEC2H Workshop at BPM Conference 2021), visit the dedicated branch.
- To see the state of work for the publication "Decision Support for Kowledge-Intensive Processes" (ZEUS Workshop 2022), visit this branch.
Knowledge workers can be assisted in reaching their objectives by allowing them to plan future actions based on those objectives. For this planning, knowledge workers must be able to
i) specify objectives
ii) search the state space of the process to find paths that satisfy these objectives
iii) get a recommenation for a sequence of actions to achieve those
The fCM-query-generator aims to enable the first requirement: specifying objectives. The second requirement—analyzing the state space of the model—is possible by utilizing the fcm2cpn compiler. It takes an fCM model as input and generates a colored Petri net (CPN) formalization of it. This formalization can then be executed and analyzed with CPN Tools. Using CPN Tools, the state space can be searched for plans satisfying objectives. Therefore, queries created by the fCM-query-generator are used. Third, recommending sequences of actions is only possible to a limited extend with this implementation: Every next state needs to be investigated to recommend a direct next action. Recommending paths requires further work.
A Screencast is available on youtube.
The interplay of the mentioned components works as follows:
The fCM-query-generator i) allows to specify objectives and ii) compiles a state space query that can be used in CPN Tools.
It provides an interface to specify existential and universal state conditions, as well as multiplicity constraints for data objects, the condition whether certain activities are enabled, and the concatenation of those. The input objective is then compiled into a state space query, which can be used in CPN Tools. An examlpe will be elaborated below.
This repository is a Vue.js application. It uses the material design framework Vuetify. The interface is provided in src/components
The compiler of the input to state space queries can be found in src/compiler/compiler.js
.
Three examples can be found in the example
-folder. One describes a claim handling process in an insurance company. The second describes the reviewing process for an academic conference. A third describes the hospital admission of a patient and the activities performed by medical experts. For the conference example, a simple and a more complex variation are provided.
To evaluate the performance of the generated state space queries, some measurements are provided in the experiments
folder.
The project can be used with the latest version of npm.
First, navigate to the project folder. To install all dependencies, run:
npm install
To run the project, run:
npm run serve
The application should then be available at http://localhost:8080
.
In the following, let us consider the fragments of the simple case model as provided in example/conference/simple
:
To use the fCM-query-generator, run the project.
It is now possible to upload an fCM-model, e.g. the provided example/conference/simple/conference.bpmn
. All data objects and activities are parsed and made available for specifying objectives.
To create a new objective, click Create New
in the section Your Objectives
. In the input form, the knowledge worker can specify their objective by choosing desired existental and universal conditions for a data object and state, as well as lower and upper bounds. They can also choose desired enabled activities, and concatenate all with the logic operators AND, OR, and NOT.
To create a new objective, click Create New
in the section Your Path Cost Functions
. In the form, users can specify a cost function for any path in the model's state space. It can make statements about the path length, activities that are executed on a path, and data objects that are created on a path. Therefore, it is possible to specify four things. First, the path length can be considered not at all, with the length of the path, or with the squared lenght of the path. Second, it can be specified, if the path length costs should be multiplied or added with the rest of the path costs. Third, for every activity, a cost can be assigned. And fourth, a cost for each newly created data object of each class can be defined.
To specify a state space query, two techniques are available. A user can create a query to derive filter-based recommendations, or score-based recommendations.
A filter-based recommendation query requires a name, one objective, and the current state of execution as input.
A score-based recommendation query requires a name, a set of objectives, a path cost function, and the current state of execution as input. For each selected objective, a weight need to be assigned and to be selected if it is required to satisfy the objective.
For the specified input, the according state space query is automatically compiled. It can be copied and used for the analysis in CPN Tools.
The CPN-representation of the examplary fCM can be found in example/claim/simple/conference.cpn
. To use it, run the latest version of CPN Tools, which can be downloaded here.
The state space query is an ASK-CTL formula. More information can be found here.
To execute it, first, the models state space must be generated. To do so, select the generate state space option in the state space tool and click into the net. Due to the size of the state space, this might take several minutes.
Also, the strongly connected components graph has to be computed. Choose the option in the state space tool and click on the net.
Next, the ASK-CTL compiler must be loaded. Choose the ML compiler in the simulation tool and compile the expression use (ogpath^"ASKCTL/ASKCTLloader.sml")
by clicking on it.
Now, any ASK-CTL formula can be executed by choosing the ML compiler and clicking on it. To execute the state space query, copy it into a separate text field in the net. In the exemplary CPN, the previously created state space query is already given.
Insert picture!
The query returns a boolean indicating whether or not an execution state can be reached that satisfies the objective. For all possible successor states, it can be investigated which can lead to a satisfying state and which can't. This information assists knowledge workers, what activities to execute.
To investigate the state space and the successor states of the current state, the state space can be visualized by using the state space tool.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.