Abstract
We explore the complexity of reachability and run-time refinement under safety and liveness constraints in event-based process models. Our study is framed in the DCR\(^\star \) process language, which supports modular specification through a compositional operational semantics. DCR\(^\star \) encompasses the “Dynamic Condition Response (DCR) graphs” declarative process model for analysis, execution and safe run-time refinement of process-aware information systems; including replication of sub-processes. We prove that event-reachability and refinement are np-hard for DCR\(^\star \) processes without replication, and that these finite state processes recognise exactly the languages that are the union of a regular and an \(\omega \)-regular language. Moreover, we prove that event-reachability and refinement are undecidable in general for DCR\(^\star \) processes with replication and local events, and we provide a tractable approximation for refinement. A prototype implementation of the DCR\(^\star \) language is available at http://dcr.tools/acta16.
Similar content being viewed by others
Notes
We deviate from the implemented solution when it makes our examples clearer. In particular, many reasonable constraints—such as “the deadline can only occur once the round has begin”—have been left out in order to keep the example small.
References
Anderson, G., Rathke, J.: Dynamic software update for message passing programs. In: Jhala, R., Igarashi, A. (eds.) APLAS, Springer, Lecture Notes in Computer Science, vol. 7705, pp. 207–222 (2012)
Arbach, Y., Karcher, D., Peters, K., Nestmann, U.: Dynamic causality in event structures. In: Graf, S., Viswanathan, M. (eds.) Formal Techniques for Distributed Objects, Components, and Systems: 35th IFIP WG 6.1 International Conference, FORTE 2015, Held as Part of the 10th International Federated Conference on Distributed Computing Techniques, DisCoTec 2015, Grenoble, France, June 2–4, 2015, Proceedings, Springer International Publishing, Cham, pp. 83–97. doi:10.1007/978-3-319-19195-9_6 (2015)
Baldan, P., Corradini, A., Montanari, U.: Contextual Petri nets, asymmetric event structures, and processes. Inf. Comput. 171, 149 (2001). doi:10.1006/inco.2001.3060
Barthe, G., Pardo, A., Schneider, G. (eds.): Software Engineering and Formal Methods—9th International Conference, SEFM 2011, Montevideo, Uruguay, November 14–18, 2011. Proceedings, LNCS, vol. 7041, Springer (2011)
Bravetti, M., Di Giusto, C., Pérez, J.A., Zavattaro, G.: Steps on the road to component evolvability. In: Proceedings of the 7th International Conference on Formal Aspects of Component Software, FACS’10, pp. 295–299. doi:10.1007/978-3-642-27269-1_19 (2012a)
Bravetti, M., Giusto, C.D., Pérez, J.A., Zavattaro, G.: Adaptable processes. Log. Methods Comput. Sci. 8(4) (2012b)
Carbone, M., Hildebrandt, T.T., Perrone, G., Wasowski, A.: Refinement for transition systems with responses. FIT, EPTCS 87, 48–55 (2012)
Debois, S., Hildebrandt, T., Marquard, M., Slaats, T.: A case for declarative process modelling: agile development of a grant application system. In: EDOCW/AdaptiveCM ’14, IEEE, pp. 126–133 (2014a). doi:10.1109/EDOCW.2014.27
Debois, S., Hildebrandt, T.T., Slaats, T., Yoshida, N.: Type checking liveness for collaborative processes with bounded and unbounded recursion. FORTE, Springer, Lecture Notes in Computer Science 8461, 1–16 (2014c)
Debois, S., Hildebrandt, T.T., Slaats, T.: Hierarchical declarative modelling with refinement and sub-processes. In: Business Process Management—12th International Conference, BPM 2014, Haifa, Israel, September 7–11, 2014. Proceedings, Springer, Lecture Notes in Computer Science, vol. 8659, pp 18–33 (2014b). doi:10.1007/978-3-319-10172-9
Debois, S., Hildebrandt, T., Slaats, T.: Safety, liveness and run-time refinement for modular process-aware information systems with dynamic sub processes. In: FM 2015, Springer, no. 9109 in LNCS, pp. 143–160. doi:10.1007/978-3-319-19249-9_10 (2015)
Eshuis, R., Debois, S., Slaats, T., Hildebrandt, T.T.: Deriving consistent GSM schemas from DCR graphs. In: Sheng, Q.Z., Stroulia, E., Tata, S., Bhiri, S. (eds.) Service-Oriented Computing—14th International Conference, ICSOC 2016, Banff, AB, Canada, October 10–13, 2016, Proceedings, Springer, Lecture Notes in Computer Science, vol. 9936, pp. 467–482. doi:10.1007/978-3-319-46295-0_29 (2016)
Esparza, J., Melzer, S.: Model checking LTL using constraint programming. In: Azma, P., Balbo, G. (eds.) Application and Theory of Petri Nets 1997. Lecture Notes in Computer Science, vol. 1248, pp. 1–20. Springer, Berlin (1997)
Fecher, H., Majster-Cederbaum, M.: Event structures for arbitrary disruption. Fundam. Inf. 68(1–2), 103–130 (2005)
Hildebrandt, T.T., Marquard, M., Mukkamala, R.R., Slaats, T.: Dynamic condition response graphs for trustworthy adaptive case management. In: OTM Workshops, Springer, LNCS, vol. 8186, pp. 166–171 (2013a)
Hildebrandt, T.T., Mukkamala, R.R., Slaats, T.: Nested dynamic condition response graphs. In: FSEN, Springer, LNCS, vol. 7141, pp. 343–350 (2011)
Hildebrandt, T.T., Mukkamala, R.R.: Declarative event-based workflow as distributed dynamic condition response graphs. PLACES, EPTCS 69, 59–73 (2010)
Hildebrandt, T.T., Mukkamala, R.R., Slaats, T., Zanitti, F.: Contracts for cross-organizational workflows as timed dynamic condition response graphs. J. Log. Algebr. Program. 82(5–7), 164–185 (2013b)
Hoogers, P., Kleijn, H., Thiagarajan, P.: An event structure semantics for general Petri nets. Theor. Comput. Sci. 153(12), 129–170 (1996)
Hull, R., Damaggio, E., Fournier, F., Gupta, M., Heath, F.T., Hobson, S., Linehan, M.H., Maradugu, S., Nigam, A., Sukaviriya, P., Vaculín, R.: Introducing the guard-stage-milestone approach for specifying business entity lifecycles. In: WS-FM, Springer, LNCS, vol. 6551, pp. 1–24 (2010)
Janneck, J.W., Esser, R.: Higher-order Petri net modelling: techniques and applications. In: Proceedings of the Conference on Application and Theory of Petri Nets: Formal Methods in Software Engineering and Defence Systems, CRPIT ’02, pp. 17–25 (2002)
Katoen, J.P.: Quantitative and qualitative extensions of event structures. Ph.D. thesis, University of Twente, Enschede (1996)
Lanese, I., Lienhardt, M., Mezzina, C.A., Schmitt, A., Stefani, J.: Concurrent flexible reversibility. In: Felleisen, M., Gardner, P. (eds.) Programming Languages and Systems—22nd European Symposium on Programming, ESOP 2013, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2013, Rome, Italy, March 16–24, 2013. Proceedings, Springer, Lecture Notes in Computer Science, vol. 7792, pp. 370–390 (2013). doi:10.1007/978-3-642-37036-6_21
Langerak, R., Brinksma, E., Katoen, J.P.: Causal ambiguity and partial orders in event structures. In: CONCUR ’97, LNCS, vol. 1243, Springer, pp. 317–331 (1997). doi:10.1007/3-540-63141-0_22
Langerak, R.: Transformations and Semantics for LOTOS. Universiteit Twente, Enschede (1992)
Latvala, T., Mkel, M.: LTL model checking for modular Petri nets. In: Applications and Theory of Petri Nets 2004, LNCS, vol. 3099, Springer, pp. 298–311 (2004)
Marquard, M., Shahzad, M., Slaats, T.: Web-based modelling and collaborative simulation of declarative processes. In: Business Process Management—13th International Conference, BPM 2015, Innsbruck, Austria, August 31–September 3, 2015, Proceedings, Springer, Lecture Notes in Computer Science, vol. 9253, pp. 209–225 (2015). doi:10.1007/978-3-319-23063-4_15
Minsky, M.L.: Computation: Finite and Infinite Machines. Prentice-Hall, Upper Saddle River (1967)
Montali, M.: Specification and Verification of Declarative Open Interaction Models—A Logic-Based Approach. Lecture Notes in Business Information Processing. Springer, Berlin (2010)
Mukkamala, R.R., Hildebrandt, T., Slaats, T.: Towards trustworthy adaptive case management with dynamic condition response graphs. In: EDOC, IEEE, pp. 127–136 (2013)
Mukkamala, R.R.: A formal model for declarative workflows: dynamic condition response graphs. Ph.D. thesis, IT University of Copenhagen (2012)
Object Management Group BPMN Technical Committee.: Business Process Model and Notation, version 2.0. http://www.omg.org/spec/BPMN/2.0.2/PDF (2013)
Object Management Group CMMN Technical Committee.: Case Management Model and Notation, version 1.1. http://www.omg.org/spec/CMMN/1.1/PDF (2016)
Park, D.: Concurrency and automata on infinite sequences. In: Proceedings of the 5th GI-Conference on Theoretical Computer Science, Springer-Verlag, London, UK, UK, pp. 167–183 (1981). http://dl.acm.org/citation.cfm?id=647210.720030
Pinna, G., Poigné, A.: On the nature of events: another perspective in concurrency. Theor. Comput. Sci. 138(2), 425–454 (1995). doi:10.1016/0304-3975(94)00174-H. meeting on the mathematical foundation of programing semantics
Preda, M.D., Gabbrielli, M., Giallorenzo, S., Lanese, I., Mauro, J.: Developing correct, distributed, adaptive software. Sci. Comput. Program. 97, 41–46 (2015). doi:10.1016/j.scico.2013.11.019
Reichert, M., Weber, B.: Enabling Flexibility in Process-Aware Information Systems—Challenges, Methods, Technologies. Springer, Heidelberg (2012)
Rohloff, K., Loyall, J., Pal, P., Schantz, R.: High-assurance distributed, adaptive software for dynamic systems. In: 10th IEEE High Assurance Systems Engineering Symposium (HASE ’07), pp. 385–386 (2007). doi:10.1109/HASE.2007.17
Sibertin-Blanc, C., Mauran, P., Padiou, G.: Safe adaptation of component coordination. In: Proceedings of the Third International Workshop on Coordination and Adaption Techniques for Software Entities, vol. 189, pp. 69–85 (2007)
Slaats, T., Mukkamala, R.R., Hildebrandt, T.T., Marquard, M.: Exformatics declarative case management workflows as DCR graphs. In: BPM, Springer, LNCS, vol. 8094, pp. 339–354 (2013)
Slaats, T.: Flexible process notations for cross-organizational case management systems. Ph.D. thesis, IT University of Copenhagen (2015)
van der Aalst, W.M.P.: The application of Petri nets to workflow management. J. Circuits Syst. Comput. 8(1), 21–66 (1998)
van Glabbeek, R., Plotkin, G.: Event structures for resolvable conflict. In: Fiala, J., Koubek, V., Kratochvíl, J. (eds.) Mathematical Foundations of Computer Science 2004: 29th International Symposium, MFCS 2004, Prague, Czech Republic, August 22–27, 2004. Proceedings, Springer Berlin Heidelberg, Berlin, Heidelberg, pp. 550–561 (2004). doi:10.1007/978-3-540-28629-5_42
van Glabbeek, R., Vaandrager, F.: Bundle event structures and CCSP. In: CONCUR 2003—Concurrency Theory, LNCS, vol. 2761, Springer, pp. 57–71 (2003)
van der Aalst, W.M.P., Pesic, M.: DecSerFlow: towards a truly declarative service flow language. In: WS-FM 2006, Springer, LNCS, vol. 4184, pp. 1–23 (2006)
van der Aalst, W.M.P., Pesic, M., Schonenberg, H., Westergaard, M., Maggi, F.M.: Declare. Webpage. http://www.win.tue.nl/declare/ (2010)
van der Aalst, W.M.P., ter Hofstede, A.H.M., Weske, M.: Business process management: a survey. In: van der Aalst, W.M.P., ter Hofstede, A.H.M., Weske, M. (eds.) Business Process Management, International Conference, BPM 2003, Eindhoven, The Netherlands, June 26–27, 2003, Proceedings, Springer, Lecture Notes in Computer Science, vol. 2678, pp. 1–12 (2003)
Winskel, G.: Event structures. In: Advances in Petri Nets. Springer, LNCS, vol. 255, pp. 325–392 (1986)
Winskel, G.: Events in computation. Ph.D. thesis, University of Edinburgh (1980)
Zugal, S., Soffer, P., Pinggera, J., Weber, B.: Expressiveness and understandability considerations of hierarchy in declarative business process models. In: BMMDS/EMMSAD, Springer, Lecture Notes in Business Information Processing, vol. 113, pp. 167–181 (2012)
Author information
Authors and Affiliations
Corresponding author
Additional information
Supported by the Velux foundation (Grant 33295), the Danish Council for Independent Research (Grant DFF-6111-00337) and Innovation Fund Denmark.
Appendix: Proof of Proposition 6
Appendix: Proof of Proposition 6
We recap the original graph-based formalisation of DCR graph [10, 15, 17, 31, 41].
Definition 44
(DCR graph) A DCR graph is a tuple \((\mathsf {E}, \mathsf {R}, \mathsf {M})\) where
-
\(\mathsf {E}\) is a finite set of (labelled) events, the nodes of the graph.
-
\(\mathsf {R}\) is the edges of the graph. Edges are partitioned into four kinds, named and drawn as follows: the conditions \((\mathrel {\rightarrow \bullet })\), responses \((\mathrel {\bullet \rightarrow })\), inclusions \((\mathrel {\rightarrow +})\), and exclusions \((\mathrel {\rightarrow \%})\).
-
\(\mathsf {M}\) is the marking of the graph. This is a triple \((\mathsf {Ex},\mathsf {Re},\mathsf {In})\) of sets of events, respectively the previously executed \((\mathsf {Ex})\), the currently pending \((\mathsf {Re})\), and the currently included \((\mathsf {In})\) events.
When G is a DCR graph, we write, e.g., \(\mathsf {E}(G)\) for the set of events of G, \(\mathsf {Ex}(G)\) for the executed events in the marking of G, etc. We write \(\mathord {(\mathrel {\rightarrow \bullet }e)}\) for the set \(\{e^{\prime }\in \mathsf {E}\mid e^{\prime }\mathrel {\rightarrow \bullet }e\}\), write \(\mathord {(e\mathrel {\bullet \rightarrow })}\) for the set \(\{e^{\prime }\in \mathsf {E}\mid e \mathrel {\bullet \rightarrow }e^{\prime }\}\) and similarly for \(\mathord {(e\mathrel {\rightarrow +})}\) and \(\mathord {(e\mathrel {\rightarrow \%})}\).
Definition 45
(Enabled events) Let \(G=(\mathsf {E}, \mathsf {R}, \mathsf {M})\) be a DCR graph, with marking \(\mathsf {M}= (\mathsf {Ex},\mathsf {Re},\mathsf {In})\). An event \(e \in \mathsf {E}\) is enabled, written \(e\in {\mathsf {enabled}(G)}\), iff (a) \(e \in \mathsf {In}{}\) and (b) \(\mathsf {In}{}\cap \mathord {(\mathrel {\rightarrow \bullet }e)} \subseteq \mathsf {Ex}\).
Definition 46
(Execution) Let \(G=(\mathsf {E}, \mathsf {R}, \mathsf {M})\) be a DCR graph with marking \(\mathsf {M}=(\mathsf {Ex},\mathsf {Re},\mathsf {In})\). Suppose \(e\in {\mathsf {enabled}(G)}\). We may execute e obtaining the resulting DCR graph \((\mathsf {E}, \mathsf {R}, \mathsf {M}^{\prime })\) with \(\mathsf {M}^{\prime } =(\mathsf {Ex}^{\prime },\mathsf {Re}^{\prime },\mathsf {In}^{\prime })\) defined as follows.
-
1.
\(\mathsf {Ex}^{\prime } = \mathsf {Ex}\cup \{e\}\)
-
2.
\(\mathsf {Re}^{\prime } = (\mathsf {Re}\backslash \{e\}) \cup \mathord {(e\mathrel {\bullet \rightarrow })}\)
-
3.
\(\mathsf {In}^{\prime } = (\mathsf {In}\backslash \mathord {(e\mathrel {\rightarrow \%})}) \cup \mathord {(e\mathrel {\rightarrow +})}\)
Definition 47
(Transitions) Let G be a DCR graph. If \(e\in {\mathsf {enabled}(G)}\) and executing e in G yields H, we say that G has transition on e to H and write \({G}\xrightarrow {e}{H}\). A run of G is a (finite or infinite) sequence of DCR graphs \(G_i\) and events \(e_i\) such that: \(G = {G_0}\xrightarrow {e_0}{{G_1}\xrightarrow {e_1}{\ldots }}\). A trace of G is a sequence of labels of events \(e_i\) associated with a run of G. We write \(\mathop {\mathsf {runs}}(G)\) and \(\mathop {\mathsf {traces}}(G)\) for the set of runs and traces of G, respectively
Definition 48
(Acceptance) A run \({G_0}\xrightarrow {e_0}{{G_1}\xrightarrow {e_1}{\ldots }} \) is accepting iff for all n with \(e \in \mathsf {In}(G_n)\cap \mathsf {Re}(G_n)\) there exists \(m\ge n\) s.t. either \(e_m = e\), or \(e\not \in \mathsf {In}(G_{m})\). A trace is accepting iff it has an underlying run which is.
Definition 49
(Language) The language of a DCR graph G is the set of its accepting traces. We write \(\mathop {\mathsf {lang}}({G})\) for the language of G.
This concludes our recap of DCR graphs (as opposed to DCR processes). Now, the proof.
Definition 50
Let T, U be terms. Define \(T\cong U\) by taking for \(\mathcal R\) ranging over the four relations
and closing under monoid laws for \(- \parallel -\) and \(0\).
Lemma 51
If \(T\cong U\) then \({T}\xrightarrow {e}{T^{\prime }}\) and \({U}\xrightarrow {e}{U^{\prime }}\) implies \(T^{\prime }\cong U^{\prime }\).
Proof
It is straightforward to verify that the monoid laws and the idempotency rule (8) defining \(\cong \) preserves transition in the above sense; the desiderata follows.
Definition 52
Observe that by the monoid laws, every term T can be read as a multi-set of relations; by the idempotency rule (8), it can be read as a set of relations. Write \(\bar{T}\) for this set. For a process \(P=[{M}]\;{T}\), take \(\bar{P} = [{M}]\;{\bar{T}}\).
Definition 53
Let \(P=[{M}]\;{T}\) be a process and \(G=(\mathsf {E}, \mathsf {R}, \mathsf {M})\) a graph. Define \(P\approx G\) iff
-
1.
\(\mathsf {E}= \mathsf {dom}(M)\)
-
2.
for all \(e\in \mathsf {E}\) we have \(M(e)=(h,i,r) \) iff \(h=(e\in \mathsf {Ex})\) and \(i=(e\in \mathsf {In})\) and \(r=(e\in \mathsf {Re})\).
-
3.
\(\bar{T} = \mathsf {R}\).
Lemma 54
Let P be a process and G a graph s.t. \(P \approx G\). For all e, if \({P}\xrightarrow {e}{P^{\prime }}\) then for some \(G^{\prime }\) we have \({G}\xrightarrow {e}{G^{\prime }}\) with \(P^{\prime }\approx G^{\prime }\); and vice versa.
Proof
By Lemma 51 it is sufficient to prove this result for \(\bar{P}\). Assume \(\bar{P} =[{M}]\;{\bar{T}}\) and \(G=(\mathsf {E}, \mathsf {R}, \mathsf {M})\). We proceed by induction on the number of relations k in \(\bar{T}=\mathsf {R}\).
For \(k=0\), clearly \(P^{\prime }=[{{e}\cdot {M}}]\;{T}\) and \(G^{\prime }= (\mathsf {Ex}\cup \{e\},\mathsf {In},\mathsf {Re})\); the result follows.
For \(k=1\), straightforward verification by cases on the single relation.
For \(k>1\), we must have \(T=\bar{T}_1 \parallel \bar{T}_2\) and \(\mathsf {R}=\bar{T_1}\cup \bar{T_2}\) such that the number of relations in \(\bar{T}_j\) are both smaller than k. Define \(G_j= (\mathsf {E}, \bar{T_j},\mathsf {M})\). Note that if \({P}\xrightarrow {e}{P'}\) then we must have
In this case we have by induction that \(G_j={(\mathsf {E}, \bar{T_j},\mathsf {M})}\xrightarrow {e}{(}{\mathsf {E}, \bar{T_j},\mathsf {M}^{\prime }_j}) = G_j^{\prime }\) for \(j\in \{1,2\}\).
We show first that e is enabled in P iff it is in Q. Suppose e is enabled in P. By (9), e is then enabled in \([{M}]\;{T_1}\) and \([{M}]\;{T_2}\). By induction, it is then enabled in \(G_1,G_2\), and by calculation on Definition 45 it is also enabled in G. Now suppose instead e is enabled in G. By Definition 45, e is also enabled in \(G_1,G_2\). By induction, e is enabled in \([{M}]\;{\bar{T}_1}\) and \([{M}]\;{\bar{T}_2}\). It follows by the [par]-rule that e is enabled in P.
Now suppose we have transitions \({P}\xrightarrow {e}{P^{\prime }}\) and \({G}\xrightarrow {e}{G'}\). As noted we must have (9); by [effect] we have transitions
By induction we must have transitions
We prove that \(P^{\prime }\approx G^{\prime }\). Items (1) and (3) of Definition 53 are immediate, so it is sufficient to show Item (2). Let \(M_h(x) = h\) when \(M(x) = (h,i,r)\); similarly for i, r. It is straightforward to verify using (10) and (11) that each of the following leads to a contradiction:
-
1.
\(M_h(f)\not =(f\in \mathsf {Ex}^{\prime })\), or
-
2.
\(M_i(f)\not =(f\in \mathsf {In}^{\prime })\), or
-
3.
\(M_r(f)\not =(f\in \mathsf {Re}^{\prime })\).
Theorem 55
The relation \(\approx \) is a bisimulation.
Proof
Immediate from Lemma 54.
Corollary 56
Let P be a process and G a graph. Then \(P\approx G\) implies \(\mathop {\mathsf {lang}}({P}) = \mathop {\mathsf {lang}}({G})\).
Proof
Using Lemma 54, it is clear that a run of P gives rise to a run of G and vice versa. It is sufficient to show that such a runs is accepting for P iff it is for G; this is immediate by inspection of Definitions 2 and 48.
Proof of Proposition 6
Rights and permissions
About this article
Cite this article
Debois, S., Hildebrandt, T.T. & Slaats, T. Replication, refinement & reachability: complexity in dynamic condition-response graphs. Acta Informatica 55, 489–520 (2018). https://doi.org/10.1007/s00236-017-0303-8
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00236-017-0303-8