RCS—a system for version control
Software—Practice & Experience
Research on Knowledge-Based Software Environments at Kestrel Institute
IEEE Transactions on Software Engineering - Special issue on artificial intelligence and software engineering
ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
Incremental attribute evaluation in distributed language-based environments
PODC '86 Proceedings of the fifth annual ACM symposium on Principles of distributed computing
Efficient incremental evaluation of aggregate values in attribute grammars
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
Views for tools in integrated environments
An international workshop on Advanced programming environments
Incremental graph evaluation (attribute grammar)
Incremental graph evaluation (attribute grammar)
Computer-supported cooperative work: a book of readings
Computer-supported cooperative work: a book of readings
The synthesizer generator: a system for constructing language-based editors
The synthesizer generator: a system for constructing language-based editors
Integrating noninterfering versions of programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Cactis: a self-adaptive, concurrent implementation of an object-oriented database management system
ACM Transactions on Database Systems (TODS)
Object management in a CASE environment
ICSE '89 Proceedings of the 11th international conference on Software engineering
Configuration management in BiiN SMS
ICSE '89 Proceedings of the 11th international conference on Software engineering
A methodology for implementing highly concurrent data structures
PPOPP '90 Proceedings of the second ACM SIGPLAN symposium on Principles & practice of parallel programming
Incremental attribute evaluation and multiple subtree replacements
Incremental attribute evaluation and multiple subtree replacements
Extending the MERCURY system to support teams of Ada programmers
SETA1 Proceedings of the first international symposium on Environments and tools for Ada
Concurrency control in advanced database applications
ACM Computing Surveys (CSUR)
Incremental attribute evaluation for multi-user semantics-based editors
Incremental attribute evaluation for multi-user semantics-based editors
Impossibility of distributed consensus with one faulty process
Journal of the ACM (JACM)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Incremental Context-Dependent Analysis for Language-Based Editors
ACM Transactions on Programming Languages and Systems (TOPLAS)
Semantic evaluation from left to right
Communications of the ACM
The notions of consistency and predicate locks in a database system
Communications of the ACM
Remote attribute updating for language-based editors
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Incremental evaluation for attribute grammars with application to syntax-directed editors
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Optimal-time incremental semantic analysis for syntax-directed editors
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Support Algorithms for Incremental Attribute Evaluation of Asynchronous Subtree Replacements
IEEE Transactions on Software Engineering
Organizing software in a distributed environment
Proceedings of the 1983 ACM SIGPLAN symposium on Programming language issues in software systems
Computer-Aided Software Engineering in a distributed workstation environment
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Generating language-based environments
Generating language-based environments
Parallel evaluation in attribute grammar-based systems
Parallel evaluation in attribute grammar-based systems
Extending attribute grammars to support programming-in-the-large
ACM Transactions on Programming Languages and Systems (TOPLAS)
Attribute grammar paradigms—a high-level methodology in language implementation
ACM Computing Surveys (CSUR)
Support Algorithms for Incremental Attribute Evaluation of Asynchronous Subtree Replacements
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
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.