{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,7,27]],"date-time":"2025-07-27T07:38:12Z","timestamp":1753601892245,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":35,"publisher":"ACM","license":[{"start":{"date-parts":[[2021,10,11]],"date-time":"2021-10-11T00:00:00Z","timestamp":1633910400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100004351","name":"Cisco Systems","doi-asserted-by":"publisher","id":[{"id":"10.13039\/100004351","id-type":"DOI","asserted-by":"publisher"}]},{"name":"SNF","award":["407540_167173"],"award-info":[{"award-number":["407540_167173"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2021,10,11]]},"DOI":"10.1145\/3482898.3483353","type":"proceedings-article","created":{"date-parts":[[2021,11,8]],"date-time":"2021-11-08T11:07:28Z","timestamp":1636369648000},"page":"54-65","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":5,"title":["P4 Weaver"],"prefix":"10.1145","author":[{"given":"Ali","family":"Fattaholmanan","sequence":"first","affiliation":[{"name":"Universit\u00e0 della Svizzera italiana"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Mario","family":"Baldi","sequence":"additional","affiliation":[{"name":"Politecnico di Torino"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Antonio","family":"Carzaniga","sequence":"additional","affiliation":[{"name":"Universit\u00e0 della Svizzera italiana"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Robert","family":"Soul\u00e9","sequence":"additional","affiliation":[{"name":"Yale University"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2021,11,8]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"ANTLR 2021. ANTLR: ANother Tool for Language Recognition. https:\/\/www.antlr.org.  ANTLR 2021. ANTLR: ANother Tool for Language Recognition. https:\/\/www.antlr.org."},{"key":"e_1_3_2_1_2_1","unstructured":"Arista 7170 Series [n. d.]. Arista 7170 Series. https:\/\/www.arista.com\/en\/products\/7170-series.  Arista 7170 Series [n. d.]. Arista 7170 Series. https:\/\/www.arista.com\/en\/products\/7170-series."},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/ANCS.2019.8901893"},{"key":"e_1_3_2_1_4_1","unstructured":"barefoot [n. d.]. Barefoot Tofino. https:\/\/www.barefootnetworks.com\/technology\/#tofino.  barefoot [n. d.]. Barefoot Tofino. https:\/\/www.barefootnetworks.com\/technology\/#tofino."},{"key":"e_1_3_2_1_5_1","unstructured":"Barefoot Networks Deep Insight 2021. Barefoot Networks Deep Insight. https:\/\/www.barefootnetworks.com\/products\/brief-deep-insight\/.  Barefoot Networks Deep Insight 2021. Barefoot Networks Deep Insight. https:\/\/www.barefootnetworks.com\/products\/brief-deep-insight\/."},{"key":"e_1_3_2_1_6_1","unstructured":"Behavioral Model (bmv2) 2021. The P4 Reference Switch. https:\/\/github.com\/p4lang\/behavioral-model.  Behavioral Model (bmv2) 2021. The P4 Reference Switch. https:\/\/github.com\/p4lang\/behavioral-model."},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/2656877.2656890"},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2014.19"},{"key":"e_1_3_2_1_9_1","unstructured":"Broadcom BroadView Analytics 2021. Broadcom BroadView Analytics. https:\/\/www.broadcom.com\/products\/ethernet-connectivity\/software\/broadview-analytics.  Broadcom BroadView Analytics 2021. Broadcom BroadView Analytics. https:\/\/www.broadcom.com\/products\/ethernet-connectivity\/software\/broadview-analytics."},{"key":"e_1_3_2_1_10_1","unstructured":"broadcom-csg-mktg @github. 2021. Introduction to NPLSpec. https:\/\/github.com\/nplang\/NPL-Spec.  broadcom-csg-mktg @github. 2021. Introduction to NPLSpec. https:\/\/github.com\/nplang\/NPL-Spec."},{"key":"e_1_3_2_1_11_1","unstructured":"Cisco Nexus 3400 series [n. d.]. Cisco Nexus 3400 series. https:\/\/www.cisco.com\/c\/en\/us\/products\/switches\/nexus-3000-series-switches\/models-comparison.html#~tab-nexus3400.  Cisco Nexus 3400 series [n. d.]. Cisco Nexus 3400 series. https:\/\/www.cisco.com\/c\/en\/us\/products\/switches\/nexus-3000-series-switches\/models-comparison.html#~tab-nexus3400."},{"key":"e_1_3_2_1_12_1","unstructured":"Cisco Silicon One [n. d.]. Cisco Silicon One. https:\/\/www.cisco.com\/c\/en\/us\/solutions\/silicon-one.html.  Cisco Silicon One [n. d.]. Cisco Silicon One. https:\/\/www.cisco.com\/c\/en\/us\/solutions\/silicon-one.html."},{"key":"e_1_3_2_1_13_1","unstructured":"DPDK [n. d.]. DPDK. http:\/\/dpdk.org\/.  DPDK [n. d.]. DPDK. http:\/\/dpdk.org\/."},{"key":"e_1_3_2_1_14_1","unstructured":"Edgecore Wedge100BF-32X [n. d.]. Edgecore Wedge100BF-32X. https:\/\/www.edge-core.com\/productsInfo.php?cls=1&cls2=5&cls3=181&id=335.  Edgecore Wedge100BF-32X [n. d.]. Edgecore Wedge100BF-32X. https:\/\/www.edge-core.com\/productsInfo.php?cls=1&cls2=5&cls3=181&id=335."},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/3387514.3405879"},{"key":"e_1_3_2_1_16_1","first-page":"71","volume-title":"11th USENIX Symposium on Networked Systems Design and Implementation (NSDI '14)","author":"Handigol Nikhil","year":"2014","unstructured":"Nikhil Handigol , Brandon Heller , Vimalkumar Jeyakumar , David Mazi\u00e8res , and Nick McKeown . 2014 . I Know What Your Packet Did Last Hop: Using Packet Histories to Troubleshoot Networks . In 11th USENIX Symposium on Networked Systems Design and Implementation (NSDI '14) . 71 - 85 . Nikhil Handigol, Brandon Heller, Vimalkumar Jeyakumar, David Mazi\u00e8res, and Nick McKeown. 2014. I Know What Your Packet Did Last Hop: Using Packet Histories to Troubleshoot Networks. In 11th USENIX Symposium on Networked Systems Design and Implementation (NSDI '14).71-85."},{"key":"e_1_3_2_1_17_1","unstructured":"header.p4 2021. header.p4. https:\/\/github.com\/opennetworkinglab\/onos\/blob\/master\/pipelines\/fabric\/impl\/src\/main\/resources\/include\/header.p4.  header.p4 2021. header.p4. https:\/\/github.com\/opennetworkinglab\/onos\/blob\/master\/pipelines\/fabric\/impl\/src\/main\/resources\/include\/header.p4."},{"key":"e_1_3_2_1_18_1","unstructured":"int 2021. Inband Network Telemetry (INT). https:\/\/github.com\/p4lang\/p4factory\/tree\/master\/apps\/int.  int 2021. Inband Network Telemetry (INT). https:\/\/github.com\/p4lang\/p4factory\/tree\/master\/apps\/int."},{"key":"e_1_3_2_1_19_1","first-page":"220","volume-title":"Aspect-Oriented Programming. In Proceedings of the 15th European Conference on Object-Oriented Programming (ECOOP '97)","author":"Gregor","unstructured":"Gregor Kiczales et al. 1997 . Aspect-Oriented Programming. In Proceedings of the 15th European Conference on Object-Oriented Programming (ECOOP '97) . 220 - 242 . Gregor Kiczales et al. 1997. Aspect-Oriented Programming. In Proceedings of the 15th European Conference on Object-Oriented Programming (ECOOP '97).220-242."},{"key":"e_1_3_2_1_20_1","unstructured":"S\u00e1ndor Laki. 2016. High-Speed Forwarding: A P4 Compiler with a Hardware Abstraction Library for Intel DPDK. In P4 Workshop (P4WS).  S\u00e1ndor Laki. 2016. High-Speed Forwarding: A P4 Compiler with a Hardware Abstraction Library for Intel DPDK. In P4 Workshop (P4WS)."},{"key":"e_1_3_2_1_21_1","unstructured":"MNK Lans and Consulting. 2021. P4-Ansible. https:\/\/mnkcg.com\/products\/p4-ansible.  MNK Lans and Consulting. 2021. P4-Ansible. https:\/\/mnkcg.com\/products\/p4-ansible."},{"key":"e_1_3_2_1_22_1","first-page":"31","volume-title":"Cheap and in Control with SwitchKV. In 13th USENIX Symposium on Networked Systems Design and Implementation) (NSDI '16)","author":"Li Xiaozhou","unstructured":"Xiaozhou Li , Raghav Sethi , Michael Kaminsky , David G. Andersen , and Michael J. Freedman . 2016. Be Fast , Cheap and in Control with SwitchKV. In 13th USENIX Symposium on Networked Systems Design and Implementation) (NSDI '16) . 31 - 44 . Xiaozhou Li, Raghav Sethi, Michael Kaminsky, David G. Andersen, and Michael J. Freedman. 2016. Be Fast, Cheap and in Control with SwitchKV. In 13th USENIX Symposium on Networked Systems Design and Implementation) (NSDI '16).31-44."},{"key":"e_1_3_2_1_23_1","unstructured":"Open-NFP [n. d.]. Open-NFP. http:\/\/open-nfp.org\/.  Open-NFP [n. d.]. Open-NFP. http:\/\/open-nfp.org\/."},{"key":"e_1_3_2_1_24_1","unstructured":"Open vSwitch [n. d.]. Open vSwitch. http:\/\/www.openvswitch.org.  Open vSwitch [n. d.]. Open vSwitch. http:\/\/www.openvswitch.org."},{"key":"e_1_3_2_1_25_1","unstructured":"P4 16 Language Specification 2021. P416Language Specification Version 1.1.0. https:\/\/p4.org\/p4-spec\/docs\/P4-16-v1.0.0-spec.html.  P4 16 Language Specification 2021. P416Language Specification Version 1.1.0. https:\/\/p4.org\/p4-spec\/docs\/P4-16-v1.0.0-spec.html."},{"key":"e_1_3_2_1_26_1","unstructured":"p4org [n. d.]. P4 Language Consortium. https:\/\/p4.org.  p4org [n. d.]. P4 Language Consortium. https:\/\/p4.org."},{"key":"e_1_3_2_1_27_1","volume-title":"On the criteria to be used in decomposing systems into modules. Commun. ACM15, 12","author":"Parnas David Lorge","year":"1972","unstructured":"David Lorge Parnas . 1972. On the criteria to be used in decomposing systems into modules. Commun. ACM15, 12 ( 1972 ), 1053--1058. David Lorge Parnas. 1972. On the criteria to be used in decomposing systems into modules. Commun. ACM15, 12 (1972), 1053--1058."},{"key":"e_1_3_2_1_28_1","unstructured":"Pensando Distributed Services for Cloud Providers [n. d.]. Pensando Distributed Services for Cloud Providers. https:\/\/pensando.io\/wp-content\/uploads\/2020\/03\/Pensando-Distributed-Services-for-Cloud-Providers.pdf.  Pensando Distributed Services for Cloud Providers [n. d.]. Pensando Distributed Services for Cloud Providers. https:\/\/pensando.io\/wp-content\/uploads\/2020\/03\/Pensando-Distributed-Services-for-Cloud-Providers.pdf."},{"key":"e_1_3_2_1_29_1","unstructured":"Pensando Distributed Services for the Enterprise [n. d.]. Pensando Distributed Services for the Enterprise. https:\/\/pensando.io\/wp-content\/uploads\/2020\/03\/Pensando-Distributed-Services-for-the-Enterprise.pdf.  Pensando Distributed Services for the Enterprise [n. d.]. Pensando Distributed Services for the Enterprise. https:\/\/pensando.io\/wp-content\/uploads\/2020\/03\/Pensando-Distributed-Services-for-the-Enterprise.pdf."},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/2934872.2934886"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491185.2491190"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/3387514.3405872"},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/3050220.3050234"},{"key":"e_1_3_2_1_34_1","unstructured":"Xilinx. [n. d.]. SDNet. http:\/\/www.xilinx.com\/products\/design-tools\/software-zone\/sdnet.html.  Xilinx. [n. d.]. SDNet. http:\/\/www.xilinx.com\/products\/design-tools\/software-zone\/sdnet.html."},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/3281411.3281436"}],"event":{"name":"SOSR '21: The ACM SIGCOMM Symposium on SDN Research","sponsor":["SIGCOMM ACM Special Interest Group on Data Communication"],"location":"Virtual Event USA","acronym":"SOSR '21"},"container-title":["Proceedings of the ACM SIGCOMM Symposium on SDN Research (SOSR)"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3482898.3483353","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3482898.3483353","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T20:48:45Z","timestamp":1750193325000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3482898.3483353"}},"subtitle":["Supporting Modular and Incremental Programming in P4"],"short-title":[],"issued":{"date-parts":[[2021,10,11]]},"references-count":35,"alternative-id":["10.1145\/3482898.3483353","10.1145\/3482898"],"URL":"https:\/\/doi.org\/10.1145\/3482898.3483353","relation":{},"subject":[],"published":{"date-parts":[[2021,10,11]]},"assertion":[{"value":"2021-11-08","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}