Skip to main content
Log in

Framework of a multitasking C++ based programming environment MCPE

  • Published:
Journal of Systems Integration

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. B.W. Kernighan and R. Pike,The UNIX Programming Environment, Englewood Cliffs, NJ: Prentice-Hall, 1984

    Google Scholar 

  2. L.J. Pinson and R.S. Wiener,An Introduction to Object-Oriented Programming and Smalltalk, Addison-Wesley, 1988.

  3. S.P. Reiss, “Programming development system that support multiple views,”IEEE Trans. Software Eng., vol. SE-11, no. 3, pp. 276–285, March 1985.

    Google Scholar 

  4. M.A. Bhatti, “Incremental execution environment,”ACM SIGPLAN Notices vol., 23, no. 4, pp. 56–64, April 1988.

    Google Scholar 

  5. C. Fischer,et al., “The POE language based editor project,”ACM SIGSOFT Symp. on Pract. Softw. Developm. Envir., April 1984, pp. 21–29.

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

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

    Google Scholar 

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

    Google Scholar 

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

  10. Y.C. Chen,An Efficient Approach to Logical Ripple Effect, Ph.D. Dissertation, Northwestern University, 1987.

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

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

  13. P. Fritzson, “A Systematic Approach to Advanced Debugging through Incremental Compilation,”ACM SIGPLAN Symp. on High Level Debugging, 1983, pp. 130–139.

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

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

  16. L.L. Pollocak and M.L. Soffa, “An incremental version of iterative data flow analysis,”Tech. Rep. COMP TR87-58, Rice University, 1987.

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

  18. F.J. Wang, “A high-level graph approach to incremental data flow analysis,” Ph.D. Dissertation, Northwestern University, June 1988.

  19. H. Agrawal and J.R. Horgan, “Dynamic program slicing”,ACM SIGPLAN '90 Conf. on Prog. Lang. Design and Implem., June 1990, pp. 246–256.

  20. E. Schonberg, “On-the-fly detection of access anomalies,”ACM SIGPLAN '89 Conf. on Prog. Lang. Design and Implem., pp. 285–297, July 1989.

  21. J.S. Vitter, “USeR: A new framework for redoing,”ACM SIGSOFT Symp. on Softw. Develop. Envir., May 1984, pp. 168–176.

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

  23. T. Reps and T. Teitelbaum, “The synthesizer generator,”ACM SIGSOFT Symp. on Pract. Softw. Developm. Envir., April 1984, pp. 42–48.

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

  25. D. Clement, “A distributed architecture for programming environments,”ACM SIGSPFT'90 4th Symp. on Pract. Softw. Develop. Envir. (SDE4), Dec. 1990, pp. 11–21.

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

  27. J. Donahue, “Integration mechanisms in Cedar,”ACM SIGPLAN'85 Symp. on Lang. Issues in Prog. Envir., July 1985, pp. 245–251.

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

  29. J. Mick, “An extensible programming environment for modulator-3,”ACM SIGSOFT'90 4th Symp. on Softw. Develop. Envir. (SDE4), Dec. 1990, pp. 66–76.

  30. S.P. Reiss, “Connecting tools using message passing in the field environment,”IEEE Software, pp. 57–66, July 1990.

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

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

  33. A.N. Habermann and D. Notkin, “Gandalf: Software development environments,”IEEE Trans. Software Eng., vol. SE-12, no. 12, pp. 1117–1127, Dec. 1986.

    Google Scholar 

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

  35. S. Meyer, “Difficulties in integrating multiview development systems,”IEEE Software, vol. 8, no. 1, pp. 49–57, Jan. 1991.

    Google Scholar 

  36. SunOS 4.0 Reference Manuals, Sun Microsystems, Inc.

  37. M.J. Bach,The Design of the UNIX Operating System, Englewood Cliffs, NJ: Prentice-Hall, 1986.

    Google Scholar 

  38. B. Stroustrup,The C++ programming language, Addison-Wesley, 1986.

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

  40. H. Goma, “A software design method for real time system,”Commun ACM, vol. 27, no. 9, pp. 938–949, Sept. 1984.

    Google Scholar 

  41. J.L. Peterson and A. Silberschats,Operating System Concepts, alt. ed., Addison-Wesley, 1988.

  42. D.A. Watt, B.A. Wichman, and W. Findlay,Ada Language and Methodology, Englewood Cliffs, NJ: Prentice-Hall, 1987.

    Google Scholar 

  43. ParcPlace Systems, Inc.,Smalltalk-80 Version 2.5 Objectworks, 1989.

  44. S.C. Johnson, “Yacc—Yet another compiler compiler,”Comput. Sci. Tech. Rep. 32, AT&T Bell Labs, Murray Hill, NJ, 1975.

    Google Scholar 

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

    Google Scholar 

  46. P.-C. Wu and F.-J. Wang, “Applying classification and inheritance to compiling,”ACM OOPS Messenger, to appear.

  47. P.-C. Wu and F.-J. Wang, “Message passings on a parse tree,” to be submitted.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF02267033

Key Words

Navigation