@INPROCEEDINGS{DBLP:conf/birthday/BettiniCDGV08,
  title = {{Session and Union Types for Object Oriented Programming}},
  author = {Bettini, Lorenzo and Capecchi, Sara and Dezani-Ciancaglini, Mariangiola and Giachino, Elena and Venneri, Betti},
  booktitle = {Concurrency, Graphs and Models},
  pages = {659-680},
  abstract = {In network applications it is crucial to have a mechanism to guarantee that
      communications evolve correctly according to the agreed protocol. Session types
      offer a method for abstracting and validating structured communication
      sequences
      (sessions).  In this paper we propose union types for refining and enhancing
      the
      flexibility of session types in the context of communication centred and object
      oriented programming. We demonstrate our ideas through an example and a
      calculus
      formalising the main issues of the present approach. The type system garantees
      that, in well-typed executable programs, after a session
      has started, the values sent and received will be of the appropriate type, and
      no
      process can get stuck forever.},
  volume = {5065},
  year = {2008},
  url = {http://rap.dsi.unifi.it/phpbibliography/files/bcdgv.pdf},
  publisher = {Springer},
  series = {LNCS},
}