Skip to main content
Log in

Guarded attribute grammars and publish/subscribe for implementing distributed collaborative business processes with high data availability

  • Original Research Paper
  • Published:
Service Oriented Computing and Applications Aims and scope Submit manuscript

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

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. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

Notes

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

  2. A variant of the semantic rules of attribute grammars.

  3. In the rest of this paper, we will name “GAG processes” business processes modeled using GAG.

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

  5. A data produced by a peer X to a peer Y is sent directly to it without passing through a peer Z.

  6. In the tree representation of the artifact, it is a leaf not labeled by a production.

  7. A s-production is a production having s on the left-hand side.

  8. Division des Affaires Académiques et de la Coopération (Academic and Cooperation Affairs Department).

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

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

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

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

  13. Recall that NS is the set of notifications created by the application of the rule.

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

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

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

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

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

  2. Akkihebbal L, Tay Ananda BH, Koh EK (1992) A survey of asynchronous remote procedure calls. Oper Syst Rev 26(2):92–109

    Article  Google Scholar 

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

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

    Article  Google Scholar 

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

  6. Bellifemine F, Caire G, Greenwood D (2007) Developing multi-agent systems with JADE. Wiley, Hoboken

    Book  Google Scholar 

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

  8. Damaggio E, Deutsch A, Vianu V (2012) Artifact systems with data dependencies and arithmetic. ACM Trans Database Syst 37(3):1–36

    Article  Google Scholar 

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

    Article  Google Scholar 

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

  11. Eugster PT, Felber P, Guerraoui R, Anne-Marie K (2003) The many faces of publish/subscribe. ACM Comput Surv 35(2):114–131

    Article  Google Scholar 

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

    Google Scholar 

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

  14. Hans-Arno J (2009) Publish/Subscribe. Springer, US, Boston, MA, pp 2208–2211

    Google Scholar 

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

  16. Kungne W, Georges-Edouard K, Claude T (2020) A rule-based language and verification framework of dynamic service composition. Future Internet 12:23

    Article  Google Scholar 

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

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

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

  20. Lee Man Kei and Xiaohua Jia (2002) A reliable asynchronous RPC architecture for wireless networks. Comput Commun 25(17):1631–1639

    Article  Google Scholar 

  21. Marlow S (2010) Haskell 2010 language report. https://www.haskell.org/onlinereport/haskell2010/

  22. Nigam A, Caswell Nathan S (2003) Business artifacts: an approach to operational specification. IBM Syst J 42(3):428–445

    Article  Google Scholar 

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

    Google Scholar 

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

  25. OMG. About the data distribution service specification version 1.0. https://www.omg.org/spec/DDS/1.0

  26. OMG. Bpmn specification, business process model and notation. http://www.bpmn.org/

  27. Peng W (2003) Interpreting \(\pi \)-calculus with spin/promela. Comput Sci 8:7–9

    Google Scholar 

  28. Raje Rajeev R, Williams Joseph I, Boyles M (1997) Asynchronous remote method invocation (ARMI) mechanism for Java. Concurr Pract Exp 9(11):1207–1211

    Article  Google Scholar 

  29. Sangiorgi D, Walker D (2003) The pi-calculus: a theory of mobile processes. Cambridge University Press, Cambridge

    MATH  Google Scholar 

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

  31. Tay BH, Ananda Akkihebbal L (1990) A survey of remote procedure calls. Oper Syst Rev 24(3):68–79

    Article  Google Scholar 

  32. van der Aalst WMP (1998) The application of petri nets to workflow management. J. Circuits Syst. Comput. 8(1):21–66

    Article  Google Scholar 

  33. Wilensky Uri. Netlogo (1999) Center for connected learning and computer-based modeling, Northwestern University, Evanston, IL. http://ccl.northwestern.edu/netlogo/

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

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

Download references

Author information

Authors and Affiliations

Authors

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

Correspondence to Maurice Tchoupe Tchendji.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11761-021-00319-z

Keywords

Navigation