{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2022,4,4]],"date-time":"2022-04-04T21:01:14Z","timestamp":1649106074390},"reference-count":17,"publisher":"Cambridge University Press (CUP)","issue":"8","license":[{"start":{"date-parts":[[2015,1,9]],"date-time":"2015-01-09T00:00:00Z","timestamp":1420761600000},"content-version":"unspecified","delay-in-days":0,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Math. Struct. Comp. Sci."],"published-print":{"date-parts":[[2016,12]]},"abstract":"<jats:p>We present a type system to guarantee termination of \u03c0-calculus processes that exploits input\/output capabilities and subtyping, as originally introduced by Pierce and Sangiorgi, in order to analyse the usage of channels.<\/jats:p><jats:p>Our type system is based on Deng and Sangiorgi's level-based analysis of processes. We show that the addition of i\/o-types makes it possible to typecheck processes where a form of<jats:italic>level polymorphism<\/jats:italic>is at work. We discuss to what extent this programming idiom can be treated by previously existing proposals. We demonstrate how our system can be extended to handle the encoding of the simply-typed \u03bb-calculus, and discuss questions related to type inference.<\/jats:p>","DOI":"10.1017\/s0960129514000620","type":"journal-article","created":{"date-parts":[[2015,1,9]],"date-time":"2015-01-09T08:36:37Z","timestamp":1420792597000},"page":"1395-1432","source":"Crossref","is-referenced-by-count":2,"title":["Termination in a \u03c0-calculus with subtyping"],"prefix":"10.1017","volume":"26","author":[{"given":"IOANA","family":"CRISTESCU","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"DANIEL","family":"HIRSCHKOFF","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"56","published-online":{"date-parts":[[2015,1,9]]},"reference":[{"key":"S0960129514000620_ref10","doi-asserted-by":"publisher","DOI":"10.1006\/inco.2000.2872"},{"key":"S0960129514000620_ref8","unstructured":"Ericsson Computer Science Laboratory. (2012) Erlang programming language website. Available at http:\/\/www.erlang.org."},{"key":"S0960129514000620_ref14","doi-asserted-by":"publisher","DOI":"10.1017\/S0960129505004810"},{"key":"S0960129514000620_ref5","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-04164-8_13"},{"key":"S0960129514000620_ref2","doi-asserted-by":"publisher","DOI":"10.4204\/EPTCS.64.4"},{"key":"S0960129514000620_ref9","doi-asserted-by":"publisher","DOI":"10.1017\/S0960129504004281"},{"key":"S0960129514000620_ref16","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-57208-2_36"},{"key":"S0960129514000620_ref12","unstructured":"Mandel L. and Maranget L. (2012) The JoCaml programming language. Available at http:\/\/jocaml.inria.fr."},{"key":"S0960129514000620_ref6","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-15375-4_23"},{"key":"S0960129514000620_ref4","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-78663-4_11"},{"key":"S0960129514000620_ref7","doi-asserted-by":"publisher","DOI":"10.1016\/j.ic.2006.03.002"},{"key":"S0960129514000620_ref11","doi-asserted-by":"publisher","DOI":"10.1145\/1745312.1745313"},{"key":"S0960129514000620_ref17","doi-asserted-by":"publisher","DOI":"10.1016\/j.ic.2003.08.004"},{"key":"S0960129514000620_ref13","doi-asserted-by":"crossref","first-page":"409","DOI":"10.1017\/S096012950007002X","article-title":"Typing and subtyping for mobile processes","volume":"6","author":"Pierce","year":"1996","journal-title":"Mathematical Structures in Computer Science"},{"key":"S0960129514000620_ref15","volume-title":"The \u03c0-Calculus: A Theory of Mobile Processes","author":"Sangiorgi","year":"2001"},{"key":"S0960129514000620_ref3","unstructured":"Demangeon R. (2010) Terminaison des syst\u00e8mes concurrents, Ph.D. thesis, ENS Lyon, 2010."},{"key":"S0960129514000620_ref1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-48749-2_2"}],"container-title":["Mathematical Structures in Computer Science"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S0960129514000620","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,8,19]],"date-time":"2019-08-19T13:17:23Z","timestamp":1566220643000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S0960129514000620\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015,1,9]]},"references-count":17,"journal-issue":{"issue":"8","published-print":{"date-parts":[[2016,12]]}},"alternative-id":["S0960129514000620"],"URL":"https:\/\/doi.org\/10.1017\/s0960129514000620","relation":{},"ISSN":["0960-1295","1469-8072"],"issn-type":[{"value":"0960-1295","type":"print"},{"value":"1469-8072","type":"electronic"}],"subject":[],"published":{"date-parts":[[2015,1,9]]}}}