A Protocol for Constraint Automata Execution in a Synchronous Network of Processors
- 188 Downloads
Abstract
In service oriented computing we encounter the problem of coordinating autonomous services (e.g., micro-services) communicate within the deployment environments (e.g., multi-cloud infrastructures) but participate for the functional requirements. While the environments have the deployment concerns like real-time, security, privacy or even energy consumption constraints, for the sake of brevity, the formal models of coordination in service oriented systems generally abstract away these concerns and focus on the functional ones such as synchronization, data and context dependency constraints. In this paper, we consider Constraint Automata (CA) as a formal model of the functional behaviours for the Reo coordination networks without any buffered channel. We devise a distributed protocol to model execution the CA subject to the deployment constraints on the messaging within a network of processors derived from the Reo network structure. We assume the constraints are satisfied while the protocol messages go through the shortest paths in the network. The protocol itself is modelled by another formal model Network of Timed Automata (NTA) with the untimed transitions implemented by the Uppaal tool. Our protocol models the message passing along the shortest paths for performing a CA’s transition by all the participant processors. The protocol guarantees all the processors do the same CA’s transition as a consensus in the same round of execution.
Keywords
Reo coordination language Constraint Automata Deployment constraints UPPAAL toolReferences
- 1.Arbab, F.: Reo: a channel-based coordination model for component composition. Math. Struct. Comput. Sci. 14(3), 329–366 (2004)MathSciNetCrossRefGoogle Scholar
- 2.Arbab, F.: Puff, the magic protocol. In: Agha, G., Danvy, O., Meseguer, J. (eds.) Formal Modeling: Actors, Open Systems, Biological Systems: Essays Dedicated to Carolyn Talcott on the Occasion of Her 70th Birthday. LNCS, vol. 7000, pp. 169–206. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-24933-4_9CrossRefGoogle Scholar
- 3.Arbab, F., Chothia, T., Meng, S., Moon, Y.-J.: Component connectors with QoS guarantees. In: Murphy, A.L., Vitek, J. (eds.) COORDINATION 2007. LNCS, vol. 4467, pp. 286–304. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-72794-1_16CrossRefGoogle Scholar
- 4.Baier, C., Katoen, J.P.: Principles of Model Checking, vol. 950. The MIT press, Cambridge (2008)zbMATHGoogle Scholar
- 5.Baier, C., Sirjani, M., Arbab, F., Rutten, J.: Modeling component connectors in Reo by constraint automata. Sci. Comput. Program. 61(2), 75–113 (2006)MathSciNetCrossRefGoogle Scholar
- 6.Behrmann, G., David, A., Larsen, K.G.: A tutorial on Uppaal. In: Bernardo, M., Corradini, F. (eds.) SFM-RT 2004. LNCS, vol. 3185, pp. 200–236. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-30080-9_7CrossRefGoogle Scholar
- 7.Fowler, M., Lewis, J.: Microservices. ThoughtWorks (2014). http://martinfowler.com/articles/microservices.html. Accessed 7 Dec 2017
- 8.Jongmans, S.-S.T.Q., Arbab, F.: Global consensus through local synchronization: a formal basis for partially-distributed coordination. Sci. Comput. Program. 115, 199–224 (2016)CrossRefGoogle Scholar
- 9.Jongmans, S.-S.T.Q., Arbab, F.: Overview of thirty semantic formalisms for Reo. Sci. Ann. Comput. Sci. 22(1), 201–251 (2012)MathSciNetGoogle Scholar
- 10.Jongmans, S.-S.T.Q., Clarke, D., Proença, J.: A procedure for splitting processes and its application to coordination. arXiv preprint arXiv:1209.1422 (2012)
- 11.Jongmans, S.-S.T.Q., Santini, F., Arbab, F.: Partially distributed coordination with Reo and constraint automata. Serv. Oriented Comput. Appl. 9(3–4), 311–339 (2015)CrossRefGoogle Scholar
- 12.Jongmans, S.-S.T.Q., Santini, F., Sargolzaei, M., Arbab, F., Afsarmanesh, H.: Orchestrating web services using Reo: from circuits and behaviors to automatically generated code. Serv. Oriented Comput. Appl. 8(4), 277–297 (2014)CrossRefGoogle Scholar
- 13.Jongmans, S.-S.T.Q., Arbab, F.: Global consensus through local synchronization. In: Canal, C., Villari, M. (eds.) ESOCC 2013. CCIS, vol. 393, pp. 174–188. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-45364-9_15CrossRefGoogle Scholar
- 14.Kokash, N., Changizi, B., Arbab, F.: A semantic model for service composition with coordination time delays. In: Dong, J.S., Zhu, H. (eds.) ICFEM 2010. LNCS, vol. 6447, pp. 106–121. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-16901-4_9CrossRefGoogle Scholar
- 15.Kokash, N.: Handshaking protocol for distributed implementation of Reo. arXiv preprint arXiv:1504.03553 (2015)
- 16.Kokash, N., Jaghoori, M.M., Arbab, F.: From timed Reo networks to networks of timed automata. Electron. Notes Theor. Comput. Sci. 295, 11–29 (2013)CrossRefGoogle Scholar
- 17.Maraikar, Z., Lazovik, A., Arbab, F.: Building mashups for the enterprise with SABRE. In: Bouguettaya, A., Krueger, I., Margaria, T. (eds.) ICSOC 2008. LNCS, vol. 5364, pp. 70–83. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-89652-4_9CrossRefGoogle Scholar
- 18.Muth, P., Wodtke, D., Weissenfels, J., Dittrich, A.K., Weikum, G.: From centralized workflow specification to distributed workflow execution. J. Intell. Inf. Syst. 10, 159–184 (1998)CrossRefGoogle Scholar
- 19.Proença, J., et al.: Synchronous coordination of distributed components. Ph.D. thesis, Faculty of Science, Leiden University (2011)Google Scholar
- 20.Proença, J., Clarke, D., de Vink, E., Arbab, F.: Dreams: a framework for distributed synchronous coordination. In: Proceedings of the 27th Annual ACM Symposium on Applied Computing, pp. 1510–1515 (2012)Google Scholar