The SAGA approach to automated project management

  • Roy H. Campbell
  • Robert B. Terwilliger
Part of the Lecture Notes in Computer Science book series (LNCS, volume 244)


ENCOMPASS, a prototype software development environment, is being constructed from components built by the SAGA project. Application of SAGA to the major phases of the lifecycle will be demonstrated through ENCOMPASS. The system will include configuration management; a software design paradigm based on the Vienna Development Method; executable specifications; languages which can be used to support modular programming, like Berkeley Pascal or ADA; verification and validation tools and methods; and basic management tools. ENCOMPASS is intended to examine many of the requirements for the design of complex software development environments such as might be used to construct the space station software. It is intended to be used as a prototype for examining many of the more advanced features that will be required in future generations of software development environments which support aerospace applications. In this paper, we describe the framework adopted within ENCOMPASS to provide automated management. We exemplify the approach using an example taken from problem tracking and change control during software maintenance.


Software Development Software Maintenance Change Control Change Request Maintenance Group 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

7. References

  1. 1.
    Blum, B. I., 1982, The Life-Cycle — A Debate Over Alternative Models, Software Engineering Notes, vol. 7, pp. 18–20.Google Scholar
  2. 2.
    Brownbridge, D. R., L. F. Marshall and B. Randell, 1982, The Newcastle Connection or UNIXes of the World Unite!, Software — Practice and Experience, V. 12, pp. 1147–1162.Google Scholar
  3. 3.
    Campbell, R. H. and P. E. Lauer, 1984, RECIPE: Requirements for an Evolutionary Computer-based Information Processing Environment, Proc. of the IEEE Software Process Workshop, pp. 67–76.Google Scholar
  4. 4.
    Campbell, R. H. and Paul G. Richards, 1981, SAGA: A system to automate the management of software production, Proc. of the National Computer Conference, pp. 231–234.Google Scholar
  5. 5.
    Campbell, R. H. and P. A. Kirslis, 1984, The SAGA Project: A System for Software Development, Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, pp. 73–80.Google Scholar
  6. 6.
    Campbell, R. H. and R. B. Kolstad, 1979, Path Expressions in Pascal, Proceedings of the Fourth International Conference on Software Engineering.Google Scholar
  7. 7.
    Campbell, R. H., C. S. Beckman, L. Benzinger, G. Beshers, D. Hammerslag, J. Kimball, P. A. Kirslis, H. Render, P. Richards, R. Terwilliger, 1985, SAGA, Mid-Year Report, Dept. of Comp. Sci., University of Illinois.Google Scholar
  8. 8.
    Clocksin, W. F. and C. S. Mellish, 1981, Programming in Prolog. Springer-Verlag, New York.Google Scholar
  9. 9.
    DeMillo, R. A., R. J. Lipton and A. J. Perlis, 1979, Social Processes and Proofs of Theorems. Communications of the ACM, vol. 22, no. 5, pp. 271–280.Google Scholar
  10. 10.
    Dijkstra, E. W., 1970, Structured Programming. In: Software Engineering Principles, J. N. Buxton and B. Randall, ed. NATO Science Committee, Brussels, Belgium.Google Scholar
  11. 11.
    Essick, Raymond B., IV., 1984, Notesfiles: A Unix Communication Tool, M.S. Thesis, Dept. Comp. Sci., University of Illinois at Urbana-Champaign.Google Scholar
  12. 12.
    Fairley, Richard, 1985, Software Engineering Concepts. McGraw-Hill, New York.Google Scholar
  13. 13.
    Feldman, S. I., 1979, Make — A Program for Maintaining Computer Programs, Software — Practice and Experience, Vol. 9, No. 4, pp. 255–265.Google Scholar
  14. 14.
    Gunther, R., 1978, Management Methodology for Software Product Engineering, Wiley Interscience, New York.Google Scholar
  15. 15.
    Hammerslag, D. H., S. N. Kamin and R. H. Campbell, 1985, Tree-Oriented Interactive Processing with an Application to Theorem-Proving. Proc. of the Second ACM/IEEE Conference on Software Development Tools, Techniques, and Alternatives.Google Scholar
  16. 16.
    Jones, C., 1980, Software Development: A Rigorous Approach, Prentice-Hall International, Inc., London.Google Scholar
  17. 17.
    Kimball, J., 1985, PCG: A Prototype Incremental Compilation Facility for the SAGA Environment, M.S. Thesis, Dept. Comp. Sci., University of Illinois at Urbana-Champaign.Google Scholar
  18. 18.
    Kirslis, P. A., 1986, The SAGA Editor: A Language-Oriented Editor Based on an Incremental LR(1) Parser, Ph. D. Dissertation, Dept. Comp. Sci., University of Illinois at Urbana-Champaign.Google Scholar
  19. 19.
    Kirslis, P. A., R. B. Terwilliger and R. H. Campbell, 1985, The SAGA Approach to Large Program Development in an Integrated Modular Environment, Proceedings of the GTE Workshop on Software Engineering Environments for Programming-in-the-Large.Google Scholar
  20. 20.
    Lanergan, R. G. and C. A. Grasso, 1984, Software Engineering with Reusable Designs and Code, IEEE Trans. on Software Engineering, Vol. 10, No. 5.Google Scholar
  21. 21.
    Matsumoto, Y., 1984, Some Experiences in Promoting Reusable Software: Presentation in Higher Abstract Levels, IEEE Trans. on Software Engineering, Vol. 10, No. 5.Google Scholar
  22. 22.
    Neighbors, J. M., 1984, The Draco Approach to Constructing Software from Reusable Components, IEEE Transactions on Software Engineering, vol. SE-10, no. 5, pp. 564–574.Google Scholar
  23. 23.
    Richards, P., 1984, A Prototype Symbol Table Manager for the SAGA Environment, Master's Thesis, Dept. Comp. Sci., University of Illinois at Urbana-Champaign.Google Scholar
  24. 24.
    Roberts, P. R. 1986, Prolog Support Libraries for the PLEASE Language, Master's Thesis, Dept. of Comp. Sci., University of Illinois at Urbana-Champaign.Google Scholar
  25. 25.
    Russo, V. F., 1985, ILINK: Illinois Loadable InterUNIX Networked Kernel, M.S. thesis, University of Illinois, Urbana, Il 61801.Google Scholar
  26. 26.
    Shaw, R. C., P. N. Hudson and N. W. Davis, 1984, Introduction of A Formal Technique into a Software Development Environment (Early Observations), Software Engineering Notes, vol. 9, no. 2, pp. 54–79.Google Scholar
  27. 27.
    Terwilliger, R. B. and R. H. Campbell, 1986, PLEASE: Predicate Logic based ExecutAble SpEcifications, Proc. 1986 ACM Computer Science Conference.Google Scholar
  28. 28.
    Terwilliger, R. B. and R. H. Campbell, 1986, ENCOMPASS: a SAGA Based Environment for the Composition of Programs and Specifications, Proceedings of the 19th Hawaii International Conference on System Sciences.Google Scholar
  29. 29.
    Tichy, W., 1982, Design, Implementation, and Evaluation of a Revision Control System, Proceedings of the 6th IEEE International Conference on Software Engineering, pp. 58–67.Google Scholar
  30. 30.
    Wirth, N., 1971, Program Development by Stepwise Refinement, Communications of the ACM, vol. 14, no. 4, pp. 221–227.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1987

Authors and Affiliations

  • Roy H. Campbell
    • 1
  • Robert B. Terwilliger
    • 1
  1. 1.Department of Computer ScienceUniversity of Illinois at Urbana-ChampaignUrbana

Personalised recommendations