ABSTRACT
Emergent systems are inherently communication-centered. Hence, a modeling strategy for those systems must provide the right abstractions for: (1) giving a general view of the communication patterns; (2) abstracting away from the interleaving and synchronization details; and (3) proving correct the communication schema. We propose a modeling strategy that integrates multiparty sessions types (MST) and Event-B (refinement calculus). We show how a global type, specifying the choreography that the agents must follow, can be translated into an Event-B machine describing the abstract behavior of the system (1 above). A refinement of the system leads to a model of the local types, describing declaratively the behavior of the agents involved (2 above). Relying on the type discipline and Rodin's (Event-B) theorem provers, we can prove the system correct (3 above). Our method does not require to reason about the system traces, thus easing the modeling task. We have also developed a tool that automatizes the process of generating the Event-B model from the MST specification. We illustrate our framework with three compelling distributed protocols.
- Jean-Raymond Abrial. Modeling in Event-B - System and Software Engineering. Cambridge University Press, 2010. Google ScholarDigital Library
- Jean-Raymond Abrial, Michael J. Butler, Stefan Hallerstede, and Laurent Voisin. An open extensible tool environment for event-B. In ICFEM, vol. 4260 of LNCS, 588--605, 2006. Google ScholarDigital Library
- Daniel Brand and Pitro Zafiropulo. On communicating finite-state machines. J. ACM, 30(2):323--342, 1983. Google ScholarDigital Library
- Michael Butler. csp2b: A practical approach to combining CSP and B. formal aspects of computing, 12:2000, 1999.Google Scholar
- Pierre-Malo Deniélou and Nobuko Yoshida. Multiparty session types meet communicating automata. In ESOP, volume 7211 of LNCS, 194--213. Springer, 2012. Google ScholarDigital Library
- Pierre-Malo Deniélou and Nobuko Yoshida. Multiparty compatibility in communicating automata: Characterisation and synthesis of global session types. In ICALP, vol. 7966 of LNCS, 174--186. Springer, 2013. Google ScholarDigital Library
- Thai Son Hoang, Andreas Fürst, and Jean-Raymond Abrial. Event-B patterns and their tool support. Software and System Modeling, 12(2):229--244, 2013. Google ScholarDigital Library
- C. A. R. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985. Google ScholarDigital Library
- Kohei Honda, Vasco Thudichum Vasconcelos, and Makoto Kubo. Language primitives and type discipline for structured communication-based programming. In ESOP, vol. 1381 of LNCS, 122--138. Springer, 1998. Google ScholarDigital Library
- Kohei Honda, Nobuko Yoshida, and Marco Carbone. Multiparty asynchronous session types. In POPL, 273--284. ACM, 2008. Google ScholarDigital Library
- Robin Milner, Joachim Parrow, and David Walker. A calculus of mobile processes, Parts I and II. Inf. Comput., 100(1):1--40, 1992. Google ScholarDigital Library
- Steve Schneider, Helen Treharne, and Heike Wehrheim. Bounded retransmission in event-b;csp: a case study. Electr. Notes Theor. Comput. Sci., 280:69--80, 2011. Google ScholarDigital Library
- Renato Silva, Carine Pascal, Thai Son Hoang, and Michael Butler. Decomposition tool for event-B. Softw., Pract. Exper., 41(2):199--208, 2011. Google ScholarDigital Library
- Imen Tounsi, Zied Hrichi, Mohamed Hadj Kacem, Ahmed Hadj Kacem, and Khalil Drira. Using soaml models and Event-B specifications for modeling soa design patterns. In ICEIS, 294--301. SciTePress, 2013.Google Scholar
- Vasco T. Vasconcelos. Fundamentals of session types. Inf. Comput., 217:52--70, 2012. Google ScholarDigital Library
- Jim Woodcock and Ana Cavalcanti. A concurrent language for refinement. In IWFM, BCS, 2001. Google ScholarDigital Library
Index Terms
- Session types for communicating systems in event-B
Comments