Session-Based Compositional Analysis for Actor-Based Languages Using Futures

  • Eduard KamburjanEmail author
  • Crystal Chang Din
  • Tzu-Chun Chen
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10009)


This paper proposes a simple yet concise framework to statically verify communication correctness in a concurrency model using futures. We consider the concurrency model of the core ABS language, which supports actor-style asynchronous communication using futures and cooperative scheduling. We provide a type discipline based on session types, which gives a high-level abstraction for structured interactions. By using it we statically verify if the local implementations comply with the communication correctness. We extend core ABS with sessions and annotations to express scheduling policies based on required communication ordering. The annotation is statically checked against the session automata derived from the session types.


Local Type Schedule Policy Object Type Communication Correctness Session Type 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.



We thank Reiner Hähnle and Patrick Eugster who provided the original idea and insightful discussions for this paper. We also thank the reviewers for their constructive comments. This work was supported by the ERC grant FP7-617805 LiVeSoft: Lightweight Verification of Software and the EU project FP7-610582 Envisage: Engineering Virtualized Services.


  1. 1.
    Bjørk, J., de Boer, F.S., Johnsen, E.B., Schlatte, R., Tarifa, S.L.T.: User-defined schedulers for real-time concurrent objects. ISSE 9(1), 29–43 (2013)Google Scholar
  2. 2.
    Bollig, B., Habermehl, P., Leucker, M., Monmege, B.: A fresh approach to learning register automata. In: Béal, M.-P., Carton, O. (eds.) DLT 2013. LNCS, vol. 7907, pp. 118–130. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-38771-5_12 CrossRefGoogle Scholar
  3. 3.
    Campos, J., Vasconcelos, V.T.: Channels as objects in concurrent object-oriented programming. In: Honda, K., Mycroft, A. (eds.) PLACES 2010. EPTCS, vol. 69, pp. 12–28 (2010)Google Scholar
  4. 4.
    Deniélou, P.-M., Yoshida, N.: Multiparty session types meet communicating automata. In: Seidl, H. (ed.) ESOP 2012. LNCS, vol. 7211, pp. 194–213. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-28869-2_10 CrossRefGoogle Scholar
  5. 5.
    Din, C.C., Bubel, R., Hähnle, R.: KeY-ABS: a deductive verification tool for the concurrent modelling language ABS. In: Felty, A.P., Middeldorp, A. (eds.) CADE 2015. LNCS (LNAI), vol. 9195, pp. 517–526. Springer, Heidelberg (2015). doi: 10.1007/978-3-319-21401-6_35 CrossRefGoogle Scholar
  6. 6.
    Din, C.C., Owe, O.: Compositional reasoning about active objects with shared futures. Formal Aspects Comput. 27(3), 551–572 (2015)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Field, J., Goyal, D., Ramalingam, G., Yahav, E.: Typestate verification: abstraction techniques and complexity results. Sci. Comput. Program. 58(1–2), 57–82 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Gay, S.J., Gesbert, N., Ravara, A., Vasconcelos, V.T.: Modular session types for objects. Logical Methods Comput. Sci. 11(4), 1–76 (2015)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Grigore, R., Distefano, D., Petersen, R.L., Tzevelekos, N.: Runtime verification based on register automata. In: Piterman, N., Smolka, S.A. (eds.) TACAS 2013. LNCS, vol. 7795, pp. 260–276. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-36742-7_19 CrossRefGoogle Scholar
  10. 10.
    Hähnle, R.: The abstract behavioral specification language: a tutorial introduction. In: Giachino, E., Hähnle, R., Boer, F.S., Bonsangue, M.M. (eds.) FMCO 2012. LNCS, vol. 7866, pp. 1–37. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-40615-7_1 CrossRefGoogle Scholar
  11. 11.
    Halstead, R.H.: Multilisp: a language for concurrent symbolic computation. ACM TOPLAS 7(4), 501–538 (1985)CrossRefzbMATHGoogle Scholar
  12. 12.
    Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. In: Necula, G.C., Wadler, P. (eds.) POPL 2008, pp. 273–284. ACM (2008)Google Scholar
  13. 13.
    Hu, R., Yoshida, N., Honda, K.: Session-based distributed programming in Java. In: Vitek, J. (ed.) ECOOP 2008. LNCS, vol. 5142, pp. 516–541. Springer, Heidelberg (2008). doi: 10.1007/978-3-540-70592-5_22 CrossRefGoogle Scholar
  14. 14.
    Jaghoori, M.M., de Boer, F.S., Chothia, T., Sirjani, M.: Schedulability of asynchronous real-time concurrent objects. J. Logic Algebraic Program. 78(5), 402–416 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  15. 15.
    Johnsen, E.B., Hähnle, R., Schäfer, J., Schlatte, R., Steffen, M.: ABS: a core language for abstract behavioral specification. In: Aichernig, B.K., Boer, F.S., Bonsangue, M.M. (eds.) FMCO 2010. LNCS, vol. 6957, pp. 142–164. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-25271-6_8 CrossRefGoogle Scholar
  16. 16.
    Kamburjan, E.: Session Types for ABS. Technical report (2016).[pub_id]=tud-cs-2016-0179
  17. 17.
    Kaminski, M., Francez, N.: Finite-memory automata. Theor. Comput. Sci. 134(2), 329–363 (1994)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Neykova, R., Yoshida, N.: Multiparty session actors. In: Kühn, E., Pugliese, R. (eds.) COORDINATION 2014. LNCS, vol. 8459, pp. 131–146. Springer, Heidelberg (2014). doi: 10.1007/978-3-662-43376-8_9 CrossRefGoogle Scholar
  19. 19.
    Scalas, A., Yoshida, N.: Lightweight session programming in Scala. In: Krishnamurthi, S., Lerner, B.S. (eds.) ECOOP 2016. LIPIcs, vol. 56, pp. 21:1–21:28. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik (2016)Google Scholar
  20. 20.
    Strom, R.E., Yemini, S.: Typestate: a programming language concept for enhancing software reliability. IEEE Trans. Softw. Eng. 12(1), 157–171 (1986)CrossRefzbMATHGoogle Scholar
  21. 21.
    Takeuchi, K., Honda, K., Kubo, M.: An interaction-based language and its typing system. In: Halatsis, C., Maritsas, D., Philokyprou, G., Theodoridis, S. (eds.) PARLE 1994. LNCS, vol. 817, pp. 398–413. Springer, Heidelberg (1994). doi: 10.1007/3-540-58184-7_118 CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Eduard Kamburjan
    • 1
    Email author
  • Crystal Chang Din
    • 2
  • Tzu-Chun Chen
    • 1
  1. 1.Department of Computer ScienceTU DarmstadtDarmstadtGermany
  2. 2.Department of InformaticsUniversity of OsloOsloNorway

Personalised recommendations