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...

Full description

Saved in:
Bibliographic Details
Published in:ACM transactions on software engineering and methodology 1993-01, Vol.2 (1), p.47-92
Main Authors: Kaiser, Gail E., Kaplan, Simon M.
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