{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:11:13Z","timestamp":1750306273297,"version":"3.41.0"},"reference-count":51,"publisher":"Association for Computing Machinery (ACM)","issue":"ICFP","license":[{"start":{"date-parts":[[2017,8,29]],"date-time":"2017-08-29T00:00:00Z","timestamp":1503964800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Program. Lang."],"published-print":{"date-parts":[[2017,8,29]]},"abstract":"<jats:p>Software-defined radio (SDR) promises to bring the flexibility and rapid iterative workflow of software to radio protocol design. Many factors make achieving this promise challenging, not least of which are the high data rates and timing requirements of real-world radio protocols. The Ziria language and accompanying compiler demonstrated that a high-level language can compete in this demanding space, but extracting reusable lessons from this success is difficult due to Ziria's lack of a formal semantics. Our first contribution is a core language, operational semantics, and type system for Ziria.<\/jats:p>\n          <jats:p>The insight we gained through developing this operational semantics led to our second contribution, consisting of two program transformations. The first is fusion, which can eliminate intermediate queues in Ziria programs. Fusion subsumes many one-off optimizations performed by the original Ziria compiler. The second transformation is pipeline coalescing, which reduces execution overhead by batching IO. Pipeline coalescing relies critically on fusion and provides a much simpler story for the original Ziria compiler's \"vectorization\" transformation. These developments serve as the basis of our third contribution, a new compiler for Ziria that produces significantly faster code than the original compiler. The new compiler leverages our intermediate language to help eliminate unnecessary memory traffic.<\/jats:p>\n          <jats:p>As well as providing a firm foundation for the Ziria language, our work on an operational semantics resulted in very real software engineering benefits. These benefits need not be limited to SDR---the core language and accompanying transformations we present are applicable to other domains that require processing streaming data at high speed.<\/jats:p>","DOI":"10.1145\/3110263","type":"journal-article","created":{"date-parts":[[2017,8,29]],"date-time":"2017-08-29T18:19:41Z","timestamp":1504030781000},"page":"1-26","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":3,"title":["Better living through operational semantics: an optimizing compiler for radio protocols"],"prefix":"10.1145","volume":"1","author":[{"given":"Geoffrey","family":"Mainland","sequence":"first","affiliation":[{"name":"Drexel University, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2017,8,29]]},"reference":[{"key":"e_1_2_2_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/359636.359715"},{"key":"e_1_2_2_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491246.2491254"},{"key":"e_1_2_2_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/2342441.2342464"},{"key":"e_1_2_2_4_1","doi-asserted-by":"publisher","DOI":"10.1016\/0167-6423(92)90005-V"},{"key":"e_1_2_2_5_1","first-page":"122","article-title":"GNU Radio: Tools for Exploring the Radio Frequency Spectrum","volume":"2004","author":"Blossom Eric","year":"2004","journal-title":"Linux Journal"},{"key":"e_1_2_2_6_1","unstructured":"Magnus Carlsson and Thomas Hallgren. 1998. Fudgets - Purely Functional Processes with Applications to Graphical User Interfaces. Ph.D. Dissertation. Chalmers University of Technology G\u00f6teborg Sweden.  Magnus Carlsson and Thomas Hallgren. 1998. Fudgets - Purely Functional Processes with Applications to Graphical User Interfaces. Ph.D. Dissertation. Chalmers University of Technology G\u00f6teborg Sweden."},{"volume-title":"Eighth International Symposium on Languages for Intentional Programming (ISLIP \u201995)","year":"1995","author":"Caspi Paul","key":"e_1_2_2_7_1"},{"key":"e_1_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPEC.2014.7040969"},{"volume-title":"Proceedings of the 2001 ACM SIGPLAN Haskell Workshop (HW \u201901)","year":"2001","author":"Courtney Antony","key":"e_1_2_2_9_1"},{"key":"e_1_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1291151.1291199"},{"key":"e_1_2_2_11_1","unstructured":"Fr\u00e9d\u00e9ric de Mesmay. 2010. On the Computer Generation of Adaptive Numerical Libraries. Ph.D. Dissertation. Electrical and Computer Engineering Carnegie Mellon University.  Fr\u00e9d\u00e9ric de Mesmay. 2010. On the Computer Generation of Adaptive Numerical Libraries. Ph.D. Dissertation. Electrical and Computer Engineering Carnegie Mellon University."},{"key":"e_1_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10990-005-4877-4"},{"key":"e_1_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491246.2491247"},{"key":"e_1_2_2_14_1","unstructured":"Ettus Research. 2017. Ettus Research USRP: Universal Software Radio Peripheral. (Feb. 2017). http:\/\/www.ettus.com\/  Ettus Research. 2017. Ettus Research USRP: Universal Software Radio Peripheral. (Feb. 2017). http:\/\/www.ettus.com\/"},{"key":"e_1_2_2_15_1","unstructured":"Matthias Felleisen. 1987. The Calculi of Lambda\u03bd -CS Conversion: A Syntactic Theory of Control and State in Imperative Higher-Order Programming Languages. Ph.D. Dissertation. Indiana University Indianapolis IN.  Matthias Felleisen. 1987. The Calculi of Lambda\u03bd -CS Conversion: A Syntactic Theory of Control and State in Imperative Higher-Order Programming Languages. Ph.D. Dissertation. Indiana University Indianapolis IN."},{"key":"e_1_2_2_16_1","unstructured":"Matthias Felleisen Robert Bruce Findler and Matthew Flatt. 2009. Semantics Engineering with PLT Redex. The MIT Press Cambridge MA.  Matthias Felleisen Robert Bruce Findler and Matthew Flatt. 2009. Semantics Engineering with PLT Redex. The MIT Press Cambridge MA."},{"key":"e_1_2_2_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSP.2009.934155"},{"key":"e_1_2_2_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/301618.301661"},{"key":"e_1_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-18317-5_15"},{"key":"e_1_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/165180.165214"},{"key":"e_1_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/5.97300"},{"volume-title":"Selected Papers from the 3rd Scottish Functional Programming Workshop (SFP \u201901)","author":"Hamilton G. W.","key":"e_1_2_2_22_1"},{"key":"e_1_2_2_23_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0167-6423(99)00023-4"},{"key":"e_1_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1109\/IEEESTD.2012.6178212"},{"key":"e_1_2_2_25_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-44806-3_4"},{"key":"e_1_2_2_26_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-51676-9_12"},{"key":"e_1_2_2_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/2500365.2500601"},{"key":"e_1_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4471-3215-8_14"},{"volume-title":"Proceedings of the 14th European Signal Processing Conference (EUSIPCO \u201906)","year":"2006","author":"Murphy Patrick","key":"e_1_2_2_29_1"},{"key":"e_1_2_2_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/1872007.1872013"},{"key":"e_1_2_2_31_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4020-8588-8_8"},{"key":"e_1_2_2_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/158511.158524"},{"key":"e_1_2_2_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/JPROC.2004.840306"},{"volume-title":"Proceedings of SDR-WInnComm","year":"2013","author":"Rondeau T.","key":"e_1_2_2_34_1"},{"key":"e_1_2_2_35_1","unstructured":"Sora Core Team and Kun Tan. 2012. Brick Specification. Technical Report MSR-TR-2012-26. Microsoft Research.  Sora Core Team and Kun Tan. 2012. Brick Specification. Technical Report MSR-TR-2012-26. Microsoft Research."},{"key":"e_1_2_2_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/2694344.2694368"},{"key":"e_1_2_2_37_1","unstructured":"Gordon Stewart Dimitrios Vytiniotis Geoffrey Mainland Bozidar Radunovic and Edsko de Vries. 2016. Ziria. (April 2016). https:\/\/github.com\/dimitriv\/Ziria Version 85cc34db.  Gordon Stewart Dimitrios Vytiniotis Geoffrey Mainland Bozidar Radunovic and Edsko de Vries. 2016. Ziria. (April 2016). https:\/\/github.com\/dimitriv\/Ziria Version 85cc34db."},{"key":"e_1_2_2_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/581478.581491"},{"key":"e_1_2_2_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/224164.224221"},{"volume-title":"Proceedings of the 6th USENIX Symposium on Networked Systems Design and Implementation (NSDI \u201909)","author":"Tan Kun","key":"e_1_2_2_40_1"},{"key":"e_1_2_2_41_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2002.997877"},{"key":"e_1_2_2_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/1854273.1854319"},{"key":"e_1_2_2_43_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-45937-5_14"},{"key":"e_1_2_2_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065944.1065975"},{"key":"e_1_2_2_45_1","doi-asserted-by":"publisher","DOI":"10.1137\/1.9781611970999"},{"volume-title":"Proceedings of Software Defined Radio (SDR \u201910)","year":"2010","author":"Voronenko Yevgen","key":"e_1_2_2_46_1"},{"key":"e_1_2_2_47_1","unstructured":"William W. Wadge and Edward A. Ashcroft. 1985. Lucid the Dataflow Programming Language. Number 22 in A.P.I.C. Studies in Data Processing. Academic Press London.  William W. Wadge and Edward A. Ashcroft. 1985. Lucid the Dataflow Programming Language. Number 22 in A.P.I.C. Studies in Data Processing. Academic Press London."},{"key":"e_1_2_2_48_1","doi-asserted-by":"publisher","DOI":"10.1016\/0304-3975(90)90147-A"},{"key":"e_1_2_2_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/75277.75283"},{"key":"e_1_2_2_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/349299.349331"},{"key":"e_1_2_2_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/378795.378860"}],"container-title":["Proceedings of the ACM on Programming Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3110263","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3110263","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:38:44Z","timestamp":1750221524000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3110263"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,8,29]]},"references-count":51,"journal-issue":{"issue":"ICFP","published-print":{"date-parts":[[2017,8,29]]}},"alternative-id":["10.1145\/3110263"],"URL":"https:\/\/doi.org\/10.1145\/3110263","relation":{},"ISSN":["2475-1421"],"issn-type":[{"type":"electronic","value":"2475-1421"}],"subject":[],"published":{"date-parts":[[2017,8,29]]},"assertion":[{"value":"2017-08-29","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}