Abstract
The design-time specification of flexible processes can be time-consuming and error-prone, due to the high number of tasks involved and their context-dependent nature. Such processes frequently suffer from potential interference among their constituents, since resources are usually shared by the process participants and it is difficult to foresee all the potential tasks interactions in advance. Concurrent tasks may not be independent from each other (e.g., they could operate on the same data at the same time), resulting in incorrect outcomes. To tackle these issues, we propose an approach for the automated synthesis of a library of template-based process models that achieve goals in dynamic and partially specified environments. The approach is based on a declarative problem definition and partial-order planning algorithms for template generation. The resulting templates guarantee sound concurrency in the execution of their activities and are reusable in a variety of partially specified contextual environments. As running example, a disaster response scenario is given. The approach is backed by a formal model and has been tested in experiments.
Similar content being viewed by others
Notes
PDDL 2.1 enables the representation of realistic planning domains, which include operators with universally quantified effects and numeric fluents. However, our formalism does not currently handle conditional effects nor negative preconditions.
Before the execution of the algorithm, all the ordering constraints involving the dummy start action \(a_0\) and the dummy end action \(a_\infty \) are removed from O.
References
van der Aalst WM (2013) Business process management: a comprehensive survey. ISRN Softw Eng. doi:10.1155/2013/507984
Dumas M, La Rosa M, Mendling J, Reijers HA (2013) Fundamentals of business process management. Springer, Berlin. doi:10.1007/978-3-642-33143-5
Di Ciccio C, Marrella A, Russo A (2015) Knowledge-intensive processes: characteristics, requirements and analysis of contemporary approaches. J Data Semant 4(1):1–29. doi:10.1007/s13740-014-0038-4
Reichert M, Weber B (2012) Enabling flexibility in process-aware information systems. Springer, Berlin. doi:10.1007/978-3-642-30409-5
Helal S, Mann W, El-Zabadani H, King J, Kaddoura Y, Jansen E (2005) The gator tech smart house: a programmable pervasive space. Computer 38:50–60. doi:10.1109/MC.2005.107
Lenz R, Reichert M (2007) IT support for healthcare processes—premises, challenges, perspectives. Data Knowl Eng 61:39–58. doi:10.1016/j.datak.2006.04.007
Di Ciccio C, Mecella M (2012) Mining constraints for artful processes. In: 15th International conference on business information systems (BIS). Springer, Berlin, pp 11–23. doi:10.1007/978-3-642-30359-3_2
Marrella A, Russo A, Mecella M (2012) Planlets: automatically recovering dynamic processes in YAWL. In: 20th International conference on cooperative information systems (CoopIS)—OTM conferences, vol 1. Springer, Berlin, pp 268–286. doi:10.1007/978-3-642-33606-5_17
van Beest NR, Kaldeli E, Bulanov P, Wortmann JC, Lazovik A (2014) Automated runtime repair of business processes. Inf Syst 39:45–79. doi:10.1016/j.is.2013.07.003
Goser K, Jurisch M, Acker H, Kreher U, Lauer M, Rinderle-Ma S, Reichert M, Dadam P (2007) Next-generation process management with ADEPT2. In: Demonstration program of the 5th international conference on business process management (BPM)
Marrella A, Mecella M (2011) Continuous planning for solving business process adaptivity. In: 12th International conference on business process modeling, development, and support (BPMDS). Springer, Berlin, pp 118–132. doi:10.1007/978-3-642-21759-3_9
Marrella A, Mecella M, Russo A (2011) Featuring automatic adaptivity through workflow enactment and planning. In: 7th International conference on collaborative computing: networking, applications and worksharing (CollaborateCom 2011), pp 372–381. doi:10.4108/icst.collaboratecom.2011.247096
Marrella A, Mecella M, Sardiña S (2014) Smartpm: An adaptive process management system through situation calculus, indigolog, and classical planning. In: Principles of knowledge representation and reasoning: proceedings of the fourteenth international conference, KR 2014, Vienna, Austria, July 20–24, 2014
Marrella A, Mecella M, Sardiña S (2017) Intelligent process adaptation in the SmartPM system. ACM TIST 8(2):25. doi:10.1145/2948071
Marrella A, Lesperance Y (2013) Synthesizing a library of process templates through partial-order planning algorithms. In: 14th International conference on business process modeling, development and support (BPMDS 2013). Springer, Berlin, pp 277–291. doi:10.1007/978-3-642-38484-4_20
Nau D, Ghallab M, Traverso P (2004) Automated planning: theory and practice. Morgan Kaufmann Publishers Inc., San Francisco
Weld D (1994) An introduction to least commitment planning. AI Mag 15(4):27
Mcdermott D, Ghallab M, Howe A, Knoblock C, Ram A, Veloso M, Weld D, Wilkins D (1998) PDDL—the planning domain definition language. In: Technical report, Yale Center for Computational Vision and Control
Catarci T, de Leoni M, Marrella A, Mecella M, Russo A, Steinmann R, Bortenschlager M (2011) WORKPAD: process management and geo-collaboration help disaster response. IJISCRAM 3(1):32–49
Catarci T, de Leoni M, Marrella A, Mecella M, Salvatore B, Vetere G, Dustdar S, Juszczyk L, Manzoor A, Truong HL (2008) Pervasive software environments for supporting disaster responses. IEEE Internet Comput 12(1):26–37
Humayoun SR, Catarci T, de Leoni M, Marrella A, Bortenschlager M, Steinmann R (2009) Designing mobile systems in highly dynamic scenarios: the WORKPAD methodology. Int J Knowl Technol Policy 22(1):25–43
Humayoun SR, Catarci T, de Leoni M, Marrella A, Mecella M, Bortenschlager M, Steinmann R (2009) The WORKPAD user interface and methodology: developing smart and effective mobile applications for emergency operators. In: HCI, vol 7, pp 343–352
Marrella A, Mecella M, Russo A (2011) Collaboration on-the-field: suggestions and beyond. In: 8th International conference on information systems for crisis response and management (ISCRAM 2011)
van der Aalst WM (2016) Process mining: data science in action. Springer, Berlin
Papazoglou MP, Heuvel WJ (2007) Service oriented architectures: approaches, technologies and research issues. VLDB J Int J Very Large Data Bases 16(3):389–415
Silver B (2009) Case management: addressing unique BPM requirements. In: Taming the unpredictable: real-world adaptive case management, pp 1–12
Hull R, Motahari Nezhad HR (2016) Rethinking BPM in a cognitive world: Transforming how we learn and perform business processes. In: Business process management: 14th international conference, BPM 2016, Rio de Janeiro, Brazil, September 18–22, 2016. Lecture notes in computer science, vol 9850. Springer, pp 3–19. doi:10.1007/978-3-319-45348-4_1
Geffner H, Bonet B (2013) A concise introduction to models and methods for automated planning. Synth Lect Artif Intell Mach Learn 8(1):1–141. doi:10.2200/S00513ED1V01Y201306AIM022
van der Aalst W, Pesic M, Schonenberg H (2009) Declarative workflows: balancing between flexibility and support. Comput Sci Res Dev 23(2):99–115
Meyer A, Smirnov S, Weske M (2011) Data in business processes. Universitätsverlag Potsdam, Potsdam
White SA, Miers D (2008) BPMN modeling and reference guide: understanding and using BPMN. Future Strategies Inc., Oakville
Godefroid P (1996) Partial-order methods for the verification of concurrent systems: an approach to the state-explosion problem. Springer, Berlin
Fox M, Long D (2003) PDDL2.1: an extension to PDDL for expressing temporal planning domains. J Artif Int Res 20(1):61–124
Reiter R (1987) On closed world data bases. In: Ginsberg M (ed) Readings in nonmonotonic reasoning. Morgan Kaufmann Publishers Inc., San Francisco
Russell S (2003) Artificial intelligence: a modern approach, 2nd edn. Pearson
Dijkman R, Dumas M, García-Bañuelos L (2009) Graph matching algorithms for business process model similarity search. In: Business process management. Springer, pp 48–63
Dijkman R, Dumas M, Van Dongen B, Käärik R, Mendling J (2011) Similarity of business process models: metrics and evaluation. Inf Syst 36(2):498–516
Dumas M, van der Aalst WM (2005) Process-aware information systems: bridging people and software through process technology. Wiley, Hoboken
Coles AJ, Coles A, Fox M, Long D (2010) Forward-chaining partial-order planning. In: ICAPS
Lu R, Sadiq S (2007) A survey of comparative business process modeling approaches. In: 10th International conference on business information systems (BIS). Springer, pp 82–94
Leymann F, Roller D (2000) Production workflow: concepts and techniques. Prentice Hall, Upper Saddle River
Cosa GmbH (2013) COSA BPM product description. http://www.cosa.nl/docs/EN/COSA%20BPM%205.7%20Productdescription_en_new_K.pdf
IBM Inc (2008) An introduction to WebSphere process server and WebSphere integration developer. ftp://ftp.software.ibm.com/software/integration/wps/library/WSW14021-USEN-01.pdf
Kinateder M (2009) SAP advanced workflow techniques. http://scn.sap.com/docs/DOC-3286
Tibco Software Inc (2009) TIBCO iProcess engine: architecture guide. https://docs.tibco.com/pub/iprocess-engine/11.1.0-september-2009/pdf/tib-iprocess-engine-architecture-guide.pdf
Wongwatkit C (2012) A development of order processing system: BPMN model. In: 14th International conference on advanced communication technology (ICACT), pp 653–658
ter Hofstede A, van der Aalst W, Adams M, Russell N (2009) Modern business process automation: YAWL and its support environment. Springer, Berlin. doi:10.1007/978-3-642-03121-2
Lanz A, Kreher U, Reichert M, Dadam P (2010) Enabling process support for advanced applications with the AristaFlow BPM Suite
Ayora C, Torres V, Weber B, Reichert M, Pelechano V (2015) VIVACE: a framework for the systematic evaluation of variability support in process-aware information systems. Inf Softw Technol 57:248–276. doi:10.1016/j.infsof.2014.05.009
La Rosa M, van der Aalst WM, Dumas M, Milani FP (2013) Business process variability modeling: a survey. ACM Comput Surv. doi:10.1145/3041957
La Rosa M, Dumas M, Ter Hofstede AH, Mendling J (2011) Configurable multi-perspective business process models. Inf Syst 36(2):313–340. doi:10.1016/j.is.2010.07.001
Reinhartz-Berger I, Soffer P, Sturm A (2010) Extending the adaptability of reference models. IEEE Trans Syst Man Cybern Part A Syst Hum 40(5):1045–1056. doi:10.1109/TSMCA.2010.2044408
Reijers HA, Mans R, van der Toorn RA (2009) Improved model management with aggregated business process models. Data Knowl Eng 68(2):221–243. doi:10.1016/j.datak.2008.09.004
Gröner G, Bosković M, Silva Parreiras F, Gasević D (2013) Modeling and validation of business process families. Inf Syst 38(5):709–726. doi:10.1016/j.is.2012.11.010
Hallerbach A, Bauer T, Reichert M (2010) Capturing variability in business process models: the Provop approach. J Softw Evol Process 22(6–7):519–546. doi:10.1002/smr.491
Brockmans S, Ehrig M, Koschmider A, Oberweis A, Studer R (2006) Semantic alignment of business processes. ICEIS 3:191–196
Thomas O, Fellmann M (2007) Semantic business process management: ontology-based process modeling using event-driven process chains. IBIS 4:29–44
Pichler P, Weber B, Zugal S, Pinggera J, Mendling J, Reijers HA (2012) Imperative versus declarative process modeling languages: an empirical investigation. In: Business process management workshops. Springer, pp 383–394
Grambow G, Oberhauser R, Reichert M (2012) Contextual generation of declarative workflows and their application to software engineering processes. Int J Adv Intell Syst 4(3–4):158–179
Pesic M, Schonenberg H, van der Aalst WM (2007) Declare: full support for loosely-structured processes. In: 11th IEEE International conference on enterprise distributed object computing, EDOC 2007. IEEE, pp 287–287
Weber B, Pinggera J, Zugal S, Wild W (2011) Alaska simulator toolset for conducting controlled experiments on process flexibility. In: CAiSE Forum 2010, LNBIP 72. Springer, Berlin, pp 205–221
Vardi MY (1996) An automata-theoretic approach to linear temporal logic. In: Logics for concurrency. Springer, pp 238–266
van der Aalst WM, Weske M, Grünbauer D (2005) Case handling: a new paradigm for business process support. Data Knowl Eng 53(2):129–162. doi:10.1016/j.datak.2004.07.003
Hull R (2008) Artifact-centric business process models: brief survey of research results and challenges. In: On the move to meaningful internet systems: OTM. Lecture notes in computer science, vol 5332. Springer, Berlin, pp 1152–1163
Künzle V, Weber B, Reichert M (2011) Object-aware business processes: fundamental requirements and their support in existing approaches. Int J Inf Syst Model Des (IJISMD) 2(2): 19–46. http://dbis.eprints.uni-ulm.de/721/
Bagheri Hariri B, Calvanese D, de Giacomo G, Deutsch A, Montali M (2013) Verification of relational data-centric dynamic systems with external services. In: Proceedings of the 32nd symposium on principles of database systems, PODS ’13. ACM, New York, pp 163–174. doi:10.1145/2463664.2465221
OMG (2014) Case management model and notation, version 1.0. http://www.omg.org/spec/CMMN/1.0
Zunino A, Campo M (2012) A survey of approaches to web service discovery in service-oriented architectures. Innov Database Des Web Appl Inf Syst Manag. doi:10.4018/jdm.2011010105
Myers KL, Berry PM (1998) Workflow management systems: an AI perspective. In: AIC-SRI report
Currie K, Tate A (1991) O-Plan: the open planning architecture. Artif Intell 52(1):49–86 10.1016/0004-3702(91)90024-E
Beckstein C, Klausner J (1999) A meta level architecture for workflow management. J Integr Des Process Sci 3(1):15–26
Jarvis P, Moore J, JS, Macintosh A, du Mont AC, Chung P (1999) Exploiting AI technologies to realise adaptive workflow systems. In: Proceedings of the AAAI workshop on agent-based systems in the business context
R-Moreno MD, Kearney P (2002) Integrating AI planning techniques with workflow management system. Knowl Based Syst 15(5–6):285–291. doi:10.1016/S0950-7051(01)00167-8
De Giacomo G, Maggi FM, Marrella A, Patrizi F (2017) On the disruptive effectiveness of automated planning for LTLf-based trace alignment. In: Thirty-first AAAI conference on artificial intelligence, pp 3555–3561. http://aaai.org/ocs/index.php/AAAI/AAAI17/paper/view/14652
De Giacomo G, Maggi FM, Marrella A, Sardiña S (2016) Computing trace alignment against declarative process models through planning. In: Twenty-sixth international conference on automated planning and scheduling (ICAPS), pp 367–375. http://www.aaai.org/ocs/index.php/ICAPS/ICAPS16/paper/view/13094
Di Francescomarino C, Ghidini C, Tessaris S, Sandoval IV (2015) Completing workflow traces using action languages. Springer, Berlin. doi:10.1007/978-3-319-19069-3_20
de Leoni M, Marrella A (2017) Aligning real process executions and prescriptive process models through automated planning. Expert Syst Appl 82:162–183. doi:10.1016/j.eswa.2017.03.047
Ferreira H, Ferreira D (2006) An integrated life cycle for workflow management based on learning and planning. Int J Coop Inf Syst 15:485–505
Henneberger M, Heinrich B, Lautenbacher F, Bauer B (2008) Semantic-based planning of process models. In: Multikonferenz Wirtschaftsinformatik
R-Moreno MD, Borrajo D, Cesta A, Oddi A (2007) Integrating planning and scheduling in workflow domains. Exp Syst Appl Int J 33(2):389–406
Schuschel H, Weske M (2004) Triggering replanning in an integrated workflow planning and enactment system. In: ADBIS
Aler R, Borrajo D, Camacho D (2002) A knowledge-based approach for business process reengineering, SHAMASH. Know Based Syst 15(8):473–483
Bechhofer S, Van Harmelen F, Hendler J, Horrocks I, McGuinness DL, Patel-Schneider PF (2004) Owl web ontology language reference. W3C Recommendation 10 February 2004
Author information
Authors and Affiliations
Corresponding author
Appendix A: Translation algorithms
Appendix A: Translation algorithms
This appendix is focused primarily on presenting technical details concerning the translation algorithms introduced in Sect. 5.1. Specifically, in the following, we describe:
-
The module PC2PR used for translating a domain theory D and a process case C into a planning domain PD and a planning problem PR;
-
The module POP2PT used for converting a partially ordered plan P into a process template PT.
1.1 Appendix A.1: Representing domain theories and process cases in PDDL
To obtain a process template that handles a case \(\textsf {C}\), a corresponding PDDL planning problem definition PR has to be specified. This can be done by mapping \(init_\textsf {C}\) to \(init_{\textsf {PR}}\) and \(goal_\textsf {C}\) to \(goal_{\textsf {PR}}\). The planning domain PD is built starting from the definition of ground atomic terms and data types as shown in Sect. 4, and by making explicit the actions associated with each annotated task \(t \in \textsf {T}\), together with their preconditions, effects and input parameters. Basically, the planning domain describes how predicates and functions change after an action’s execution, and specifies the contextual properties constraining the execution of tasks stored in the tasks repository.
Our framework provides a software module named PC2PR in charge of performing such a translation, which makes use of PDDL version 2.1 (cf. [33]). In the following, we discuss how the domain theory \(\textsf {D}\) can be translated into a PDDL file representing the planning domain PD:
-
The name and the domain of a data type correspond to an object type in the planning domain;
-
Boolean terms have a straightforward representation as relational predicates (templates for logical facts) in the planning domain;
-
Integer terms correspond to PDDL numeric fluents and are used for modeling non-boolean resources (e.g., the battery charge level of a robot) in the planning domain;
-
Functional terms do not have a direct representation in PDDL 2.1, but may be represented as relational predicates. Since a functional term is a function \(f:Object^n \rightarrow Object\) that maps tuples of objects with domain types \(D^n\) to objects with co-domain type U, it may be encoded in the planning domain as a relational predicate P of type \((D^n,U)\).
For example, let us consider the running example presented in Sect. 2 and its formalization with the domain theory \(\textsf {D}\) as shown in Sect. 4. The module PC2PR converts \(\textsf {D}\) into a PDDL planning domain \(\textsf {PD}\) defined as follows:
The :types field is used to declare the relevant types of objects interacting in our contextual scenario. Specifically, three new types have been declared: participant, location and capability. The :predicates field consists of a list of declarations of relational predicates, reflecting the properties of the contextual scenario. Notice that in PDDL, variables are distinguished by an initial “?” character, for example ?prt and ?loc are two variables. The dash “−” is used to assign types to the variables. In the example above, ?prt is defined to be of type participant and ?loc is defined to be of type location. For example, the predicate at holds true if a participant ?prt is situated in location ?loc. The predicate provides is used for declaring if a capability ?cap is provided by the participant ?prt.
A given task, together with the associated preconditions, effects and input parameters, is translated into a PDDL action schema. An action schema describes how the relational predicates and/or numeric fluents change after the action’s execution. For example, given the following XML specification of the task \(Go \in \textsf {T}\) (with respect to the language provided in Sect. 4):
The module PC2PR produces the following PDDL representation:
This task can be executed only if the actor denoted by ?prt is not currently located in the target location ?to (and is located in her/his starting location ?from) and is capable of moving into the area. The desired effect turns the value of the predicate (at ?prt ?to) to true and of (at ?prt ?loc) to false, where ?loc is any location different from the destination.
The planning problem PR can be seen as an instance of the planning domain \(\textsf {PD}\). It first declares the constant symbols in the initial state of the planning problem, then defines the initial state \(init_\textsf {PR}\) and finally specifies a goal condition \(goal_\textsf {PR}\) for the planning problem. Specifically, the module PC2PR converts the case \(\textsf {C}\) into a PDDL file representing the planning problem PR as follows:
-
For each data type defined in the planning domain, all the possible object instances of that particular data type are explicitly instantiated as constant symbols in the initial state of the planning problem (e.g., the fact that act1, act2, act3, act4, rb1 and rb2 are Participants, and that loc00, ..., loc33 are Locations);
-
A representation of the initial state of the planning problem is generated; basically, the initial state of the planning problem \(init_{\textsf {PR}}\) is composed of a conjunction of relational predicates (representing functional and boolean terms in \(init_{\textsf {C}}\)) and the initial value of each numeric fluent (e.g., the value of the battery charge level for each robot), corresponding to the values of integer terms in \(init_{\textsf {C}}\);
-
The goal condition of the planning problem is a logical expression over facts, which partially specifies the state to be reached after the execution of the process template; it is a condition represented as a conjunction of relational predicates and numeric fluent atoms representing the specific boolean, functional and integer terms we want to make true through the correct execution of the process template (as defined in \(goal_\textsf {C}\)).
Notice that the description of the planning problem \(\textsf {PR}\) derived from the case \(\textsf {C}\) of our running example roughly corresponds to the contextual information available on the dynamic environment described in Fig. 1b:
1.2 Appendix A.2: Translating a partially ordered plan P into a process template PT
Once the plan \(\textsf {P}\) has been synthesized, it needs to be translated in a process template PT. As explained in Sect. 3.2, a solution plan is a three-tuple \(\textsf {P} = (A,O,CL)\), where A is the set of actions appearing in the plan, O and CL are, respectively, the set of ordering constraints and of causal links over A. Since the set of actions A composing the plan and the set of ordering constraints O over A must be explicitly expressed as nodes and transitions of the template’s control flow (as well as their intrinsic ordering), we have implemented a module named POP2PT that takes as input a solution plan \(\textsf {P}\) and converts it into a process template \(\textsf {PT}\).
We provide two algorithms—named, respectively, “\({Find}_{\texttt {PREC/NEXT}}\)” (cf. Algorithm 1) and “\({Build}_\textsf {PT}\)” (cf. Algorithm 2)—to be executed sequentially for automatically computing a process template \(\textsf {PT}\). For each planning action \(a_i \in A\), Algorithm 1 is in charge of detecting which actions “directly” precede and follow \(a_i\) in the plan. This information will be crucial for instantiating the transitions between the flow objects of the process template. However, this knowledge is not directly available in O. In fact, an ordering constraint \(a \prec b\) between two actions \(a \in A\) and \(b \in A\) indicates that a must be executed sometime before action b, but not necessarily immediately before. Algorithm 1, for each action \(a_i \in A\), builds two sets containing the actions that immediately precede \(a_i\) (the set \(PREC(a_i)\)) and immediately follow \(a_i\) (the set \(NEXT(a_i)\)).
Definition 10
Given an ordering constraint \((a \prec b) \in O\) between two actions \(a \in A\) and \(b \in A\), we say that a directly precedes b and b directly follows a iff no further action \(c \in A\) exists such that \(a \prec c\) and \(c \prec b\).
Basically, for each ordering constraint \(o_k = (a_i \prec a_j) \in O \),Footnote 4 the algorithm \(Find_{PREC/NEXT}\) works as follows:
-
If there does not exist any planning action \(a_h \ne a_j\) that precedes \(a_i\)—i.e., such that \((a_h \prec a_i) \in O \)—then the only predecessor of \(a_i\) is the dummy start action \(a_0\). Therefore, \(a_0\) is added to the set of predecessors of \(a_i\) (i.e., \(PREC(a_i) = PREC(a_i) \cup \{a_0\}\)) and \(a_i\) is added to the set of successors of \(a_0\) (i.e., \(NEXT(a_0) = NEXT(a_0) \cup \{a_i\}\)).
-
If there does not exist any planning action \(a_h \ne a_i\) that follows \(a_j\)—i.e., such that \((a_j \prec {a_h}) \in O \)—then the only successor of \(a_j\) is the dummy end action \(a_\infty \). Therefore, \(a_j\) is added to the set of predecessors of \(a_\infty \) (i.e., \(PREC(a_\infty ) = PREC(a_\infty ) \cup \{a_j\}\)) and \(a_\infty \) is added to the set of successors of \(a_j\) (i.e., \(NEXT(a_j) = NEXT(a_j) \cup \{a_\infty \}\)).
-
If there does not exist any planning action \(a_h \ne a_i\) that precedes \(a_j\)—i.e., such that \((a_h \prec a_j) \in O \)—then \(a_i\) directly precedes \(a_j\) (and \(a_j\) directly follows \(a_i\)), meaning that \(PREC(a_j) = PREC(a_j) \cup \{a_i\}\) and \(NEXT(a_i) = NEXT(a_i) \cup \{a_j\}\).
-
If there exists a planning action \(a_h \ne a_i\) that precedes \(a_j\)—i.e., such that \((a_h \prec a_j) \in O \)—but there does not exist any finite sequence of actions \(a_1, a_2, \ldots , a_n\) such that \((a_i \prec \ldots \prec a_1 \prec a_2 \prec \ldots \prec a_n \prec \ldots \prec a_h)\), then \(a_i\) directly precedes \(a_j\) (and \(a_j\) directly follows \(a_i\)), meaning that \(PREC(a_j) = PREC(a_j) \cup \{a_i\}\) and \(NEXT(a_i) = NEXT(a_i) \cup \{a_j\}\).
Starting from the two sets just computed, the algorithm \(\texttt {Build}_\textsf {PT}\) is in charge of building the process template \(\textsf {PT}\), by instantiating the tasks, gateways, events and transitions between them. For every action \(a \in A\), a corresponding task instance \(t_a \in T\) (basically, a task instance is an occurrence of a specific task \(t \in \textsf {T}\)) is generated (cf. the function taskify in Algorithm 2). Transitions between tasks depend on the number of predecessors/successors contained in PREC(a)/NEXT(a). In particular, if an action \(b \in A\) is such that \(b \in PREC(a)\) or \(b \in NEXT(a)\), it is clear that there must be some kind of transition between \(t_a\) and \(t_b\) in \(\textsf {PT}\):
-
If b is the only successor of a, and a is the only predecessor of b (cf. Fig. 9a), then \((t_a \rightarrow t_b) \in L_T\) (cf. Fig. 9b);
-
If a is the only predecessor of b, but b is not the only successor of a (cf. Fig. 9c), then a parallel split \(w_\mathrm{PS} \in W_\mathrm{PS}\) is needed between \(t_a\) and \(t_b\). Hence \((t_a \rightarrow w_\mathrm{PS}) \in L_T\) and \((w_\mathrm{PS} \rightarrow t_b) \in L_{W_\mathrm{PS}}\) (cf. Fig. 9d);
-
If b is the only successor of a, but a is not the only predecessor of b (cf. Fig. 9e), then a parallel join \(w_\mathrm{PJ} \in W_\mathrm{PJ}\) is needed between \(t_a\) and \(t_b\). Hence \((t_a \rightarrow w_\mathrm{PJ}) \in L_T\) and \((w_\mathrm{PJ} \rightarrow t_b) \in L_{W_\mathrm{PJ}}\) (cf. Fig. 9f);
-
If \(t_a\) is not the only predecessor of \(t_b\) and \(t_b\) is not the only successor of \(t_a\) (cf. Fig. 9g), then a parallel split \(w_\mathrm{PS} \in W_\mathrm{PS}\) and a parallel join \(w_\mathrm{PJ} \in W_\mathrm{PJ}\) are needed between \(t_a\) and \(t_b\). Hence \((t_a \rightarrow w_\mathrm{PS}) \in L_T\), \((w_\mathrm{PS} \rightarrow w_\mathrm{PJ}) \in L_{W_\mathrm{PS}}\) and \((w_\mathrm{PJ} \rightarrow t_b) \in L_{W_\mathrm{PJ}}\) (cf. Fig. 9h).
Finally, if an action \(a \in A\) has no predecessors/successors (i.e., the set PREC(a)/NEXT(a) is empty), this means that \(t_a\) must be connected with the start event /end event \(\odot \).
A stand-alone software implementation of the module POP2PT is available for testing at: https://goo.gl/z8uJ8S.
Rights and permissions
About this article
Cite this article
Marrella, A., Lespérance, Y. A planning approach to the automated synthesis of template-based process models. SOCA 11, 367–392 (2017). https://doi.org/10.1007/s11761-017-0215-z
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11761-017-0215-z