{"id":"https://openalex.org/W2795296662","doi":"https://doi.org/10.22152/programming-journal.org/2018/2/9","title":"PIE: A Domain-Specific Language for Interactive Software Development Pipelines","display_name":"PIE: A Domain-Specific Language for Interactive Software Development Pipelines","publication_year":2018,"publication_date":"2018-03-28","ids":{"openalex":"https://openalex.org/W2795296662","doi":"https://doi.org/10.22152/programming-journal.org/2018/2/9","mag":"2795296662"},"language":"en","primary_location":{"id":"doi:10.22152/programming-journal.org/2018/2/9","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2018/2/9","pdf_url":"https://arxiv.org/pdf/1803.10197v1","source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},"type":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://arxiv.org/pdf/1803.10197v1","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"Gabri\u00ebl Konat","orcid":null},"institutions":[{"id":"https://openalex.org/I98358874","display_name":"Delft University of Technology","ror":"https://ror.org/02e2c7k09","country_code":"NL","type":"education","lineage":["https://openalex.org/I98358874"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Gabri\u00ebl Konat","raw_affiliation_strings":["Delft University of Technology, Netherlands"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Delft University of Technology, Netherlands","institution_ids":["https://openalex.org/I98358874"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Michael J. Steindorfer","orcid":null},"institutions":[{"id":"https://openalex.org/I98358874","display_name":"Delft University of Technology","ror":"https://ror.org/02e2c7k09","country_code":"NL","type":"education","lineage":["https://openalex.org/I98358874"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Michael J. Steindorfer","raw_affiliation_strings":["Delft University of Technology, Netherlands"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Delft University of Technology, Netherlands","institution_ids":["https://openalex.org/I98358874"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Sebastian Erdweg","orcid":null},"institutions":[{"id":"https://openalex.org/I98358874","display_name":"Delft University of Technology","ror":"https://ror.org/02e2c7k09","country_code":"NL","type":"education","lineage":["https://openalex.org/I98358874"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Sebastian Erdweg","raw_affiliation_strings":["Delft University of Technology, Netherlands"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Delft University of Technology, Netherlands","institution_ids":["https://openalex.org/I98358874"]}]},{"author_position":"last","author":{"id":null,"display_name":"Eelco Visser","orcid":null},"institutions":[{"id":"https://openalex.org/I98358874","display_name":"Delft University of Technology","ror":"https://ror.org/02e2c7k09","country_code":"NL","type":"education","lineage":["https://openalex.org/I98358874"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Eelco Visser","raw_affiliation_strings":["Delft University of Technology, Netherlands"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Delft University of Technology, Netherlands","institution_ids":["https://openalex.org/I98358874"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I98358874"],"apc_list":null,"apc_paid":null,"fwci":0.1844,"has_fulltext":true,"cited_by_count":4,"citation_normalized_percentile":{"value":0.62427515,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":95},"biblio":{"volume":"2","issue":"3","first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.33149999380111694,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.33149999380111694,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.32710000872612,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10470","display_name":"Usability and User Interface Design","score":0.05040000006556511,"subfield":{"id":"https://openalex.org/subfields/1709","display_name":"Human-Computer Interaction"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/pipeline","display_name":"Pipeline (software)","score":0.6001999974250793},{"id":"https://openalex.org/keywords/pipeline-transport","display_name":"Pipeline transport","score":0.5493000149726868},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.5365999937057495},{"id":"https://openalex.org/keywords/process","display_name":"Process (computing)","score":0.40610000491142273},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.387800008058548},{"id":"https://openalex.org/keywords/focus","display_name":"Focus (optics)","score":0.3346000015735626},{"id":"https://openalex.org/keywords/software-development-process","display_name":"Software development process","score":0.3021000027656555},{"id":"https://openalex.org/keywords/interactivity","display_name":"Interactivity","score":0.2939000129699707},{"id":"https://openalex.org/keywords/visualization","display_name":"Visualization","score":0.29269999265670776}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7918000221252441},{"id":"https://openalex.org/C43521106","wikidata":"https://www.wikidata.org/wiki/Q2165493","display_name":"Pipeline (software)","level":2,"score":0.6001999974250793},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.5709999799728394},{"id":"https://openalex.org/C175309249","wikidata":"https://www.wikidata.org/wiki/Q725864","display_name":"Pipeline transport","level":2,"score":0.5493000149726868},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.5365999937057495},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.40849998593330383},{"id":"https://openalex.org/C98045186","wikidata":"https://www.wikidata.org/wiki/Q205663","display_name":"Process (computing)","level":2,"score":0.40610000491142273},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.387800008058548},{"id":"https://openalex.org/C192209626","wikidata":"https://www.wikidata.org/wiki/Q190909","display_name":"Focus (optics)","level":2,"score":0.3346000015735626},{"id":"https://openalex.org/C180152950","wikidata":"https://www.wikidata.org/wiki/Q2904257","display_name":"Software development process","level":4,"score":0.3021000027656555},{"id":"https://openalex.org/C144430266","wikidata":"https://www.wikidata.org/wiki/Q839721","display_name":"Interactivity","level":2,"score":0.2939000129699707},{"id":"https://openalex.org/C36464697","wikidata":"https://www.wikidata.org/wiki/Q451553","display_name":"Visualization","level":2,"score":0.29269999265670776},{"id":"https://openalex.org/C115901376","wikidata":"https://www.wikidata.org/wiki/Q184199","display_name":"Automation","level":2,"score":0.29100000858306885},{"id":"https://openalex.org/C48103436","wikidata":"https://www.wikidata.org/wiki/Q599031","display_name":"State (computer science)","level":2,"score":0.2833999991416931},{"id":"https://openalex.org/C19768560","wikidata":"https://www.wikidata.org/wiki/Q320727","display_name":"Dependency (UML)","level":2,"score":0.2822999954223633},{"id":"https://openalex.org/C186846655","wikidata":"https://www.wikidata.org/wiki/Q3398377","display_name":"Software construction","level":4,"score":0.2815999984741211},{"id":"https://openalex.org/C4379982","wikidata":"https://www.wikidata.org/wiki/Q1273511","display_name":"Software visualization","level":5,"score":0.28060001134872437},{"id":"https://openalex.org/C149091818","wikidata":"https://www.wikidata.org/wiki/Q2429814","display_name":"Software system","level":3,"score":0.27970001101493835},{"id":"https://openalex.org/C201374245","wikidata":"https://www.wikidata.org/wiki/Q104534","display_name":"Digital subscriber line","level":2,"score":0.27379998564720154},{"id":"https://openalex.org/C168167062","wikidata":"https://www.wikidata.org/wiki/Q1117970","display_name":"Component (thermodynamics)","level":2,"score":0.26669999957084656},{"id":"https://openalex.org/C135257023","wikidata":"https://www.wikidata.org/wiki/Q691358","display_name":"Domain-specific language","level":2,"score":0.26460000872612},{"id":"https://openalex.org/C115537543","wikidata":"https://www.wikidata.org/wiki/Q165596","display_name":"Cache","level":2,"score":0.262800008058548},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.26019999384880066},{"id":"https://openalex.org/C168065819","wikidata":"https://www.wikidata.org/wiki/Q845566","display_name":"Debugging","level":2,"score":0.25920000672340393},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.25690001249313354}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.22152/programming-journal.org/2018/2/9","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2018/2/9","pdf_url":"https://arxiv.org/pdf/1803.10197v1","source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},{"id":"pmh:oai:arXiv.org:1803.10197","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1803.10197","pdf_url":"https://arxiv.org/pdf/1803.10197","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},{"id":"pmh:oai:tudelft.nl:uuid:e7524d66-4003-444b-8654-60068ba7a09b","is_oa":true,"landing_page_url":"http://resolver.tudelft.nl/uuid:e7524d66-4003-444b-8654-60068ba7a09b","pdf_url":null,"source":{"id":"https://openalex.org/S4306400906","display_name":"Research Repository (Delft University of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I98358874","host_organization_name":"Delft University of Technology","host_organization_lineage":["https://openalex.org/I98358874"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"journal article"}],"best_oa_location":{"id":"doi:10.22152/programming-journal.org/2018/2/9","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2018/2/9","pdf_url":"https://arxiv.org/pdf/1803.10197v1","source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G2533900261","display_name":null,"funder_award_id":"612.001.114","funder_id":"https://openalex.org/F4320321800","funder_display_name":"Nederlandse Organisatie voor Wetenschappelijk Onderzoek"},{"id":"https://openalex.org/G6376596738","display_name":"The Language Designer's Workbench: Automating Verification of Language Definitions","funder_award_id":"639.023.206","funder_id":"https://openalex.org/F4320321800","funder_display_name":"Nederlandse Organisatie voor Wetenschappelijk Onderzoek"}],"funders":[{"id":"https://openalex.org/F4320321800","display_name":"Nederlandse Organisatie voor Wetenschappelijk Onderzoek","ror":"https://ror.org/04jsz6e67"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2795296662.pdf","grobid_xml":"https://content.openalex.org/works/W2795296662.grobid-xml"},"referenced_works_count":28,"referenced_works":["https://openalex.org/W121159850","https://openalex.org/W781995223","https://openalex.org/W1523209168","https://openalex.org/W1749568426","https://openalex.org/W1946588374","https://openalex.org/W1966725513","https://openalex.org/W1983170604","https://openalex.org/W2020675906","https://openalex.org/W2022744394","https://openalex.org/W2062349224","https://openalex.org/W2081449537","https://openalex.org/W2093927510","https://openalex.org/W2120039195","https://openalex.org/W2139205740","https://openalex.org/W2168485266","https://openalex.org/W2189145845","https://openalex.org/W2193084514","https://openalex.org/W2238262809","https://openalex.org/W2280114176","https://openalex.org/W2286673339","https://openalex.org/W2517030401","https://openalex.org/W2536264340","https://openalex.org/W2539403003","https://openalex.org/W3123732438","https://openalex.org/W4234643655","https://openalex.org/W4243772354","https://openalex.org/W6930289385","https://openalex.org/W6930402508"],"related_works":[],"abstract_inverted_index":{"Context.Software":[0],"development":[1,81,122,143,148,198,264,303],"pipelines":[2,105,193,273,280],"are":[3,163,281],"used":[4],"for":[5,38,100,128,139,318],"automating":[6],"essential":[7],"parts":[8],"of":[9,54,67,88,113,119,147,192,202,228,244,260,310],"software":[10,142,263,283],"engineering":[11],"processes,":[12],"such":[13,31,212,290,325],"as":[14,32,213,291,326],"build":[15],"automation":[16],"and":[17,41,51,72,75,84,103,123,137,158,178,189,199,216,277,297,300,308,321],"continuous":[18,292],"integration":[19],"testing.In":[20],"particular,":[21],"interactive":[22,141,210,239,262,272,323],"pipelines,":[23,144,307,312,324],"which":[24,170],"process":[25],"events":[26],"in":[27,175,246,256,274,295,304],"a":[28,55,116,132,150,155,182,222,242,247,275,316],"live":[29,301],"environment":[30],"an":[33,49,176,238],"IDE,":[34],"require":[35],"timely":[36,219],"results":[37],"low-latency":[39,45],"feedback,":[40],"persistence":[42,85],"to":[43,60,165,225,236],"retain":[44],"feedback":[46,62,220,293],"between":[47],"restarts.Inquiry.Developing":[48],"incrementalized":[50],"persistent":[52,104,179],"version":[53],"pipeline":[56,80,90,204,240],"is":[57,149,154,313,328],"one":[58],"way":[59],"reduce":[61],"latency,":[63],"but":[64,107],"requires":[65],"implementation":[66],"dependency":[68],"tracking,":[69],"cache":[70],"invalidation,":[71],"other":[73],"complicated":[74,282],"error-prone":[76],"techniques.Therefore,":[77],"interactivity":[78],"complicates":[79],"if":[82],"timeliness":[83],"become":[86],"responsibilities":[87],"the":[89,97,168,171,197,226,229,233],"programmer,":[91],"rather":[92],"than":[93],"being":[94],"supported":[95],"by":[96,241],"underlying":[98],"system.Systems":[99],"programming":[101,184],"incremental":[102,177],"exist,":[106],"do":[108],"not":[109],"focus":[110],"on":[111,250],"ease":[112,146],"development,":[114],"requiring":[115],"high":[117],"degree":[118],"boilerplate,":[120,195],"increasing":[121],"maintenance":[124,200],"effort.Approach.We":[125],"develop":[126],"Pipelines":[127],"Interactive":[129],"Environments":[130],"(PIE),":[131],"Domain-Specific":[133],"Language":[134],"(DSL),":[135],"API,":[136,169],"runtime":[138,173],"developing":[140,320],"where":[145],"focus.The":[151],"PIE":[152,172,231,255,268],"DSL":[153],"statically":[156],"typed":[157],"lexically":[159],"scoped":[160],"language.PIE":[161],"programs":[162,166,205],"compiled":[164],"implementing":[167],"executes":[174],"way.Knowledge.PIE":[180],"provides":[181],"straightforward":[183,276],"model":[185],"that":[186,267,285],"enables":[187],"direct":[188],"concise":[190,278],"expression":[191],"without":[194],"reducing":[196],"effort":[201],"pipelines.Compiled":[203],"can":[206,269],"be":[207],"embedded":[208],"into":[209],"environments":[211],"code":[214,234,298],"editors":[215],"IDEs,":[217],"enabling":[218],"at":[221],"low":[223],"cost.Grounding.Compared":[224],"state":[227],"art,":[230],"reduces":[232],"required":[235],"express":[237],"factor":[243],"6":[245],"case":[248,258],"study":[249],"syntax-aware":[251],"editors.Furthermore,":[252],"we":[253],"evaluate":[254],"two":[257],"studies":[259],"complex":[261,271],"scenarios,":[265],"demonstrating":[266],"handle":[270],"way.Importance.Interactive":[279],"artifacts":[284],"power":[286],"many":[287],"important":[288],"systems":[289],"cycles":[294],"IDEs":[296],"editors,":[299],"language":[302,305],"workbenches.New":[306],"evolution":[309],"existing":[311],"frequently":[314],"necessary.Therefore,":[315],"system":[317],"easily":[319],"maintaining":[322],"PIE,":[327],"important.":[329]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2020,"cited_by_count":1}],"updated_date":"2026-08-05T07:39:15.569665","created_date":"2018-04-06T00:00:00"}
