Abstract
We introduce \(\mathtt {HDBIP}\) an extension of the Behavior Interaction Priority (BIP) framework. BIP is a component-based framework with a rigorous operational semantics and high-level and expressive interaction model. \(\mathtt {HDBIP}\) extends BIP interaction model by allowing heterogeneous interactions targeting distributed systems. \(\mathtt {HDBIP}\) allows both multiparty and direct send/receive interactions that can be directly mapped to an underlying communication library. Then, we present a correct and efficient code generation from \(\mathtt {HDBIP}\) to C++ implementation using Message Passing Interface (MPI). We present a non-trivial case study showing the effectiveness of \(\mathtt {HDBIP}\).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Agarwal, D., Prasad, S.K.: AzureBOT: a framework for bag-of-tasks applications on the azure cloud platform. In: 2013 IEEE International Symposium on Parallel and Distributed Processing, Workshops and Ph.D. Forum (2013). https://doi.org/10.1109/ipdpsw.2013.261
Albert, E., Bezirgiannis, N., de Boer, F., Martin-Martin, E.: A formal, resource consumption-preserving translation of actors to Haskell. In: Hermenegildo, M., Lopez-Garcia, P. (eds.) LOPSTR 2016. LNCS, vol. 10184, pp. 21–37. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-63139-4_2
Basu, A., et al.: Rigorous component-based system design using the BIP framework. IEEE Softw. 28(3), 41–48 (2011)
Bejleri, A., Yoshida, N.: Synchronous multiparty session types. Electron. Notes Theor. Comput. Sci. 241, 3–33 (2009). https://doi.org/10.1016/j.entcs.2009.06.002
Bliudze, S., Sifakis, J.: The algebra of connectors - structuring interaction in BIP. IEEE Trans. Comput. 57(10), 1315–1330 (2008). https://doi.org/10.1109/TC.2008.26
Bonakdarpour, B., Bozga, M., Jaber, M., Quilbeuf, J., Sifakis, J.: A framework for automated distributed implementation of component-based models. Distrib. Comput. 25(5), 383–409 (2012). https://doi.org/10.1007/s00446-012-0168-6
Bonakdarpour, B., Bozga, M., Quilbeuf, J.: Model-based implementation of distributed systems with priorities. Des. Autom. Embed. Syst. 17(2), 251–276 (2013). https://doi.org/10.1007/s10617-012-9091-0
Bonelli, E., Compagnoni, A.: Multipoint session types for a distributed calculus. In: Barthe, G., Fournet, C. (eds.) TGC 2007. LNCS, vol. 4912, pp. 240–256. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-78663-4_17
Falcone, Y., Jaber, M.: Fully automated runtime enforcement of component-based systems with formal and sound recovery. STTT 19(3), 341–365 (2017). https://doi.org/10.1007/s10009-016-0413-6
Falcone, Y., Jaber, M., Nguyen, T., Bozga, M., Bensalem, S.: Runtime verification of component-based systems in the BIP framework with formally-proved sound and complete instrumentation. Softw. Syst. Model. 14(1), 173–199 (2015). https://doi.org/10.1007/s10270-013-0323-y
Farah, Z., Ait-Ameur, Y., Ouederni, M., Tari, K.: A correct-by-construction model for asynchronously communicating systems. Int. J. Softw. Tools Technol. Transf. 19(4), 465–485 (2017)
Gay, S.J., Vasconcelos, V.T., Ravara, A., Gesbert, N., Caldeira, A.Z.: Modular session types for distributed object-oriented programming. In: Proceedings of the 37th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2010, Madrid, Spain, 17–23 January 2010, pp. 299–312 (2010). https://doi.org/10.1145/1706299.1706335
Gray, J., Lamport, L.: Consensus on transaction commit. ACM Trans. Database Syst. 31(1), 133–160 (2006). https://doi.org/10.1145/1132863.1132867
Henrio, L., Rochas, J.: From modelling to systematic deployment of distributed active objects. In: Lluch Lafuente, A., Proença, J. (eds.) COORDINATION 2016. LNCS, vol. 9686, pp. 208–226. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-39519-7_13
Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. In: Proceedings of the 35th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2008, San Francisco, USA, 7–12 January 2008, pp. 273–284 (2008). https://doi.org/10.1145/1328438.1328472
Meiklejohn, C., Van Roy, P.: Lasp: a language for distributed, coordination-free programming. In: Proceedings of the 17th International Symposium on Principles and Practice of Declarative Programming, PPDP 2015, pp. 184–195. ACM, New York (2015). https://doi.org/10.1145/2790449.2790525
Vallecillo, A., Vasconcelos, V.T., Ravara, A.: Typing the behavior of software components using session types. Fundam. Inform. 73(4), 583–598 (2006). http://iospress.metapress.com/content/82bf1qafeel5g8n4/
Acknowledgment
The authors acknowledge the support of the University Research Board (URB) at American University of Beirut and the ICT COST (European Cooperation in Science and Technology) Action IC1402 Runtime Verification beyond Monitoring (ARVI).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
Cite this paper
Kobeissi, S., Utayim, A., Jaber, M., Falcone, Y. (2018). Facilitating the Implementation of Distributed Systems with Heterogeneous Interactions. In: Furia, C., Winter, K. (eds) Integrated Formal Methods. IFM 2018. Lecture Notes in Computer Science(), vol 11023. Springer, Cham. https://doi.org/10.1007/978-3-319-98938-9_15
Download citation
DOI: https://doi.org/10.1007/978-3-319-98938-9_15
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-98937-2
Online ISBN: 978-3-319-98938-9
eBook Packages: Computer ScienceComputer Science (R0)