Skip to main content

An overview of the CAPITL software development environment

  • SCM-4 Best Papers
  • Conference paper
  • First Online:
Software Configuration Management (SCM 1993, SCM 1995)

Abstract

The CAPITL programming environment is comprised of a shared, object-oriented, versioned database, an embedded logic-based data-manipulation language, and a graphical user interface. With each software object the database stores a rich set of attributes that describe its syntax, intended semantics, and relationship to other objects. CAPITL is implemented in POL, a data model and deductive query language with elements of persistent, object-oriented and logic-based programming languages. POL is implemented in and tightly coupled with C++.

A request for a derived object consists of a partial description of its attributes. A planner written in POL searches the database for tools and sources that can be combined to create an object meeting the description. Since tools are stored in the database like other objects, plans that create tools as well as intermediate inputs are possible. A builder, also written in POL, executes plans to materialize software products. The builder verifies that existing objects are current, minimally re-applying tools as sources, tools, or system descriptions change.

After an overview of the database and the POL programming system, we outline CAPITL's logic-based approach to system modelling, illustrating it with two examples. We conclude with a status report and an outline of future directions.

This work was supported in part by the Defense Advanced Research Projects Agency under ARPA Order No. 8856 (monitored by the Office of Naval Research under contract N00014-92-J-1937).

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Proceedings of the 14th International Conference on Software Engineering. IEEE Computer Society Press, May 1992.

    Google Scholar 

  2. Proceedings of the 15th International Conference on Software Engineering. IEEE Computer Society Press, May 1993.

    Google Scholar 

  3. Paul Adams and Marvin Solomon. POL: Persistent objects with logic. Technical Report 1158, University of Wisconsin-Madison, Computer Sciences Department, August 1993.

    Google Scholar 

  4. Hassan Aït-Kaci. An Algebraic Semantics Approach to the Effective Resolution of Type Equations, pages 293–351. Number 45 in Theoretical Computer Science. Elsevier Science Publishers B.V., 1986.

    Google Scholar 

  5. Hassan Aït-Kaci and Roger Nasr. LOGIN: a logic programming language with built-in inheritance. Journal of Logic Programming, pages 181–215, March 1986.

    Google Scholar 

  6. P. Asirelli and P. Inverardi. Enhancing configuration facilities in software development: A logic approach. In Proceedings of ESEC '87: 1st European Software Engineering Conference, volume 289 of Lecture Notes in Computer Science, pages 55–63. Springer-Verlag, September 1987.

    Google Scholar 

  7. Atria Software, Natick,MA. ClearCase Concepts Manual, document number 3000-002-a edition, 1992.

    Google Scholar 

  8. N. Belkhatir, J. Estublier, and W. L. Melo. Adele 2: A support to large software development process. In M. Downson, editor, Proceedings of the 1st International Conference on Software Process, pages 159–170, Redondo Beach, CA, October 1991. IEEE Computer Society Press.

    Google Scholar 

  9. Mark R. Brown and John R. Ellis. Bridges: Tools to extend the vesta configuration management system. Technical report, Digital SRC, June 1993.

    Google Scholar 

  10. Todd Brunhoff and Jim Fulton. Imake — c preprocessor interface to the make utility. Technical report, Unix Programmer's Manual, X Window System, Version 11, Release 5.

    Google Scholar 

  11. Michael Carey, David DeWitt, Goetz Graefe, David Haight, Joel Richardson, Daniel Schuh, Eugene Shekita, and Scott Vandenberg. The EXODUS extensible DBMS project: an overview. In Stan Zdonik and David Maier, editors, Readings in Object-Oriented Databases. Morgan-Kaufman, 1990.

    Google Scholar 

  12. CaseWare, Inc, Irvine, CA. Introduction to CaseWare/CM, part number ic-031-010 edition, 1993.

    Google Scholar 

  13. Sheng-Yang Chiu and Roy Levin. The vesta repository: A file system extension for software development. Technical report, Digital SRC, June 1993.

    Google Scholar 

  14. Geoffrey Clemm and Leon Osterweil. A mechanism for environment integration. ACM Transactions on Programming Languages and Systems, 12(1):1–25, January 1990.

    Google Scholar 

  15. David J. DeWitt, Michael J. Franklin, Nancy E. Hall, Mark L. McAuliffe, Jeffrey F. Naughton, Daniel T. Schuh, Marvin H. Solomon, C. K. Tan, Odysseas G. Tsatalos, Seth J. White, and Michael J. Zwilling. Shoring up persistent applications. In SIGMOD, Minneapolis, MN, May 1994.

    Google Scholar 

  16. James R. Driscol, Neil Sarnak, Daniel D. Sleator, and Robert E. Tarjan. Making data structures persistent. Journal of Computer and System Sciences, 38(1):86–124, February 1989.

    Google Scholar 

  17. J. Estublier. A configuration manager: the ADELE database of programs. In Proceedings of the Workshop on Software Engineering Environments for Programmingin-the-Large, pages 140–147, Harwichport, MA, June 1985. GTE Laboratories.

    Google Scholar 

  18. J. Estublier, S. Ghoul, and S. Krakowiak. Preliminary experience with a configuration control system. In Proceedings of the SIGSOFT/SIGPLAN Software Eng. Symposium on Practical Software Development Environments, pages 149–156. ACM, April 1984.

    Google Scholar 

  19. Jacky Estublier. Configuration management: the notion and the tools. In Proceedings of the International Workshop on Software Version and Configuration Control, pages 38–61, Grassau, W. Germany, January 1988. B.G. Teubner, Stuttgart, W. Germany.

    Google Scholar 

  20. Stuart I. Feldman. Make—a program for maintaining computer programs. Software—Practice and Experience, 9(4):255–265, April 1979.

    Google Scholar 

  21. Christine B. Hanna and Roy Levin. The vesta language for configuration management. Technical report, Digital SRC, June 1993.

    Google Scholar 

  22. Stephen C. Johnson. YACC—yet another compiler compiler. C. S. Technical Report 32, Bell Laboratories, Murray Hill, NJ, 1975.

    Google Scholar 

  23. Gail Kaiser and Peter H. Feiler. Granularity issues in a knowledge-based programming environment. In 2nd Kansas Conference on Knowledge-Based Software Development, Manhattan, KA, October 1986.

    Google Scholar 

  24. Gail Kaiser and Peter H. Feiler. SMILE/MARVEL: Two approaches to knowledgebased programming environments. Tech. Report CU-CS-227-86, Department of Computer Science, Columbia University, New York, NY 10027, October 1986.

    Google Scholar 

  25. Gail Kaiser and Peter H. Feiler. An architecture for intelligent assistance in software development. In Proceedings of the Ninth International Conference on Software Engineering, pages 80–88, Monterey, CA, March 1987. IEEE Computer Society Press.

    Google Scholar 

  26. Gail E. Kaiser. A rule-based process server component for constructing rule-based development environments. In Proceedings of the 7th International Software Process Workshop, pages 76–78, October 1991.

    Google Scholar 

  27. Thilo Kielmann. Using prolog for software system maintenance. In Proceedings of the First International Conference on the Practical Application of Prolog, volume 1, London, UK, October 1992.

    Google Scholar 

  28. Kevin Knight. Unification: a multidisciplinary survey. ACM Computing Surveys, 21(1):93–124, March 1989.

    Google Scholar 

  29. Butler W. Lampson and Eric E. Schmidt. Organizing software in a distributed environment. ACM SIGPLAN Notices, 18(6):1–13, June 1983.

    Google Scholar 

  30. David B. Leblang and Robert P. Chase, Jr. Computer-aided software engineering n a distributed workstation environment. ACM SIGPLAN Notices, 19(5): 104–112, April 1984.

    Google Scholar 

  31. David B. Leblang and Gordon D. McLean, Jr. Configuration management for large-scale software development efforts. In Proceedings of the Workshop on Software Engineering Environments for Programming-in-the-Large, pages 122–127, Harwichport, MA, June 1985. GTE Laboratories.

    Google Scholar 

  32. M.E. Lesk. Lex—a lexical analyzer generator. C. S. Technical Report 39, Bell Laboratories, Murray Hill, NJ, October 1975.

    Google Scholar 

  33. Roy Levin and Paul R. McJones. The vesta approach to precise configuration of large software systems. Technical report, Digital SRC, June 1993.

    Google Scholar 

  34. Mark A. Linton, John M. Vlissides, and Paul R. Calder. Composing user interfaces with interviews. IEEE Computer, pages 8–24, February 1989.

    Google Scholar 

  35. Axel Mahler and Andreas Lampen. Shape—a software configuration management tool. In Proceedings of the International Workshop on Software Version and Configuration Control, Grassau, W. Germany, January 1988. B.G. Teubner, Stuttgart, W. Germany.

    Google Scholar 

  36. Axel Mahler and Andreas Lampen. An integrated toolset for engineering software configurations. In Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, number (24)2 in ACM SIGPLAN Notices, pages 191–200, February 1989.

    Google Scholar 

  37. John K. Ousterhout. Tcl: an embeddable command language. In 1990 Winter USENIX Conference Proceedings, 1990.

    Google Scholar 

  38. John K. Ousterhout. Tcl: An embeddable command language. 1990 Winter USENIX Conference Proceedings, 1990.

    Google Scholar 

  39. John K. Ousterhout. An x11 toolkit based on the tcl language. 1991 Winter USENIX Conference Proceedings, 1991.

    Google Scholar 

  40. Dewayne E. Perry, Nancy A. Staudenmayer, and Lawrence G. Votta, Jr. Finding out what goes on in a software development organization. Technical report, Personal communication (paper submitted for publication), September 1993.

    Google Scholar 

  41. Anthony Rich. Logic-Based System Modelling. PhD thesis, University of Wisconsin-Madison, August 1991.

    Google Scholar 

  42. Anthony Rich and Marvin Solomon. A logic-based approach to system modelling. In Peter H. Feiler, editor, Workshop on Software Configuration Management, pages 84–93, Trondheim, Norway, June 1991.

    Google Scholar 

  43. Joel Richardson, Michael Carey, and Daniel Schuh. The design of the E programming language. ACM Transactions on Programming Languages and Systems, 15(3), July 1993.

    Google Scholar 

  44. Russell Sandberg, David Goldberg, Steve Kleiman, Dan Walsh, and Bob Lyon. Design and implementation of the sun network filesystem. In Proceedings of the Summer 1985 USENIX Conference, pages 119–130, Portland, OR, June 1985.

    Google Scholar 

  45. R.W. Scheifler and J. Gettys. The X window system. ACM Transactions on Graphics, 16(8):57–69, August 1983.

    Google Scholar 

  46. Marvin Solomon. EFS: the extensible file system. Unpublished manual, 1993.

    Google Scholar 

  47. Richard M. Stallman and Roland McGrath. GNU Make. Free Software Foundation, Inc., Cambridge, MA, edition 0.26 beta edition, 1990.

    Google Scholar 

  48. Stanley M. Sutton, Jr., Dennis Heimbigner, and Leon J. Osterweil. Managing change in software development through process programming. Technical Report 1, University of Colorado at Boulder, June 1991.

    Google Scholar 

  49. Walter F. Tichy. RCS: a system for version control. Software—Practice and Experience, 15(7):637–654, July 1985.

    Google Scholar 

  50. Walter F. Tichy. Tools for software configuration management. In Jürgen F.H. Winkler, editor, Proceedings of the First International Workshop on Software Version and Configuration Control, pages 1–20, Grassau, FRG, January 1988. B.G. Teubner, Stuttgart, W. Germany.

    Google Scholar 

  51. Walter F. Tichy and Mark C. Baker. Smart recompilation. In 12th Annual ACM Symposium on Principles of Programming Languages, pages 236–244, New Orleans, Louisiana, January 1985.

    Google Scholar 

  52. Dennis Vadura. Dmake—maintain program groups, or interdependent files. Technical report, University of Waterloo, 1992. Dmake Unix Programmers Manual, Version 3.8.

    Google Scholar 

  53. Douglas Wiebe. Generic Software Configuration Management: Theory and Design. PhD thesis, University of Washington, Seattle, 1990.

    Google Scholar 

  54. Edward Yourdon. The Decline & Fall of the American Programmer. Prentice Hall, 1993.

    Google Scholar 

  55. Andreas Zeller. Configuration management with feature logics. Technical report, Technishe Universität Braunschweig Report No. 94-01, March 1994.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jacky Estublier

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Adams, P., Solomon, M. (1995). An overview of the CAPITL software development environment. In: Estublier, J. (eds) Software Configuration Management. SCM SCM 1993 1995. Lecture Notes in Computer Science, vol 1005. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60578-9_1

Download citation

  • DOI: https://doi.org/10.1007/3-540-60578-9_1

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60578-2

  • Online ISBN: 978-3-540-47768-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics