Loading…
Parallel and distributed incremental attribute evaluation algorithms for multiuser software development environments
The problem of change propagation in multiuser software development environments distributed across a local-area network is addressed. The program is modeled as an attributed parse tree segmented among multiple user processes and changes are modeled as subtree replacements requested asynchronously b...
Saved in:
Published in: | ACM transactions on software engineering and methodology 1993-01, Vol.2 (1), p.47-92 |
---|---|
Main Authors: | , |
Format: | Article |
Language: | English |
Subjects: | |
Citations: | Items that this one cites Items that cite this one |
Online Access: | Get full text |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
cited_by | cdi_FETCH-LOGICAL-a2692-5115a173628907fdfce466c7098dd8b02683d856e6a67e28149575d8c9b14d973 |
---|---|
cites | cdi_FETCH-LOGICAL-a2692-5115a173628907fdfce466c7098dd8b02683d856e6a67e28149575d8c9b14d973 |
container_end_page | 92 |
container_issue | 1 |
container_start_page | 47 |
container_title | ACM transactions on software engineering and methodology |
container_volume | 2 |
creator | Kaiser, Gail E. Kaplan, Simon M. |
description | The problem of change propagation in multiuser software development environments distributed across a local-area network is addressed. The program is modeled as an attributed parse tree segmented among multiple user processes and changes are modeled as subtree replacements requested asynchronously by individual users. Change propagation is then implemented using decentralized incremental evaluation of an attribute grammar that defines the static semantic properties of the programming language. Building up to our primary result, we first present algorithms that support parallel evaluation on a centralized tree in response to single edits using a singe editing cursor and multiple edits with multiple editing cursors. Then we present our algorithm for parallel evaluation on a decentralized tree. We also present a protocol to guarantee reliability of the evaluation algorithm as components of the decentralized tree become unavailable due to failures and return to availability. |
doi_str_mv | 10.1145/151299.151312 |
format | article |
fullrecord | <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_miscellaneous_29011668</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>26174219</sourcerecordid><originalsourceid>FETCH-LOGICAL-a2692-5115a173628907fdfce466c7098dd8b02683d856e6a67e28149575d8c9b14d973</originalsourceid><addsrcrecordid>eNqFkU1LxDAYhIMouK4ePXjLyVvXvGmTNEcRv0DQg4K3km3eaiRt1iRd8d_bpYJHTzPMPMxlCDkFtgKoxAUI4FqvJimB75EFCKEKVWq-P3lW6aIs4fWQHKX0wRiUjFcLkp9MNN6jp2aw1LqUo1uPGS11QxuxxyGbqcu_McWt8aPJLgzU-LcQXX7vE-1CpP3osxsTRppCl79MRGpxiz5sdiMUh62LYdj5dEwOOuMTnvzqkrzcXD9f3RUPj7f3V5cPheFS80IACAOqlLzWTHW2a7GSslVM19bWa8ZlXdpaSJRGKuQ1VFooYetWr6GyWpVLcj7vbmL4HDHlpnepRe_NgGFMDdcMQE4r_4ISVMVBT2Axg20MKUXsmk10vYnfDbBmd0Izn9DMJ0z82cybtv9D5-4HRvWD7g</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>26174219</pqid></control><display><type>article</type><title>Parallel and distributed incremental attribute evaluation algorithms for multiuser software development environments</title><source>Association for Computing Machinery:Jisc Collections:ACM OPEN Journals 2023-2025 (reading list)</source><creator>Kaiser, Gail E. ; Kaplan, Simon M.</creator><creatorcontrib>Kaiser, Gail E. ; Kaplan, Simon M.</creatorcontrib><description>The problem of change propagation in multiuser software development environments distributed across a local-area network is addressed. The program is modeled as an attributed parse tree segmented among multiple user processes and changes are modeled as subtree replacements requested asynchronously by individual users. Change propagation is then implemented using decentralized incremental evaluation of an attribute grammar that defines the static semantic properties of the programming language. Building up to our primary result, we first present algorithms that support parallel evaluation on a centralized tree in response to single edits using a singe editing cursor and multiple edits with multiple editing cursors. Then we present our algorithm for parallel evaluation on a decentralized tree. We also present a protocol to guarantee reliability of the evaluation algorithm as components of the decentralized tree become unavailable due to failures and return to availability.</description><identifier>ISSN: 1049-331X</identifier><identifier>EISSN: 1557-7392</identifier><identifier>DOI: 10.1145/151299.151312</identifier><language>eng</language><publisher>New York, NY, USA: ACM</publisher><subject>Computing methodologies ; Concurrent computing methodologies ; Concurrent programming languages ; Designing software ; Development frameworks and environments ; Formal language definitions ; General programming languages ; Language features ; Language types ; Modules / packages ; Program semantics ; Semantics ; Semantics and reasoning ; Software and its engineering ; Software creation and management ; Software design techniques ; Software development methods ; Software development process management ; Software implementation planning ; Software notations and tools ; Theory of computation</subject><ispartof>ACM transactions on software engineering and methodology, 1993-01, Vol.2 (1), p.47-92</ispartof><rights>ACM</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-a2692-5115a173628907fdfce466c7098dd8b02683d856e6a67e28149575d8c9b14d973</citedby><cites>FETCH-LOGICAL-a2692-5115a173628907fdfce466c7098dd8b02683d856e6a67e28149575d8c9b14d973</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,780,784,27924,27925</link.rule.ids></links><search><creatorcontrib>Kaiser, Gail E.</creatorcontrib><creatorcontrib>Kaplan, Simon M.</creatorcontrib><title>Parallel and distributed incremental attribute evaluation algorithms for multiuser software development environments</title><title>ACM transactions on software engineering and methodology</title><addtitle>ACM TOSEM</addtitle><description>The problem of change propagation in multiuser software development environments distributed across a local-area network is addressed. The program is modeled as an attributed parse tree segmented among multiple user processes and changes are modeled as subtree replacements requested asynchronously by individual users. Change propagation is then implemented using decentralized incremental evaluation of an attribute grammar that defines the static semantic properties of the programming language. Building up to our primary result, we first present algorithms that support parallel evaluation on a centralized tree in response to single edits using a singe editing cursor and multiple edits with multiple editing cursors. Then we present our algorithm for parallel evaluation on a decentralized tree. We also present a protocol to guarantee reliability of the evaluation algorithm as components of the decentralized tree become unavailable due to failures and return to availability.</description><subject>Computing methodologies</subject><subject>Concurrent computing methodologies</subject><subject>Concurrent programming languages</subject><subject>Designing software</subject><subject>Development frameworks and environments</subject><subject>Formal language definitions</subject><subject>General programming languages</subject><subject>Language features</subject><subject>Language types</subject><subject>Modules / packages</subject><subject>Program semantics</subject><subject>Semantics</subject><subject>Semantics and reasoning</subject><subject>Software and its engineering</subject><subject>Software creation and management</subject><subject>Software design techniques</subject><subject>Software development methods</subject><subject>Software development process management</subject><subject>Software implementation planning</subject><subject>Software notations and tools</subject><subject>Theory of computation</subject><issn>1049-331X</issn><issn>1557-7392</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>1993</creationdate><recordtype>article</recordtype><recordid>eNqFkU1LxDAYhIMouK4ePXjLyVvXvGmTNEcRv0DQg4K3km3eaiRt1iRd8d_bpYJHTzPMPMxlCDkFtgKoxAUI4FqvJimB75EFCKEKVWq-P3lW6aIs4fWQHKX0wRiUjFcLkp9MNN6jp2aw1LqUo1uPGS11QxuxxyGbqcu_McWt8aPJLgzU-LcQXX7vE-1CpP3osxsTRppCl79MRGpxiz5sdiMUh62LYdj5dEwOOuMTnvzqkrzcXD9f3RUPj7f3V5cPheFS80IACAOqlLzWTHW2a7GSslVM19bWa8ZlXdpaSJRGKuQ1VFooYetWr6GyWpVLcj7vbmL4HDHlpnepRe_NgGFMDdcMQE4r_4ISVMVBT2Axg20MKUXsmk10vYnfDbBmd0Izn9DMJ0z82cybtv9D5-4HRvWD7g</recordid><startdate>19930101</startdate><enddate>19930101</enddate><creator>Kaiser, Gail E.</creator><creator>Kaplan, Simon M.</creator><general>ACM</general><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>19930101</creationdate><title>Parallel and distributed incremental attribute evaluation algorithms for multiuser software development environments</title><author>Kaiser, Gail E. ; Kaplan, Simon M.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a2692-5115a173628907fdfce466c7098dd8b02683d856e6a67e28149575d8c9b14d973</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>1993</creationdate><topic>Computing methodologies</topic><topic>Concurrent computing methodologies</topic><topic>Concurrent programming languages</topic><topic>Designing software</topic><topic>Development frameworks and environments</topic><topic>Formal language definitions</topic><topic>General programming languages</topic><topic>Language features</topic><topic>Language types</topic><topic>Modules / packages</topic><topic>Program semantics</topic><topic>Semantics</topic><topic>Semantics and reasoning</topic><topic>Software and its engineering</topic><topic>Software creation and management</topic><topic>Software design techniques</topic><topic>Software development methods</topic><topic>Software development process management</topic><topic>Software implementation planning</topic><topic>Software notations and tools</topic><topic>Theory of computation</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Kaiser, Gail E.</creatorcontrib><creatorcontrib>Kaplan, Simon M.</creatorcontrib><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>ACM transactions on software engineering and methodology</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Kaiser, Gail E.</au><au>Kaplan, Simon M.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Parallel and distributed incremental attribute evaluation algorithms for multiuser software development environments</atitle><jtitle>ACM transactions on software engineering and methodology</jtitle><stitle>ACM TOSEM</stitle><date>1993-01-01</date><risdate>1993</risdate><volume>2</volume><issue>1</issue><spage>47</spage><epage>92</epage><pages>47-92</pages><issn>1049-331X</issn><eissn>1557-7392</eissn><abstract>The problem of change propagation in multiuser software development environments distributed across a local-area network is addressed. The program is modeled as an attributed parse tree segmented among multiple user processes and changes are modeled as subtree replacements requested asynchronously by individual users. Change propagation is then implemented using decentralized incremental evaluation of an attribute grammar that defines the static semantic properties of the programming language. Building up to our primary result, we first present algorithms that support parallel evaluation on a centralized tree in response to single edits using a singe editing cursor and multiple edits with multiple editing cursors. Then we present our algorithm for parallel evaluation on a decentralized tree. We also present a protocol to guarantee reliability of the evaluation algorithm as components of the decentralized tree become unavailable due to failures and return to availability.</abstract><cop>New York, NY, USA</cop><pub>ACM</pub><doi>10.1145/151299.151312</doi><tpages>46</tpages><oa>free_for_read</oa></addata></record> |
fulltext | fulltext |
identifier | ISSN: 1049-331X |
ispartof | ACM transactions on software engineering and methodology, 1993-01, Vol.2 (1), p.47-92 |
issn | 1049-331X 1557-7392 |
language | eng |
recordid | cdi_proquest_miscellaneous_29011668 |
source | Association for Computing Machinery:Jisc Collections:ACM OPEN Journals 2023-2025 (reading list) |
subjects | Computing methodologies Concurrent computing methodologies Concurrent programming languages Designing software Development frameworks and environments Formal language definitions General programming languages Language features Language types Modules / packages Program semantics Semantics Semantics and reasoning Software and its engineering Software creation and management Software design techniques Software development methods Software development process management Software implementation planning Software notations and tools Theory of computation |
title | Parallel and distributed incremental attribute evaluation algorithms for multiuser software development environments |
url | http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-27T21%3A29%3A21IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Parallel%20and%20distributed%20incremental%20attribute%20evaluation%20algorithms%20for%20multiuser%20software%20development%20environments&rft.jtitle=ACM%20transactions%20on%20software%20engineering%20and%20methodology&rft.au=Kaiser,%20Gail%20E.&rft.date=1993-01-01&rft.volume=2&rft.issue=1&rft.spage=47&rft.epage=92&rft.pages=47-92&rft.issn=1049-331X&rft.eissn=1557-7392&rft_id=info:doi/10.1145/151299.151312&rft_dat=%3Cproquest_cross%3E26174219%3C/proquest_cross%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-a2692-5115a173628907fdfce466c7098dd8b02683d856e6a67e28149575d8c9b14d973%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_pqid=26174219&rft_id=info:pmid/&rfr_iscdi=true |