Skip to content

hehnle/provarder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Provarder

Provarder (Process Variant Derivation) is a tool to derive several process variants from a process model that constitutes a process family. Provarder is based on the works:

  • an der Aalst, W.M.P., Dreiling, A., Gottschalk, F., Rosemann, M., Jansen-Vullers, M.H.: Configurable Process Models as a Basis for Reference Modeling. In: Hutchison, D., Kanade, T., Kittler, J., Kleinberg, J.M., Mattern, F., Mitchell, J.C., Naor, M., Nierstrasz, O., Pandu Rangan, C., Steffen, B., Sudan, M., Terzopoulos, D., Tygar, D., Vardi, M.Y., Weikum, G., Bussler, C.J., Haller, A. (eds.) Business Process Management Workshops, Lecture Notes in Computer Science, vol. 3812, pp. 512–518. Springer Berlin Heidelberg, Berlin, Heidelberg (2006). https://doi.org/10.1007/11678564 47
  • Gotttschalk, F., van der Aalst, W.M.P., Jansen-Vullers, M.H., La Rosa, M.: Configurable Workflow models. International Journal of Cooperative Information Systems 17(02), 177–221 (2008). https://doi.org/10.1142/S0218843008001798
  • Hongyan Zhang, Weilun Han, Chun Ouyang: Extending BPMN for Configurable Process Modeling. In: Proceedings of the 21st ISPE Inc. International Conference on Concurrent Engineering. pp. 317–330. IOS Press (2014), https://api. semanticscholar.org/CorpusID:22527654

Usage

The tool is a maven plugin requiring two inputs: the directory containing the core process model and the directory holding the configuration files. Each configuration file is a JSON file that specifies an adaptation to the process family model. The tool reads all configuration files from the provided directory and applies them to the core process model.

In order to include the plugin into your project insert the folliwing into your pom.xml

<plugin>
	<groupId>de.hehnle</groupId>
	<artifactId>bpmn-transform</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<executions>
		<execution>
			<goals>
				<goal>transform</goal>
			</goals>
			<configuration>
				<configurationDirectory>
					hide-configuration
				</configurationDirectory>
				<processDirectory>
					bpmn
				</processDirectory>
			</configuration>
		</execution>
	</executions>
</plugin>

As can be seen the directories for the configuration files and the bpmn process models can be configured. Note that it has to be a directory under src/main/resources.

During the maven lifecycle phase generate-sources the plugin is executed, reads the configuration files and transforms the process models accordingly.

The configuration files must include two mandatory attributes:

  • action: Can be REMOVE, REPLACE, or RESTRICT.
  • BPMN element id: Identifies the BPMN element the action applies to.

The following are examples for configuration files:

{
  "action": "REMOVE",
  "elementId": "Activity_Notify"
}
{
  "action": "REPLACE",
  "elementId": "Event_Renewed",
  "replacementEvent": {
    "timerDuration": "P30D",
    "label": "30 days"
  }
}
{
  "action": "REPLACE",
  "elementId": "Event_Cancelled",
  "replacementEvent": {
    "messageName": "CANCEL_PARKING_PERMIT",
    "label": "parking permit cancelled"
  }
}

License

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 4.0 International License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages