{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,30]],"date-time":"2026-03-30T07:38:05Z","timestamp":1774856285396,"version":"3.50.1"},"reference-count":20,"publisher":"Association for Computing Machinery (ACM)","issue":"5","license":[{"start":{"date-parts":[[2012,3,25]],"date-time":"2012-03-25T00:00:00Z","timestamp":1332633600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGARCH Comput. Archit. News"],"published-print":{"date-parts":[[2012,12,25]]},"abstract":"<jats:p>This paper introduces a new programming framework based on the theory of session types for safe, reconfigurable parallel designs. We apply the session type theory to C and Java programming languages and demonstrate that the sessionbased languages can offer a clear and tractable framework to describe communications between parallel components and guarantee communication-safety and deadlock-freedom by compile-time type checking. Many representative communication topologies such as a ring or scatter-gather can be programmed and verified in session-based programming languages. Case studies involving N-body simulation and Kmeans clustering are used to illustrate the session-based programming style and to demonstrate that the session-based languages perform competitively against MPI counterparts in an FPGA-based heterogeneous cluster, as well as the potential of integrating them with FPGA acceleration.<\/jats:p>","DOI":"10.1145\/2460216.2460221","type":"journal-article","created":{"date-parts":[[2013,4,9]],"date-time":"2013-04-09T12:17:58Z","timestamp":1365509878000},"page":"22-27","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":6,"title":["Session types"],"prefix":"10.1145","volume":"40","author":[{"given":"Nicholas","family":"Ng","sequence":"first","affiliation":[{"name":"Imperial College London, UK"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Nobuko","family":"Yoshida","sequence":"additional","affiliation":[{"name":"Imperial College London, UK"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Xin Yu","family":"Niu","sequence":"additional","affiliation":[{"name":"Imperial College London, UK"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Kuen Hung","family":"Tsoi","sequence":"additional","affiliation":[{"name":"Imperial College London, UK"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2012,3,25]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASAP.2011.6043231"},{"key":"e_1_2_1_2_1","series-title":"LNCS","first-page":"55","volume-title":"ICDCIT","author":"Honda K.","year":"2011"},{"key":"e_1_2_1_3_1","series-title":"LNCS","first-page":"122","volume-title":"ESOP","author":"Honda K.","year":"1998"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1328438.1328472"},{"key":"e_1_2_1_5_1","series-title":"LNCS","first-page":"329","volume-title":"ECOOP","author":"Hu R.","year":"2010"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-70592-5_22"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-00590-9_23"},{"key":"e_1_2_1_8_1","unstructured":"MPJ Express homepage. http:\/\/mpj-express.org\/.  MPJ Express homepage. http:\/\/mpj-express.org\/."},{"key":"e_1_2_1_9_1","series-title":"LNCS","first-page":"110","volume-title":"COORDINATION","author":"Ng N.","year":"2011"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-30561-0_15"},{"key":"e_1_2_1_11_1","unstructured":"OpenMPI Homepage. http:\/\/www.open-mpi.org\/.  OpenMPI Homepage. http:\/\/www.open-mpi.org\/."},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1862648.1862652"},{"key":"e_1_2_1_13_1","unstructured":"Scribble homepage. http:\/\/www.jboss.org\/scribble.  Scribble homepage. http:\/\/www.jboss.org\/scribble."},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jpdc.2009.02.006"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1941553.1941603"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1723112.1723134"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1504176.1504214"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/SC.2010.7"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1007\/s11265-007-0062-9"},{"key":"e_1_2_1_20_1","unstructured":"Session C homepage. http:\/\/www.doc.ic.ac.uk\/~cn06\/sessionc\/.  Session C homepage. http:\/\/www.doc.ic.ac.uk\/~cn06\/sessionc\/."}],"container-title":["ACM SIGARCH Computer Architecture News"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2460216.2460221","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2460216.2460221","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T08:18:46Z","timestamp":1750234726000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2460216.2460221"}},"subtitle":["towards safe and fast reconfigurable programming"],"short-title":[],"issued":{"date-parts":[[2012,3,25]]},"references-count":20,"journal-issue":{"issue":"5","published-print":{"date-parts":[[2012,12,25]]}},"alternative-id":["10.1145\/2460216.2460221"],"URL":"https:\/\/doi.org\/10.1145\/2460216.2460221","relation":{},"ISSN":["0163-5964"],"issn-type":[{"value":"0163-5964","type":"print"}],"subject":[],"published":{"date-parts":[[2012,3,25]]},"assertion":[{"value":"2012-03-25","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}