{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,5]],"date-time":"2026-02-05T10:58:47Z","timestamp":1770289127028,"version":"3.49.0"},"reference-count":1,"publisher":"Centre pour la Communication Scientifique Directe (CCSD)","license":[{"start":{"date-parts":[[2015,12,16]],"date-time":"2015-12-16T00:00:00Z","timestamp":1450224000000},"content-version":"unspecified","delay-in-days":0,"URL":"https:\/\/arxiv.org\/licenses\/nonexclusive-distrib\/1.0"}],"funder":[{"name":"Funda\u00e7\u00e3o para a Ci\u00eancia e a Tecnologia, I.P.","award":["SFRH\/BSAB\/757\/2007"],"award-info":[{"award-number":["SFRH\/BSAB\/757\/2007"]}]},{"DOI":"10.13039\/100014013","name":"UK Research and Innovation","doi-asserted-by":"crossref","award":["EP\/K034413\/1"],"award-info":[{"award-number":["EP\/K034413\/1"]}],"id":[{"id":"10.13039\/100014013","id-type":"DOI","asserted-by":"crossref"}]},{"DOI":"10.13039\/100014013","name":"UK Research and Innovation","doi-asserted-by":"crossref","award":["EP\/E065708\/1"],"award-info":[{"award-number":["EP\/E065708\/1"]}],"id":[{"id":"10.13039\/100014013","id-type":"DOI","asserted-by":"crossref"}]},{"DOI":"10.13039\/100014013","name":"UK Research and Innovation","doi-asserted-by":"crossref","award":["EP\/F037368\/1"],"award-info":[{"award-number":["EP\/F037368\/1"]}],"id":[{"id":"10.13039\/100014013","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"abstract":"<jats:p>Session types allow communication protocols to be specified\ntype-theoretically so that protocol implementations can be verified by static\ntype checking. We extend previous work on session types for distributed\nobject-oriented languages in three ways. (1) We attach a session type to a\nclass definition, to specify the possible sequences of method calls. (2) We\nallow a session type (protocol) implementation to be modularized, i.e.\npartitioned into separately-callable methods. (3) We treat session-typed\ncommunication channels as objects, integrating their session types with the\nsession types of classes. The result is an elegant unification of communication\nchannels and their session types, distributed object-oriented programming, and\na form of typestate supporting non-uniform objects, i.e. objects that\ndynamically change the set of available methods. We define syntax, operational\nse-mantics, a sound type system, and a sound and complete type checking\nalgorithm for a small distributed class-based object-oriented language with\nstructural subtyping. Static typing guarantees that both sequences of messages\non channels, and sequences of method calls on objects, conform to\ntype-theoretic specifications, thus ensuring type-safety. The language includes\nexpected features of session types, such as delegation, and expected features\nof object-oriented programming, such as encapsulation of local state.<\/jats:p>","DOI":"10.2168\/lmcs-11(4:12)2015","type":"journal-article","created":{"date-parts":[[2016,11,21]],"date-time":"2016-11-21T13:46:40Z","timestamp":1479736000000},"source":"Crossref","is-referenced-by-count":8,"title":["Modular session types for objects"],"prefix":"10.46298","volume":"Volume 11, Issue 4","author":[{"given":"Simon J.","family":"Gay","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Nils","family":"Gesbert","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8074-0380","authenticated-orcid":false,"given":"Ant\u00f3nio","family":"Ravara","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Vasco T.","family":"Vasconcelos","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"25203","published-online":{"date-parts":[[2015,12,16]]},"reference":[{"key":"1129:not-found"}],"container-title":["Logical Methods in Computer Science"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/lmcs.episciences.org\/1613\/pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/lmcs.episciences.org\/1613\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,4,11]],"date-time":"2023-04-11T20:08:03Z","timestamp":1681243683000},"score":1,"resource":{"primary":{"URL":"https:\/\/lmcs.episciences.org\/1613"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015,12,16]]},"references-count":1,"URL":"https:\/\/doi.org\/10.2168\/lmcs-11(4:12)2015","relation":{"is-same-as":[{"id-type":"arxiv","id":"1205.5344","asserted-by":"subject"},{"id-type":"doi","id":"10.48550\/arXiv.1205.5344","asserted-by":"subject"}]},"ISSN":["1860-5974"],"issn-type":[{"value":"1860-5974","type":"electronic"}],"subject":[],"published":{"date-parts":[[2015,12,16]]},"article-number":"1613"}}