Skip to main content
Log in

A planning approach to the automated synthesis of template-based process models

  • Special Issue Paper
  • Published:
Service Oriented Computing and Applications Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

Notes

  1. http://www.diag.uniroma1.it/~workpad/.

  2. 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.

  3. http://www.jgraph.com/.

  4. 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

  1. van der Aalst WM (2013) Business process management: a comprehensive survey. ISRN Softw Eng. doi:10.1155/2013/507984

    Google Scholar 

  2. 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

    Book  Google Scholar 

  3. 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

    Article  Google Scholar 

  4. Reichert M, Weber B (2012) Enabling flexibility in process-aware information systems. Springer, Berlin. doi:10.1007/978-3-642-30409-5

    Book  MATH  Google Scholar 

  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

    Article  Google Scholar 

  6. 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

    Article  Google Scholar 

  7. 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

  8. 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

  9. 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

    Article  Google Scholar 

  10. 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)

  11. 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

  12. 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

  13. 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

  14. Marrella A, Mecella M, Sardiña S (2017) Intelligent process adaptation in the SmartPM system. ACM TIST 8(2):25. doi:10.1145/2948071

    Google Scholar 

  15. 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

  16. Nau D, Ghallab M, Traverso P (2004) Automated planning: theory and practice. Morgan Kaufmann Publishers Inc., San Francisco

    MATH  Google Scholar 

  17. Weld D (1994) An introduction to least commitment planning. AI Mag 15(4):27

    Google Scholar 

  18. 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

  19. 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

  20. 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

    Article  Google Scholar 

  21. 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

  22. 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

  23. 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)

  24. van der Aalst WM (2016) Process mining: data science in action. Springer, Berlin

    Book  Google Scholar 

  25. 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

    Article  Google Scholar 

  26. Silver B (2009) Case management: addressing unique BPM requirements. In: Taming the unpredictable: real-world adaptive case management, pp 1–12

  27. 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

  28. 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

    MATH  Google Scholar 

  29. van der Aalst W, Pesic M, Schonenberg H (2009) Declarative workflows: balancing between flexibility and support. Comput Sci Res Dev 23(2):99–115

    Article  Google Scholar 

  30. Meyer A, Smirnov S, Weske M (2011) Data in business processes. Universitätsverlag Potsdam, Potsdam

    Google Scholar 

  31. White SA, Miers D (2008) BPMN modeling and reference guide: understanding and using BPMN. Future Strategies Inc., Oakville

    Google Scholar 

  32. Godefroid P (1996) Partial-order methods for the verification of concurrent systems: an approach to the state-explosion problem. Springer, Berlin

    Book  MATH  Google Scholar 

  33. Fox M, Long D (2003) PDDL2.1: an extension to PDDL for expressing temporal planning domains. J Artif Int Res 20(1):61–124

    MATH  Google Scholar 

  34. Reiter R (1987) On closed world data bases. In: Ginsberg M (ed) Readings in nonmonotonic reasoning. Morgan Kaufmann Publishers Inc., San Francisco

    Google Scholar 

  35. Russell S (2003) Artificial intelligence: a modern approach, 2nd edn. Pearson

  36. 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

  37. 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

    Article  Google Scholar 

  38. Dumas M, van der Aalst WM (2005) Process-aware information systems: bridging people and software through process technology. Wiley, Hoboken

    Book  Google Scholar 

  39. Coles AJ, Coles A, Fox M, Long D (2010) Forward-chaining partial-order planning. In: ICAPS

  40. 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

  41. Leymann F, Roller D (2000) Production workflow: concepts and techniques. Prentice Hall, Upper Saddle River

    MATH  Google Scholar 

  42. Cosa GmbH (2013) COSA BPM product description. http://www.cosa.nl/docs/EN/COSA%20BPM%205.7%20Productdescription_en_new_K.pdf

  43. 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

  44. Kinateder M (2009) SAP advanced workflow techniques. http://scn.sap.com/docs/DOC-3286

  45. 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

  46. Wongwatkit C (2012) A development of order processing system: BPMN model. In: 14th International conference on advanced communication technology (ICACT), pp 653–658

  47. 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

    Google Scholar 

  48. Lanz A, Kreher U, Reichert M, Dadam P (2010) Enabling process support for advanced applications with the AristaFlow BPM Suite

  49. 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

    Article  Google Scholar 

  50. 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

    Google Scholar 

  51. 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

    Article  Google Scholar 

  52. 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

    Article  Google Scholar 

  53. 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

    Article  Google Scholar 

  54. 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

    Article  Google Scholar 

  55. 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

    Google Scholar 

  56. Brockmans S, Ehrig M, Koschmider A, Oberweis A, Studer R (2006) Semantic alignment of business processes. ICEIS 3:191–196

    Google Scholar 

  57. Thomas O, Fellmann M (2007) Semantic business process management: ontology-based process modeling using event-driven process chains. IBIS 4:29–44

    Google Scholar 

  58. 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

  59. 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

    Google Scholar 

  60. 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

  61. 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

  62. Vardi MY (1996) An automata-theoretic approach to linear temporal logic. In: Logics for concurrency. Springer, pp 238–266

  63. 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

    Article  Google Scholar 

  64. 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

  65. 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/

  66. 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

  67. OMG (2014) Case management model and notation, version 1.0. http://www.omg.org/spec/CMMN/1.0

  68. 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

    Google Scholar 

  69. Myers KL, Berry PM (1998) Workflow management systems: an AI perspective. In: AIC-SRI report

  70. Currie K, Tate A (1991) O-Plan: the open planning architecture. Artif Intell 52(1):49–86 10.1016/0004-3702(91)90024-E

    Article  Google Scholar 

  71. Beckstein C, Klausner J (1999) A meta level architecture for workflow management. J Integr Des Process Sci 3(1):15–26

  72. 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

  73. 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

    Article  Google Scholar 

  74. 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

  75. 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

  76. 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

    Book  Google Scholar 

  77. 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

    Article  Google Scholar 

  78. 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

    Article  Google Scholar 

  79. Henneberger M, Heinrich B, Lautenbacher F, Bauer B (2008) Semantic-based planning of process models. In: Multikonferenz Wirtschaftsinformatik

  80. 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

    Article  Google Scholar 

  81. Schuschel H, Weske M (2004) Triggering replanning in an integrated workflow planning and enactment system. In: ADBIS

  82. Aler R, Borrajo D, Camacho D (2002) A knowledge-based approach for business process reengineering, SHAMASH. Know Based Syst 15(8):473–483

    Article  Google Scholar 

  83. 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Andrea Marrella.

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:

figure b

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):

figure c

The module PC2PR produces the following PDDL representation:

figure d

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:

figure e

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)\)).

figure f
figure g

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\}\).

Fig. 9
figure 9

Overview of the working of the algorithm \(\texttt {Find}_{\texttt {PREC/NEXT}}\)

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11761-017-0215-z

Keywords

Navigation