{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:20:53Z","timestamp":1750220453654,"version":"3.41.0"},"reference-count":27,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2021,1,20]],"date-time":"2021-01-20T00:00:00Z","timestamp":1611100800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100010661","name":"H2020","doi-asserted-by":"crossref","award":["779656"],"award-info":[{"award-number":["779656"]}],"id":[{"id":"10.13039\/100010661","id-type":"DOI","asserted-by":"crossref"}]},{"DOI":"10.13039\/100011199","name":"European Research Council","doi-asserted-by":"publisher","award":["291389"],"award-info":[{"award-number":["291389"]}],"id":[{"id":"10.13039\/100011199","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2021,1,31]]},"abstract":"<jats:p>\n            Distributed streaming applications, i.e., applications that process massive streams of data in a distributed fashion, are becoming increasingly popular to tame the velocity and the volume of\n            <jats:italic>Big Data<\/jats:italic>\n            . Nevertheless, the widespread adoption of data-intensive processing is still limited by the non-trivial design paradigms involved, which deal with the unboundedness and volume of involved data streams and by the many distributed streaming platforms, each with its own characteristics and APIs. In this article, we present StreamGen, a Model-Driven Engineering tool to simplify the design of such streaming applications and automatically generate the corresponding code. StreamGen is able to automatically generate fully working and processing-ready code for different target platforms (e.g., Apache Spark, Apache Flink). Evaluation shows that (i) StreamGen is general enough to model and generate the code, offering comparable performance against a preexisting similar and well-known application; (ii) the tool is fully compliant with streaming concepts defined as part of the Google Dataflow Model; and (iii) users with little computer science background and limited experience with big data have been able to work with StreamGen and create\/refactor an application in a matter of minutes.\n          <\/jats:p>","DOI":"10.1145\/3408895","type":"journal-article","created":{"date-parts":[[2021,1,20]],"date-time":"2021-01-20T19:18:06Z","timestamp":1611170286000},"page":"1-30","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":6,"title":["StreamGen"],"prefix":"10.1145","volume":"30","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-8825-4512","authenticated-orcid":false,"given":"Michele","family":"Guerriero","sequence":"first","affiliation":[{"name":"Politecnico di Milano - DEIB, Milano, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1230-8961","authenticated-orcid":false,"given":"Damian Andrew","family":"Tamburri","sequence":"additional","affiliation":[{"name":"Technical University of Eindhoven - JADS, The Netherlands"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Elisabetta Di","family":"Nitto","sequence":"additional","affiliation":[{"name":"Politecnico di Milano - DEIB, Milano, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2021,1,20]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1186\/s40537-017-0072-9"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.14778\/2824032.2824076"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/BigDataCongress.2017.23"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/MISE.2012.6226014"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2006.54"},{"edition":"1","volume-title":"Model-Driven Software Engineering in Practice","author":"Brambilla Marco","key":"e_1_2_1_7_1"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/MiSE.2015.21"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/2687233.2687252"},{"volume-title":"Advances in Databases and Information Systems, M\u0101r\u012bte Kirikova, Kjetil N\u00f8rv\u00e5g, and George A","author":"Damiani Ernesto","key":"e_1_2_1_11_1"},{"volume-title":"Proceedings of the Software Engineering and Knowledge Engineering Conference. 374--379","year":"2010","author":"Feldt Robert","key":"e_1_2_1_12_1"},{"volume-title":"Proceedings of the 2nd International Workshop on Quality-Aware DevOps (QUDOS\u201916)","author":"G\u00f3mez Abel","key":"e_1_2_1_13_1"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/3193954.3193964"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/BigData.2017.8257980"},{"volume-title":"Model driven engineering","author":"Kent Stuart","key":"e_1_2_1_16_1"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3182511"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/1321631.1321705"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/2628194.2628251"},{"key":"e_1_2_1_20_1","unstructured":"Object Management Group. 2017. OMG Unified Modeling Language\u2014Version 2.5.1. Retrieved from https:\/\/www.omg.org\/spec\/UML\/2.5.1.  Object Management Group. 2017. OMG Unified Modeling Language\u2014Version 2.5.1. Retrieved from https:\/\/www.omg.org\/spec\/UML\/2.5.1."},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/3161534.3161535"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10270-019-00730-3"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/APSEC.2014.23"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/3185768.3186284"},{"volume-title":"Proceedings of the 2017 IEEE International Conference on Information Reuse and Integration (IRI\u201917)","year":"2017","author":"Requeno J.","key":"e_1_2_1_25_1"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-008-9102-8"},{"volume-title":"Proceedings of the Federated Conference on Computer Science and Information Systems (FedCSIS\u201914)","year":"2014","author":"Santurkar S.","key":"e_1_2_1_27_1"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISORC.2007.10"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522737"}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3408895","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3408895","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T20:47:58Z","timestamp":1750193278000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3408895"}},"subtitle":["Model-driven Development of Distributed Streaming Applications"],"short-title":[],"issued":{"date-parts":[[2021,1,20]]},"references-count":27,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2021,1,31]]}},"alternative-id":["10.1145\/3408895"],"URL":"https:\/\/doi.org\/10.1145\/3408895","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"type":"print","value":"1049-331X"},{"type":"electronic","value":"1557-7392"}],"subject":[],"published":{"date-parts":[[2021,1,20]]},"assertion":[{"value":"2019-03-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-06-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2021-01-20","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}