ABSTRACT
The PSEP System represents a novel approach to incremental compilation for block structured languages. PSEP implements a very fine grain, “greedy” approach as a highly concurrent system of two processes: an editor and a code generator. The design allows the two processes to execute without locking their shared data objects, utilizing semantic information about the concurrent system to guarantee the consistency of the shared objects. This design is compared with the more common “demand” approach to incremental compilation.
- [1] P. H. Feiler, "A Language-Oriented Interactive Programming Environment Based on Compilation Technology", {Ph.D. Dissertation}, Department of Computer Science, Carnegie-Mellon University, Pittsburgh, Pennsylvania (May 1982). Google ScholarDigital Library
- [2] P. Fritzson, "Fine-Grained Incremental Compilation for Pascal-Like Languages", Technical Report S-581-83, Software Systems Research Center, Linkoping Institute of Technology, Linkoping, Sweden (July 1982).Google Scholar
- [3] P. Fritzson, "A Systematic Approach to Advanced Debugging through Incremental Compilation", Proc. SIGSOFT/SIGPLAN Software Engineering Symposium on High-Level Debugging {A.C.M. SIGPLAN Notices, Vol.18, No. 8 (Aug. 1983)}, pp. 130-139. Google ScholarDigital Library
- [4] P. Fritzson, "Preliminary Experience from the DICE System, A Distributed Incremental Compiling Environment", Proc. A. C. M. SIGSOFT/SIGPLAN Software Engineering Symp. on Practical Software Development Environments {A.C.M. SIGPLAN Notices}, Vol. 9, No. 3 (May 1984)}, pp. 113-123. Google ScholarDigital Library
- [5] H. T. Kung and P. L. Lehman, "Concurrent Manipulation of Binary Search Trees", A.C.M. Trans. on Database Systems, Vol. 5, No. 3 (Sept. 1980), pp. 354-383. Google ScholarDigital Library
- [6] P. Lehman and S. Yao, "Efficient Locking for Concurrent Operations on B-trees", A.C.M. Trans. on Database Systems, Vol. 6, No. 4 (Dec. 1981), pp. 650-670. Google ScholarDigital Library
- [7] R. Medina-Mora, "Syntax-directed Editing: Towards Integrated Programming Environment", Technical Report 82-113, Department of Computer Science, Carnegie-Mellon University, Pittsburgh, Pennsylvania (March 1982). Google ScholarDigital Library
- [8] R. Medina-Mora and P. H. Feiler, "An Incremental Programming Environment", I.E.E.E. Trans. on Software Engineering, Vol. SE-7, No. 5 (Sept. 1981), pp. 472-482.Google ScholarDigital Library
- [9] K. V. Nori, U. Ammann, K. Jensen, H. H. Nageli and Ch. Jacobi, "Pascal-P Implementation Notes" in Pascal The language and its Implementation, D. W. Barron (ed.), (John Wiley and Sons Ltd., New York, 1981), pp. 125-170.Google Scholar
- [10] D. Sawamiphakdi, "A Multiprocess Design for an Integrated Programming Environment", {Ph.D. Dissertation), Technical Report 84-07, Department of Computer Science, University of Iowa, Iowa City, Iowa (July 1984). Google ScholarDigital Library
- [11] T. Teitelbaum, "The Cornell Program Synthesizer: A Microcomputer Implementation of PL/CS", Technical Report 79-390, Department of Computer Science, Cornell University, Ithaca, New York (June 1979). Google ScholarDigital Library
- [12] T. Teitelbaum and T. Reps, "The Cornell Program Synthesizer: A Syntax-directed Programming Environment", Comm. A.C.M., Vol. 24, No. 9 (Sept. 1981), pp. 563-573. Google ScholarDigital Library
- [13] T. Teitelbaum, T. Reps and S. Horwitz, "The Why and Wherefore of the Cornell Program Synthesizer", Proc. A.C.M. SIGPLAN/SIGOA Symp. on Text Manipulation, A.C.M. SIGPLAN Notices, Vol. 16 (June 1981), pp. 8-16. Google ScholarDigital Library
Index Terms
- A greedy concurrent approach to incremental code generation
Recommendations
A concurrent ML library in concurrent Haskell
ICFP '09In Concurrent ML, synchronization abstractions can be defined and passed as values, much like functions in ML. This mechanism admits a powerful, modular style of concurrent programming, called higher-order concurrent programming. Unfortunately, it is ...
Coverage-driven test code generation for concurrent classes
ICSE '16: Proceedings of the 38th International Conference on Software EngineeringPrevious techniques on concurrency testing have mainly focused on exploring the interleaving space of manually written test code to expose faulty interleavings of shared memory accesses. These techniques assume the availability of failure-inducing ...
A concurrent ML library in concurrent Haskell
ICFP '09: Proceedings of the 14th ACM SIGPLAN international conference on Functional programmingIn Concurrent ML, synchronization abstractions can be defined and passed as values, much like functions in ML. This mechanism admits a powerful, modular style of concurrent programming, called higher-order concurrent programming. Unfortunately, it is ...
Comments