{"id":"https://openalex.org/W2980060033","doi":"https://doi.org/10.1145/3357766.3359536","title":"Transactional editing: giving ACID to programmers","display_name":"Transactional editing: giving ACID to programmers","publication_year":2019,"publication_date":"2019-10-10","ids":{"openalex":"https://openalex.org/W2980060033","doi":"https://doi.org/10.1145/3357766.3359536","mag":"2980060033"},"language":"en","primary_location":{"id":"doi:10.1145/3357766.3359536","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3357766.3359536","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 12th ACM SIGPLAN International Conference on Software Language Engineering","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5004979548","display_name":"Friedrich Steimann","orcid":"https://orcid.org/0000-0002-8887-134X"},"institutions":[{"id":"https://openalex.org/I120691247","display_name":"University of Hagen","ror":"https://ror.org/04tkkr536","country_code":"DE","type":"education","lineage":["https://openalex.org/I120691247"]}],"countries":["DE"],"is_corresponding":true,"raw_author_name":"Friedrich Steimann","raw_affiliation_strings":["Fernuniversit\u00e4t in Hagen, Germany"],"affiliations":[{"raw_affiliation_string":"Fernuniversit\u00e4t in Hagen, Germany","institution_ids":["https://openalex.org/I120691247"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5053327489","display_name":"Nils Kurowsky","orcid":null},"institutions":[{"id":"https://openalex.org/I120691247","display_name":"University of Hagen","ror":"https://ror.org/04tkkr536","country_code":"DE","type":"education","lineage":["https://openalex.org/I120691247"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Nils Kurowsky","raw_affiliation_strings":["Fernuniversit\u00e4t in Hagen, Germany"],"affiliations":[{"raw_affiliation_string":"Fernuniversit\u00e4t in Hagen, Germany","institution_ids":["https://openalex.org/I120691247"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5004979548"],"corresponding_institution_ids":["https://openalex.org/I120691247"],"apc_list":null,"apc_paid":null,"fwci":0.28,"has_fulltext":false,"cited_by_count":2,"citation_normalized_percentile":{"value":0.66265967,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"202","last_page":"215"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9980000257492065,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9980000257492065,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9976000189781189,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9969000220298767,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.9000142812728882},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6306973695755005},{"id":"https://openalex.org/keywords/atomicity","display_name":"Atomicity","score":0.5777645707130432},{"id":"https://openalex.org/keywords/isolation","display_name":"Isolation (microbiology)","score":0.4758679270744324},{"id":"https://openalex.org/keywords/concurrency-control","display_name":"Concurrency control","score":0.47024908661842346},{"id":"https://openalex.org/keywords/consistency","display_name":"Consistency (knowledge bases)","score":0.4575473666191101},{"id":"https://openalex.org/keywords/serialization","display_name":"Serialization","score":0.44185858964920044},{"id":"https://openalex.org/keywords/sequence-diagram","display_name":"Sequence diagram","score":0.4322548508644104},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3754960298538208},{"id":"https://openalex.org/keywords/database-transaction","display_name":"Database transaction","score":0.24284103512763977},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.13530376553535461},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.1338733434677124},{"id":"https://openalex.org/keywords/unified-modeling-language","display_name":"Unified Modeling Language","score":0.12144660949707031}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9000142812728882},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6306973695755005},{"id":"https://openalex.org/C188045909","wikidata":"https://www.wikidata.org/wiki/Q3306359","display_name":"Atomicity","level":3,"score":0.5777645707130432},{"id":"https://openalex.org/C2775941552","wikidata":"https://www.wikidata.org/wiki/Q25212305","display_name":"Isolation (microbiology)","level":2,"score":0.4758679270744324},{"id":"https://openalex.org/C84511453","wikidata":"https://www.wikidata.org/wiki/Q2914952","display_name":"Concurrency control","level":3,"score":0.47024908661842346},{"id":"https://openalex.org/C2776436953","wikidata":"https://www.wikidata.org/wiki/Q5163215","display_name":"Consistency (knowledge bases)","level":2,"score":0.4575473666191101},{"id":"https://openalex.org/C52723943","wikidata":"https://www.wikidata.org/wiki/Q1127410","display_name":"Serialization","level":2,"score":0.44185858964920044},{"id":"https://openalex.org/C153185123","wikidata":"https://www.wikidata.org/wiki/Q1391624","display_name":"Sequence diagram","level":4,"score":0.4322548508644104},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3754960298538208},{"id":"https://openalex.org/C75949130","wikidata":"https://www.wikidata.org/wiki/Q848010","display_name":"Database transaction","level":2,"score":0.24284103512763977},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.13530376553535461},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.1338733434677124},{"id":"https://openalex.org/C145644426","wikidata":"https://www.wikidata.org/wiki/Q169411","display_name":"Unified Modeling Language","level":3,"score":0.12144660949707031},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C89423630","wikidata":"https://www.wikidata.org/wiki/Q7193","display_name":"Microbiology","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3357766.3359536","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3357766.3359536","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 12th ACM SIGPLAN International Conference on Software Language Engineering","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Partnerships for the goals","score":0.41999998688697815,"id":"https://metadata.un.org/sdg/17"}],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":26,"referenced_works":["https://openalex.org/W46924000","https://openalex.org/W844332498","https://openalex.org/W1556604985","https://openalex.org/W1977200413","https://openalex.org/W1995935241","https://openalex.org/W2002662905","https://openalex.org/W2007267771","https://openalex.org/W2021840107","https://openalex.org/W2027346590","https://openalex.org/W2074244333","https://openalex.org/W2104115705","https://openalex.org/W2116940122","https://openalex.org/W2121061989","https://openalex.org/W2150198410","https://openalex.org/W2167626029","https://openalex.org/W2526703663","https://openalex.org/W2532824920","https://openalex.org/W2561618607","https://openalex.org/W2765830932","https://openalex.org/W2773906175","https://openalex.org/W2788164529","https://openalex.org/W2898476917","https://openalex.org/W2912151548","https://openalex.org/W2947549827","https://openalex.org/W2979977910","https://openalex.org/W4231683839"],"related_works":["https://openalex.org/W1543673780","https://openalex.org/W2096635729","https://openalex.org/W2167689506","https://openalex.org/W1567707405","https://openalex.org/W2348172073","https://openalex.org/W2056029601","https://openalex.org/W2121941088","https://openalex.org/W2375441990","https://openalex.org/W2090518017","https://openalex.org/W1577737187"],"abstract_inverted_index":{"Collaboration":[0],"among":[1],"programmers":[2],"today":[3],"mostly":[4],"relies":[5],"on":[6,93],"file-based":[7],"version":[8],"control":[9],"systems.":[10],"These":[11],"systems":[12],"typically":[13],"use":[14],"optimistic":[15],"locking":[16,56],"to":[17,31,60,66,78,136,190],"enable":[18],"parallel":[19],"work,":[20],"meaning":[21],"that":[22,51],"competing":[23],"edits":[24,41],"(edit":[25],"conflicts)":[26],"are":[27],"detected":[28],"and":[29,72,107,159,171,189],"have":[30],"be":[32,44,61,67,114],"resolved":[33],"at":[34,183],"update":[35],"or":[36,181],"commit":[37],"time.":[38],"While":[39],"merging":[40],"can":[42,52,113],"partly":[43],"automated,":[45],"it":[46,82],"is":[47,76],"an":[48,137],"error-prone":[49],"task":[50],"introduce":[53],"inconsistencies.":[54],"Pessimistic":[55],"of":[57,89,104,119,131,154,156,165],"the":[58,87,102,117,147,152,169,176],"files":[59,92],"edited":[62],"does":[63,83],"not":[64,84,182],"appear":[65],"a":[68,129,143,157],"popular":[69],"alternative,":[70],"however,":[71],"in":[73,116,185],"any":[74],"case":[75],"insufficient":[77],"avoid":[79],"inconsistency,":[80],"since":[81],"account":[85],"for":[86,162],"dependence":[88],"(code":[90],"in)":[91],"others.":[94],"To":[95],"address":[96],"these":[97],"problems,":[98],"we":[99],"show":[100],"how":[101],"notions":[103],"atomicity,":[105],"consistency,":[106],"isolation":[108,186],"known":[109],"from":[110,187],"transactional":[111],"databases":[112],"enforced":[115],"context":[118],"collaborative":[120],"programming.":[121],"We":[122],"do":[123],"so":[124],"by":[125,142,151,160],"presenting":[126],"editing":[127],"as":[128],"set":[130],"primitive":[132,166],"edit":[133,167,177],"operations":[134,168],"applied":[135],"abstract":[138],"syntax":[139],"graph":[140,145],"overlaid":[141],"constraint":[144],"expressing":[146],"consistency":[148,193],"criteria":[149],"mandated":[150],"rules":[153],"well-formedness":[155],"language,":[158],"deriving":[161],"every":[163],"sequence":[164],"write-":[170],"read-locks":[172],"sufficient":[173],"to:":[174],"perform":[175],"sequence,":[178],"either":[179],"completely":[180],"all,":[184],"others;":[188],"achieve":[191],"global":[192],"before":[194],"committing.":[195]},"counts_by_year":[{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
