{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,20]],"date-time":"2025-11-20T18:56:23Z","timestamp":1763664983529,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":53,"publisher":"ACM","license":[{"start":{"date-parts":[[2022,5,16]],"date-time":"2022-05-16T00:00:00Z","timestamp":1652659200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/100012338","name":"Alan Turing Institute","doi-asserted-by":"publisher","id":[{"id":"10.13039\/100012338","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2022,5,16]]},"DOI":"10.1145\/3522664.3528601","type":"proceedings-article","created":{"date-parts":[[2022,10,17]],"date-time":"2022-10-17T16:30:14Z","timestamp":1666024214000},"page":"54-64","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":5,"title":["An empirical evaluation of flow based programming in the machine learning deployment context"],"prefix":"10.1145","author":[{"given":"Andrei","family":"Paleyes","sequence":"first","affiliation":[{"name":"University of Cambridge, United Kingdom"}]},{"given":"Christian","family":"Cabrera","sequence":"additional","affiliation":[{"name":"University of Cambridge, United Kingdom"}]},{"given":"Neil D.","family":"Lawrence","sequence":"additional","affiliation":[{"name":"University of Cambridge, United Kingdom"}]}],"member":"320","published-online":{"date-parts":[[2022,10,17]]},"reference":[{"key":"e_1_3_2_1_1_1","volume-title":"Tensorflow: Large-scale machine learning on heterogeneous distributed systems. arXiv preprint arXiv:1603.04467","author":"Abadi Martin","year":"2016","unstructured":"Martin Abadi, Ashish Agarwal, Paul Barham, Eugene Brevdo, Zhifeng Chen, Craig Citro, Greg S Corrado, Andy Davis, Jeffrey Dean, Matthieu Devin, et al. 2016. Tensorflow: Large-scale machine learning on heterogeneous distributed systems. arXiv preprint arXiv:1603.04467 (2016)."},{"key":"e_1_3_2_1_2_1","volume-title":"NoFlo-flow-based programming for Javascript. URL: http:\/\/noflojs.org","author":"Bergius H","year":"2015","unstructured":"H Bergius. 2015. NoFlo-flow-based programming for Javascript. URL: http:\/\/noflojs.org (2015)."},{"key":"e_1_3_2_1_3_1","volume-title":"Milan: An Evolution of Data-Oriented Programming.","author":"Borchert Tom","year":"2020","unstructured":"Tom Borchert. 2020. Milan: An Evolution of Data-Oriented Programming. Available at https:\/\/tborchertblog.wordpress.com\/2020\/02\/13\/28\/."},{"key":"e_1_3_2_1_4_1","volume-title":"Mobile and Multimedia Networks (WoWMoM), 2017 IEEE 18th International Symposium on. IEEE, 1--6.","author":"Cabrera Christian","year":"2017","unstructured":"Christian Cabrera, Fan Li, Vivek Nallur, Andrei Palade, MA Razzaque, Gary White, and Siobhan Clarke. 2017. Implementing heterogeneous, autonomous, and resilient services in IoT: An experience report. In A World of Wireless, Mobile and Multimedia Networks (WoWMoM), 2017 IEEE 18th International Symposium on. IEEE, 1--6."},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/3194164.3194186"},{"key":"e_1_3_2_1_6_1","volume-title":"Apache Flink: Stream and batch processing in a single engine. Bulletin of the IEEE Computer Society Technical Committee on Data Engineering 36, 4","author":"Carbone Paris","year":"2015","unstructured":"Paris Carbone, Asterios Katsifodimos, Stephan Ewen, Volker Markl, Seif Haridi, and Kostas Tzoumas. 2015. Apache Flink: Stream and batch processing in a single engine. Bulletin of the IEEE Computer Society Technical Committee on Data Engineering 36, 4 (2015)."},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/ITHET.2017.8067827"},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/3281022.3281023"},{"key":"e_1_3_2_1_9_1","volume-title":"How to move beyond a monolithic data lake to a distributed data mesh. Martin Fowler's Blog","author":"Dehghani Zhamak","year":"2019","unstructured":"Zhamak Dehghani. 2019. How to move beyond a monolithic data lake to a distributed data mesh. Martin Fowler's Blog (2019)."},{"key":"e_1_3_2_1_10_1","volume-title":"Continual learning in practice. arXiv preprint arXiv:1903.05202","author":"Diethe Tom","year":"2019","unstructured":"Tom Diethe, Tom Borchert, Eno Thereska, Borja Balle, and Neil Lawrence. 2019. Continual learning in practice. arXiv preprint arXiv:1903.05202 (2019)."},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/CVPRW.2011.5981829"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2021.111135"},{"key":"e_1_3_2_1_13_1","volume-title":"Introducing Domain-Oriented Microservice Architecture. Uber Engineering Blog","author":"Gluck Adam","year":"2020","unstructured":"Adam Gluck. 2020. Introducing Domain-Oriented Microservice Architecture. Uber Engineering Blog (2020)."},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.procir.2017.12.194"},{"volume-title":"Less Engineering: A Netflix Original","author":"Goyal Savin","key":"e_1_3_2_1_15_1","unstructured":"Savin Goyal. 2020. More Data Science, Less Engineering: A Netflix Original. USENIX Association."},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/MIC.2021.3053712"},{"key":"e_1_3_2_1_17_1","volume-title":"Actor model of computation: scalable robust information systems. arXiv preprint arXiv:1008.1459","author":"Hewitt Carl","year":"2010","unstructured":"Carl Hewitt. 2010. Actor model of computation: scalable robust information systems. arXiv preprint arXiv:1008.1459 (2010)."},{"key":"e_1_3_2_1_18_1","volume-title":"Aug","author":"Joshi Rajive","year":"2007","unstructured":"Rajive Joshi. 2007. Data-oriented architecture: A loosely-coupled real-time SOA. whitepaper, Aug (2007)."},{"key":"e_1_3_2_1_19_1","first-page":"1","article-title":"Kafka: A distributed messaging system for log processing","volume":"11","author":"Kreps Jay","year":"2011","unstructured":"Jay Kreps, Neha Narkhede, Jun Rao, et al. 2011. Kafka: A distributed messaging system for log processing. In Proceedings of the NetDB, Vol. 11. 1--7.","journal-title":"Proceedings of the NetDB"},{"volume-title":"Building Your Next Big Thing with Google Cloud Platform","author":"Krishnan SPT","key":"e_1_3_2_1_20_1","unstructured":"SPT Krishnan and Jose L Ugia Gonzalez. 2015. Google Cloud Dataflow. In Building Your Next Big Thing with Google Cloud Platform. Springer, 255--275."},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1186\/s13321-016-0179-6"},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/1294948.1294963"},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/850657.850658"},{"key":"e_1_3_2_1_24_1","unstructured":"Neil Lawrence. 2019. Modern Data Oriented Programming. Available at http:\/\/inverseprobability.com\/talks\/notes\/modern-data-oriented-programming.html."},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSME52107.2021.00071"},{"key":"e_1_3_2_1_26_1","volume-title":"Distributed Reinforcement Learning is a Dataflow Problem. arXiv preprint arXiv:2011.12719","author":"Liang Eric","year":"2020","unstructured":"Eric Liang, Zhanghao Wu, Michael Luo, Sven Mika, and Ion Stoica. 2020. Distributed Reinforcement Learning is a Dataflow Problem. arXiv preprint arXiv:2011.12719 (2020)."},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/2481244.2481247"},{"key":"e_1_3_2_1_28_1","unstructured":"O Lobunets and A Krylovskiy. 2014. Applying flow-based programming methodology to data-driven applications development for smart environments."},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2020.106368"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1109\/BLOCKS.2017.8120405"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1976.233837"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.5555\/2946645.2946679"},{"key":"e_1_3_2_1_33_1","volume-title":"Proceedings of the International Scientific and Practical Conference","volume":"2","author":"Mironov Timur","year":"2021","unstructured":"Timur Mironov, Lilia Motaylenko, Dmitry Andreev, Igor Antonov, and Mikhail Aristov. 2021. Comparison of Object-Oriented Programming and Data-Oriented Design for Implementing Trading Strategies Backtester. In ENVIRONMENT. TECHNOLOGIES. RESOURCES. Proceedings of the International Scientific and Practical Conference, Vol. 2. 124--130."},{"key":"e_1_3_2_1_34_1","volume-title":"Proc. 1st International Workshop on Software Engineering for Parallel and Distributed Systems. 25--29","author":"Morrison J Paul","year":"1994","unstructured":"J Paul Morrison. 1994. Flow-based programming. In Proc. 1st International Workshop on Software Engineering for Parallel and Distributed Systems. 25--29."},{"key":"e_1_3_2_1_35_1","unstructured":"J Paul Morrison. 2010. Flow-Based Programming: A new approach to application development. CreateSpace."},{"key":"e_1_3_2_1_36_1","volume-title":"Giovanni Colavizza, Camila Rangel Smith, and Angus Williams.","author":"Nazabal Alfredo","year":"2020","unstructured":"Alfredo Nazabal, Christopher KI Williams, Giovanni Colavizza, Camila Rangel Smith, and Angus Williams. 2020. Data engineering for data analytics: a classification of the issues, and case studies. arXiv preprint arXiv:2004.12929 (2020)."},{"key":"e_1_3_2_1_37_1","unstructured":"Robert L. Nord Ipek Ozkaya and Philippe B Kruchten. 2014. Agile in Distress: Architecture to the Rescue. In XPWorkshops."},{"key":"e_1_3_2_1_38_1","unstructured":"O'Reilly. 2020. Microservices Adoption in 2020: A survey. Available at https:\/\/www.oreilly.com\/radar\/microservices-adoption-in-2020\/."},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2020.2993662"},{"key":"e_1_3_2_1_40_1","volume-title":"Data-centric AI workshop, NeurIPS","author":"Paleyes Andrei","year":"2021","unstructured":"Andrei Paleyes, Christian Cabrera, and Neil D Lawrence. 2021. Towards better data discovery and collection with flow-based programming. Data-centric AI workshop, NeurIPS (2021)."},{"key":"e_1_3_2_1_41_1","volume-title":"Challenges in deploying machine learning: a survey of case studies. arXiv preprint arXiv","author":"Paleyes Andrei","year":"2011","unstructured":"Andrei Paleyes, Raoul-Gabriel Urma, and Neil D Lawrence. 2020. Challenges in deploying machine learning: a survey of case studies. arXiv preprint arXiv: 2011.09926 (2020)."},{"key":"e_1_3_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/944217.944233"},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1109\/SAINTW.2003.1210138"},{"key":"e_1_3_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/3299887.3299891"},{"key":"e_1_3_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4612-1220-1"},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1109\/AINA.2016.95"},{"key":"e_1_3_2_1_47_1","volume-title":"Software engineering","author":"Sommerville Ian","year":"2011","unstructured":"Ian Sommerville. 2011. Software engineering 9th Edition. ISBN-10 137035152 (2011), 18.","edition":"9"},{"key":"e_1_3_2_1_48_1","unstructured":"Ben Stopford. 2016. The Data Dichotomy: Rethinking the Way We Treat Data and Services. Available at https:\/\/www.confluent.io\/blog\/data-dichotomy-rethinking-the-way-we-treat-data-and-services\/."},{"key":"e_1_3_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1109\/WETICE.2017.17"},{"volume-title":"Program miersprachen und Programment wicklung","author":"Treleaven Philip C","key":"e_1_3_2_1_50_1","unstructured":"Philip C Treleaven. 1982. Towards a Decentralised General-Purpose Computer. In Program miersprachen und Programment wicklung. Springer, 21--31."},{"key":"e_1_3_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/3151759.3151770"},{"key":"e_1_3_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4615-4625-2"},{"key":"e_1_3_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/2824823.2824825"}],"event":{"name":"CAIN '22: 1st Conference on AI Engineering - Software Engineering for AI","sponsor":["SIGSOFT ACM Special Interest Group on Software Engineering","IEEE TCSC IEEE Technical Committee on Scalable Computing"],"location":"Pittsburgh Pennsylvania","acronym":"CAIN '22"},"container-title":["Proceedings of the 1st International Conference on AI Engineering: Software Engineering for AI"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3522664.3528601","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3522664.3528601","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T18:09:34Z","timestamp":1750183774000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3522664.3528601"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,5,16]]},"references-count":53,"alternative-id":["10.1145\/3522664.3528601","10.1145\/3522664"],"URL":"https:\/\/doi.org\/10.1145\/3522664.3528601","relation":{},"subject":[],"published":{"date-parts":[[2022,5,16]]},"assertion":[{"value":"2022-10-17","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}