Abstract
Development of integrated programming environments has faced two problems: response degression, with an incresing execution delay when more tools have been included in an environment, and poor extensibility, with difficulties in adding new tools to an environment. Framework of a multitasking C++ based programming environment MCPE has been presented here for solving these problems. MCPE contains several concurrent tasks (processes): one of them is interacting with the user and the others are simultaneously doing their jobs. Process scheduling and concurrency control in MCPE have been carefully designed: response time is then reduced, and unnecessary computations are avoided. An event-driven serving model providing flexible task communications eases the addition of tools. Shared data stores have been defined as monitor types with no nested monitor calls in preventing deadlock. Consistency among the tasks has also been assured. A prototype has also been presented to show feasibility.
Similar content being viewed by others
References
B.W. Kernighan and R. Pike,The UNIX Programming Environment, Englewood Cliffs, NJ: Prentice-Hall, 1984
L.J. Pinson and R.S. Wiener,An Introduction to Object-Oriented Programming and Smalltalk, Addison-Wesley, 1988.
S.P. Reiss, “Programming development system that support multiple views,”IEEE Trans. Software Eng., vol. SE-11, no. 3, pp. 276–285, March 1985.
M.A. Bhatti, “Incremental execution environment,”ACM SIGPLAN Notices vol., 23, no. 4, pp. 56–64, April 1988.
C. Fischer,et al., “The POE language based editor project,”ACM SIGSOFT Symp. on Pract. Softw. Developm. Envir., April 1984, pp. 21–29.
P. Fritzson, “Preliminary experience from the DICE system, A distributed incremental compiling environment,”ACM SIGSOFT Symp. on Pract. Softw. Developm. Envir., April 1984, pp. 113–123.
R. Medina-Mora and P.H. Feiler, “An incremental programming environment,”IEEE Trans. Software Eng., vol. SE-7, no. 5, pp. 472–482, Sept. 1981.
T. Reps and T. Teitelbaum, “The Cornell program synthesizer: A syntax-directed programming environment,”Commun. ACM, vol. 24, no. 9, pp. 563–573, Sept. 1981.
G. Ross, “Integral-C-A practical environment for C programming,”ACM SIGSOFT'86 2nd Symp. on Pract. Softw. Develop. Envir. (SDE2), Jan. 1987, pp. 42–48.
Y.C. Chen,An Efficient Approach to Logical Ripple Effect, Ph.D. Dissertation, Northwestern University, 1987.
A. Demers and F.K. Zadeck, “Attribute propagation by message passing,”.ACM SIGPLAN'85 Symp. on Lang. Issues in Prog. Envir., Jan. 1985, pp. 43–59.
R. Ford and D. Sawamophakdi, “A greedy concurrent approach to incremental code generation,”ACM 0-89791-147-4/85/001/0165, 1984, pp. 165–178.
P. Fritzson, “A Systematic Approach to Advanced Debugging through Incremental Compilation,”ACM SIGPLAN Symp. on High Level Debugging, 1983, pp. 130–139.
J.R. Horgan and D.J. Moore, “Techniques for Improving Language-Based Editors,”ACM SIGSOFT Symp. on Pract. Softw. Developm. Envir., April 1984, pp. 7–14.
K.J. Ottenstein and L.M. Ottenstein, “The program dependence graph in a software development environment,”ACM SIGSOFT Symp. on Pract. Softw. Developm. Envir., 1984, pp. 177–184.
L.L. Pollocak and M.L. Soffa, “An incremental version of iterative data flow analysis,”Tech. Rep. COMP TR87-58, Rice University, 1987.
B.G. Ryder and M.D. Carroll, “An incremental algorithm for software analysis, ACM SIGSOFT'86 2nd Symp. on Softw. Develop. Envir. (SDE2), 1986, pp. 171–179.
F.J. Wang, “A high-level graph approach to incremental data flow analysis,” Ph.D. Dissertation, Northwestern University, June 1988.
H. Agrawal and J.R. Horgan, “Dynamic program slicing”,ACM SIGPLAN '90 Conf. on Prog. Lang. Design and Implem., June 1990, pp. 246–256.
E. Schonberg, “On-the-fly detection of access anomalies,”ACM SIGPLAN '89 Conf. on Prog. Lang. Design and Implem., pp. 285–297, July 1989.
J.S. Vitter, “USeR: A new framework for redoing,”ACM SIGSOFT Symp. on Softw. Develop. Envir., May 1984, pp. 168–176.
R. Bahlke and G. Snelting, “The PSG—programming system generator,”ACM SIGPLAN'85 Symp. on Lang. Issues in Prog. Envir., July 1985, pp. 28–33.
T. Reps and T. Teitelbaum, “The synthesizer generator,”ACM SIGSOFT Symp. on Pract. Softw. Developm. Envir., April 1984, pp. 42–48.
G. Boudier,et al., “An overview of PCTE and PCTE+,”ACM SIGSOFT'88 3rd Symp. on Pract. Softw. Develop. Envir. (SDE3), Feb. 1989, pp. 248–257.
D. Clement, “A distributed architecture for programming environments,”ACM SIGSPFT'90 4th Symp. on Pract. Softw. Develop. Envir. (SDE4), Dec. 1990, pp. 11–21.
N.M. Delisle, D.E. Menicosy and M.D. Schwartz, “Viewing a programming environment as a single tool,”ACM SIGSOFT Symp. on Pract Softw. Developm. Envir., April 1984, pp. 49–56.
J. Donahue, “Integration mechanisms in Cedar,”ACM SIGPLAN'85 Symp. on Lang. Issues in Prog. Envir., July 1985, pp. 245–251.
D. Garlan and E. Ilias, “Low-cost, adaptable tool integration policies for integrated environments,”SIGSOFT'90 4th Symp. on Softw. Develop. Envir. (SDE4), Dec. 1990, pp. 1–10.
J. Mick, “An extensible programming environment for modulator-3,”ACM SIGSOFT'90 4th Symp. on Softw. Develop. Envir. (SDE4), Dec. 1990, pp. 66–76.
S.P. Reiss, “Connecting tools using message passing in the field environment,”IEEE Software, pp. 57–66, July 1990.
J.H. Reppy and E.R. Gansner “A foundation for programming environment,”ACM SIGSOFT'86 2nd Symp. on Pract. Softw. Develop. Envir., Jan. 1987, pp. 218–227.
W. Deiters and V. Gruhn, “Managing software process in the environment MELMAC,”ACM SIGSOFT'90 4th Symp. on Pract. Softw. Develop. Envir. (SDE4), Dec. 1990, pp. 193–205.
A.N. Habermann and D. Notkin, “Gandalf: Software development environments,”IEEE Trans. Software Eng., vol. SE-12, no. 12, pp. 1117–1127, Dec. 1986.
T. Strelich, “The software life cycle support environment (SLCSE): A computer based framework for developing software systems,”ACM SIGSOFT'88 3rd Symp. on Softw. Developm. Envir. (SDE3), pp. 35–44.
S. Meyer, “Difficulties in integrating multiview development systems,”IEEE Software, vol. 8, no. 1, pp. 49–57, Jan. 1991.
SunOS 4.0 Reference Manuals, Sun Microsystems, Inc.
M.J. Bach,The Design of the UNIX Operating System, Englewood Cliffs, NJ: Prentice-Hall, 1986.
B. Stroustrup,The C++ programming language, Addison-Wesley, 1986.
R. Hood, “Efficient abstractions for the implementation of structured editors,”ACM SIGPLAN'85 Symp. on Lang. Issues in Prog. Envir., July 1985, pp. 171–178.
H. Goma, “A software design method for real time system,”Commun ACM, vol. 27, no. 9, pp. 938–949, Sept. 1984.
J.L. Peterson and A. Silberschats,Operating System Concepts, alt. ed., Addison-Wesley, 1988.
D.A. Watt, B.A. Wichman, and W. Findlay,Ada Language and Methodology, Englewood Cliffs, NJ: Prentice-Hall, 1987.
ParcPlace Systems, Inc.,Smalltalk-80 Version 2.5 Objectworks, 1989.
S.C. Johnson, “Yacc—Yet another compiler compiler,”Comput. Sci. Tech. Rep. 32, AT&T Bell Labs, Murray Hill, NJ, 1975.
P.-C. Wu and F.-J. Wang, “An object-oriented specification for compiler,”ACM SIGPLAN Notices, vol. 27, no. 1, Jan. 1992, pp.85–94.
P.-C. Wu and F.-J. Wang, “Applying classification and inheritance to compiling,”ACM OOPS Messenger, to appear.
P.-C. Wu and F.-J. Wang, “Message passings on a parse tree,” to be submitted.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Wu, PC., Wang, FJ. Framework of a multitasking C++ based programming environment MCPE. Journal of Systems Integration 2, 181–203 (1992). https://doi.org/10.1007/BF02267033
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF02267033