Abstract
With the ever-increasing development of the Internet and the diversification of communication media, business processes of companies are increasingly collaborative and distributed. This contrasts with traditional solutions deployed for their management which are usually centralized, based either on the control and coordination of the flow of activities, or on the documents exchanged or artifacts. Moreover, the users who are usually the main actors in collaborations are often relegated to second place. Recently, a distributed, data-driven and user-centric approach called guarded attribute grammar (GAG) has been proposed for the modeling of such processes; it thus provides an answer to most of these limitations. In this paper, we present an approach for implementing business processes modeled using GAG in which communications are done by publish/subscribe with redirection of subscription (pub/sub-RS). In fact, the pub/sub-RS—which we propose—is a new variant of the publish/subscribe protocol particularly adapted to the asynchronous and incremental exchange of semi-structured data. It allows to guarantee high data availability during the process execution by ensuring that an actor, perceived as a subscriber, will always receive a data he needs to perform a task as soon as it is produced. Moreover, if the data are semi-structured and produced collaboratively and incrementally by several actors, its subscribers will be notified as soon as one of its components (a prefix) is produced, simultaneously as they will be subscribed in a transparent way to the remaining components (the suffix).
Similar content being viewed by others
Notes
“An artifact is a document that conveys all the information concerning a particular case from its inception in the system until its completion. It contains all the relevant information about the entity together with a lifecycle that models its possible evolutions through the business process” [4]. So we can assimilate it to an active document [1] combining data and processing.
A variant of the semantic rules of attribute grammars.
In the rest of this paper, we will name “GAG processes” business processes modeled using GAG.
The publish/subscribe is an asynchronous communication scheme between publishers and subscribers. Subscribers express their interest in data through subscriptions and publishers publish data for subscribers. A subscriber is notified each time a publication corresponds to a subscription he has made.
A data produced by a peer X to a peer Y is sent directly to it without passing through a peer Z.
In the tree representation of the artifact, it is a leaf not labeled by a production.
A s-production is a production having s on the left-hand side.
Division des Affaires Académiques et de la Coopération (Academic and Cooperation Affairs Department).
The GAG composition operator noted \(\oplus \) is defined in [4]. It allows to create a GAG G called Global GAG from a set of local GAGs \(G_1, \ldots ,G_k\): \( G = G_1 \oplus ... \oplus G_k\).
An algebraic type is a composite data type, which combines the functionalities of product types (tuplets or records) and sum types (disjoint union). In combination with recursivity, it is used to express structured data such as lists and trees.
Reminder: The list type is defined by two constructors: Nil, which allows to create an empty list, and Cons which allows to create a new list by adding an element to a pre-existing list.
The function match is defined in [4]. It returns a substitution \(\sigma \) itself consisting in two main substitutions \(\sigma _{in}\) and \(\sigma _{out}\). For a specific refinement of a node \(X=F\) into successor nodes \(X_1=F_1\) to \(X_n=F_n\) via a rule \(F_0 \rightarrow F_1 ... F_n \), \(\sigma _{in}\) matches the input values of \(F_0\) to the input values of F and \(\sigma _{out}\) matches the output values of F to the output values of \(F_0\). \(\sigma = \sigma _{out} \cup \sigma _{in} \sigma _{out}\) [4].
Recall that NS is the set of notifications created by the application of the rule.
The notification service is used by a component A to notify a component B, when a business rule applied at the level of the component A produces data to which the component B had subscribed.
A middleware is third-party software that creates a network for information exchange between different computer applications. For our experiments, we used the shared-data overlay network (SON) middleware: “SON is a generic lightweight P2P middleware that assists application developers by providing an automatic code generation which handles several requirements (e.g., communication mechanisms, message queue management, broadcasting messages, etc.)” [19].
Having independent peers with decentralized coordination deal perfectly with multi-agent-based systems. The middlewares like Jade [6] or Netlogo [33] provided by these systems can be used to ensure communication through the redevelopment of a large number of primitives; this is not the case if we use a service-oriented and component-oriented middleware like SON which directly offer a set of tools to model and code services and components.
The data distribution service (DDS) [25] middleware does not use a broker in the middle. Instead, each publisher and subscriber in the pub/sub-system shares meta-data about each other via IP multicast.
References
Abiteboul S, Benjelloun O, Milo T (2004). Positive active xml. In: PODS ’04: Proceedings of the twenty-third ACM SIGMOD-SIGACT-SIGART symposium on principles of database systems, New York, NY, USA, 2004. ACM, pp 35–45
Akkihebbal L, Tay Ananda BH, Koh EK (1992) A survey of asynchronous remote procedure calls. Oper Syst Rev 26(2):92–109
Badouel Eric, Hélouët L, Georges-Edouard K, Morvan C (2015). A grammatical approach to data-centric case management in a distributed collaborative environment. In: Proceedings of the 30th annual ACM symposium on applied computing, SAC ’15, New York, NY, USA, 2015. ACM, pp 1834–1839
Badouel E, Hélouët L, Georges-Edouard K, Christophe M, Fondze NR (2015) Active workspaces: distributed collaborative systems based on guarded attribute grammars. SIGAPP Appl Comput Rev 15(3):6–34
Badouel E, Djatcha RAD (2020). A calculus of interfaces for distributed collaborative systems: the guarded attribute grammar approach. In: Revue Africaine de la Recherche en Informatique et Mathématiques Appliquées, Volume 31 - 2019 - CARI 2018:16, October 2020
Bellifemine F, Caire G, Greenwood D (2007) Developing multi-agent systems with JADE. Wiley, Hoboken
Chen Q, Hsu M (2001) Inter-enterprise collaborative business process management. In: Georgakopoulos D, Buchmann A (eds) Proceedings of the 17th international conference on data engineering, April 2-6, 2001, Heidelberg, Germany. IEEE Computer Society, pp 253–260
Damaggio E, Deutsch A, Vianu V (2012) Artifact systems with data dependencies and arithmetic. ACM Trans Database Syst 37(3):1–36
Damaggio E, Hull R, Vaculín R (2013) On the equivalence of incremental and fixpoint semantics for business artifacts with guard-stage-milestone lifecycles. Inf Syst 38(4):561–584
Dang J, Toklu C, Hampel K,Enke U(2008). Human workflows via document-driven process choreography. In: 2008 international MCETECH conference on e-technologies (mcetech 2008), pp 25–33
Eugster PT, Felber P, Guerraoui R, Anne-Marie K (2003) The many faces of publish/subscribe. ACM Comput Surv 35(2):114–131
Figueiredo TW, Marco T, de Oliveira V, da Silva Bigonha MA, da Silva Bigonha R (2003) Asynchronous remote method invocation in Java. J Univ Comput Sci 9(8):761–775
Fondze NR Jr, Badouel E, Texier G, Georges-Edouard K (2016) Active-workspaces: a dynamic collaborative business process model for disease surveillance systems. In: HIMS16—the 2nd international conference on health informatics and medical systems, Las Vegas, USA
Hans-Arno J (2009) Publish/Subscribe. Springer, US, Boston, MA, pp 2208–2211
Hull R (2008). Artifact-centric business process models: brief survey of research results and challenges. In: On the move to meaningful internet systems: OTM 2008, OTM 2008 confederated international conferences, CoopIS, DOA, GADA, IS, and ODBASE 2008, Monterrey, Mexico, November 9–14, 2008, proceedings, Part II, pp 1152–1163
Kungne W, Georges-Edouard K, Claude T (2020) A rule-based language and verification framework of dynamic service composition. Future Internet 12:23
Kungne W, Georges-Edouard K, Claude T (2019) Introducing an artifact-driven language for service composition. In ArabWIC 2019: Proceedings of the ArabWIC 6th annual international conference research track, pp 1–6
Kurzyniec D, Wrzosek T, Sunderam VS, Slominski A (2002) Experiments with multi-protocol RMI in Java. In: Moreira JE, GC. Fox, Getov V (eds) Proceedings of the 2002 joint ACM-ISCOPE conference on Java Grande 2002, Seattle, Washington, USA, November 3-5, 2002. ACM, p 233
Lahcen AA, Parigot D (2012). A lightweight middleware for developing P2P applications with component and service-based principles. In: 15th IEEE international conference on computational science and engineering, CSE 2012, Paphos, Cyprus, December 5–7, 2012, pp 9–16
Lee Man Kei and Xiaohua Jia (2002) A reliable asynchronous RPC architecture for wireless networks. Comput Commun 25(17):1631–1639
Marlow S (2010) Haskell 2010 language report. https://www.haskell.org/onlinereport/haskell2010/
Nigam A, Caswell Nathan S (2003) Business artifacts: an approach to operational specification. IBM Syst J 42(3):428–445
Nsaibirni R (2019) A guarded attribute grammar based model for user centered, distributed, and collaborative case management case of the disease surveillance process. Université de Yaoundé I, Thesis
OASIS. Web services business process execution language version 2.0. http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.pdf, April 2007
OMG. About the data distribution service specification version 1.0. https://www.omg.org/spec/DDS/1.0
OMG. Bpmn specification, business process model and notation. http://www.bpmn.org/
Peng W (2003) Interpreting \(\pi \)-calculus with spin/promela. Comput Sci 8:7–9
Raje Rajeev R, Williams Joseph I, Boyles M (1997) Asynchronous remote method invocation (ARMI) mechanism for Java. Concurr Pract Exp 9(11):1207–1211
Sangiorgi D, Walker D (2003) The pi-calculus: a theory of mobile processes. Cambridge University Press, Cambridge
Schuster N, Zirpins C, Tai S, Battle S, Heuer N (2009). A service-oriented approach to document-centric situational collaboration processes. In: 18th IEEE international workshops on enabling technologies: infrastructures for collaborative enterprises, WETICE 2009, Groningen, The Netherlands, 29 June–1 July 2009, proceedings, 2009, pp 221–226
Tay BH, Ananda Akkihebbal L (1990) A survey of remote procedure calls. Oper Syst Rev 24(3):68–79
van der Aalst WMP (1998) The application of petri nets to workflow management. J. Circuits Syst. Comput. 8(1):21–66
Wilensky Uri. Netlogo (1999) Center for connected learning and computer-based modeling, Northwestern University, Evanston, IL. http://ccl.northwestern.edu/netlogo/
Xiao-Qiang Z, Min L, Junwei Y (2012). Design of the executable business state-model process based on finite state machine. In: Gao L, Shen W, Barthès J-P A, Luo J, Yong J, Li W, Li W (eds) IEEE 16th international conference on computer supported cooperative work in design, CSCWD 2012, May 23–25, 2012, Wuhan, China. IEEE, pp 207–213
Zhao L, Xing J, Meng L (2006). The research and realization of a new workflow model with step-task two layers based on document. In: Proceedings of The 1st IEEE Asia-Pacific services computing conference, APSCC 2006, December 12–15, 2006, Guangzhou, China, pp 285–292
Author information
Authors and Affiliations
Contributions
All the authors contributed to the study, from its conception to its experimentation. In particular, Maurice Tchoupé T. designed the research proposal.
Corresponding author
Ethics declarations
Funding
Not Applicable
Conflicts of interest
The authors declare that they have no conflict of interest.
Availability of data and material
Not Applicable
Code availability
All the codes used for the experimentations present in this article are available, and the authors can provide them if requested.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Tchendji, M.T., Tagueu, J.N. Guarded attribute grammars and publish/subscribe for implementing distributed collaborative business processes with high data availability. SOCA 15, 245–256 (2021). https://doi.org/10.1007/s11761-021-00319-z
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11761-021-00319-z