This Article 
 Bibliographic References 
 Add to: 
The Cactis Project: Database Support for Software Environments
June 1988 (vol. 14 no. 6)
pp. 709-719

The Cactis project is an on-going effort oriented toward extending database support from traditional business-oriented applications to software environments. The main goals of the project are to construct an appropriate model, and develop new techniques to support the unusual data management needs of software environments, including program compilations, software configurations, load modules, project schedules, software versions, nested and long transactions, and program transformations. The ability to manage derived information is common to many of these data needs, and the Cactis database management system has the ability to represent and maintain derived data in a time- and space-efficient fashion. A central contribution of Cactis is its integration of the type constructors of semantic models and the localized behavior capabilities of object-oriented database management systems.

[1] B. Alpern, A. Carle, B. Rosen, P. Sweeney, and K. Zadeck, "Incremental evaluation of attributed graphs," IBM Res. Rep. RC 13205, Oct. 1987.
[2] P. Bernstein, "Database system support for software engineering," Wang Inst. Grad. Studies, Tech. Rep. 87-01, Feb. 1987.
[3] J. Browne and D. B. Johnson, "FAST: A second generation program analysis system," inProc. Second Int. Conf. Software Engineering, pp. 142-148, 1977.
[4] O. P. Buneman and E. K. Clemons, "Efficiently monitoring relational databases,"Trans. Database Syst., vol. 4, no. 3, pp. 368-382, 1979.
[5] R. H. Campbell and P. A. Kirslis, "The SAGA project: A system for software development," inProc. Symp. Practical Software Development Environments, Pittsburgh, PA. 1985, pp. 73-80.
[6] M. J. Carey, D. J. Dewitt, J. E. Richardson, and E. J. Shekita, "Object and file management in the EXODUS extensible database system," inProc. Twelfth Int. Conf. Very Large Databases, pp. 91-100, 1986.
[7] P. P. Chen, "The Entity-Relationship Model -- Towards a Unified View of Data,"ACM Trans. Database Syst., Vol. 1, No. 1, Mar. 1976, pp. 9-36.
[8] G. M. Clemm, "Odin: An extensible software environment, report and users reference manual," Univ. Colorado at Boulder, Tech. Rep. 262-84, Mar. 1984.
[9] K.D. Cooper, K. Kennedy, and L. Torczon, "The impact of interprocedure analysis and optimization in theRnenvironment,"ACM Trans. Program. Lang. Syst., vol. 8, no. 4, pp. 491-523, Oct. 1986.
[10] I. D. Cottam, "The rigorous development of a system version control program,"IEEE Trans. Software Eng., vol. SE-10, no. 3, pp. 143- 154, Mar. 1984.
[11] F. DeRemer and H. Kron, "Programming-in-the-large versus programming-in-the-small,"IEEE Trans. Software Eng., vol. SE-2, pp. 80-86, June 1976.
[12] A. Demers, T. Reps, and T. Teitelbaum, "Incremental evaluation for attribute grammars with applications to syntax-directed editors," inConf. Rec. 8th Annu. ACM Symp. Principles Programming Languages, Jan. 1981, pp. 415-418.
[13] K. Dittrich and U. Dayal, eds.,Proc. 1986 Int'l. Workshop on Object-Oriented Data-base Sys., Computer Society Press, Sept. 1986.
[14] R. Farrow, "Automatic generation of fixed-point-finding evaluators for circular, but well-defined attribute grammars,"SIGPLAN Notices, vol. 21, pp. 85-98, July 1986.
[15] S. I. Feldman, "Make--A program for maintaining computer programs,"Software--Practice and Experience, vol. 9, pp. 255-265, Apr. 1979.
[16] L. D. Fosdick and L. J. Osterweil, "Data flow analysis in software reliability,"ACM Comput. Surveys, vol. 8, no. 3, pp. 306-330, Sept. 1976.
[17] A. Goldberg and D. Robson,Smalltalk80: The Language and Its Implementation. Reading, MA: Addison-Wesley, May 1983.
[18] M. Hammer and D. J. McLead, "Database description with SDM: a semantic database model,"ACM Trans. Database Syst., pp. 351-386, Sept. 1981.
[19] S. Horwitz and T. Teitelbaum, "Generating editing environments based on relations and attributes,"ACM Trans. Program. Lang. Syst., vol. 8, no. 4, pp. 577-608, Oct. 1986.
[20] S. Hudson and R. King, "CACTIS: A database system for specifying functionally-defined data," inProc. Workshop Object-Oriented Databases, Pacific Grove, CA, 1986.
[21] S. E. Hudson and R. King, "Object-oriented database support for software environments," inProc. ACM SIGMOD Int. Conf. Management of Data, San Francisco, CA, May 1987, pp. 491-503.
[22] S. E. Hudson, "Incremental attribute evaluation: An algorithm for lazy evaluation in graphs," Univ. of Arizona, Tech. Rep. 87-20, Aug. 1987.
[23] S. Hudson and R. King, "Cactis: A Self-Adaptive, Concurrent Implementation of an Object-Oriented Database Management System,"ACM Trans. Database Systems, Sept. 1989, pp. 291-321.
[24] R. Hull and R. King, "Semantics database modeling: Survey, applications, and research issues,"Comput. Surveys, vol. 19, no. 3, pp. 201-260, Sept. 1987.
[25] L. G. Jones and J. Simon, "Hierarchical VLSI design systems based on attribute grammars," inConf. Rec. 13th Annu. ACM Symp. Principles of Programming Languages, Jan. 1986, pp. 58-69.
[26] S. K. Kaplan and G. E. Kaiser, "Incremental Attribute evaluation in distributed language-based environments," inProc. 5th Annu. Symp. Principles of Distributed Computing, Calgary, Aug. 11-13, 1986, pp. 121-130.
[27] S. M. Kaplan, "Incremental attribute evaluation on node-label controlled graphs," Univ. Illinois, Tech. Rep. UIUCDCS-R-87-1309, May 1987.
[28] R. Katz, E. Chang, and R. Bhateja, "Version modeling concepts for computer-aided design databases," inProc. ACM SIGMOD Int. Conf. Management Data, Washington, DC, May 1986.
[29] R. King and D. McLeod, "Semantic database models," inDatabase Design, S. B. Yao, Ed. Englewood Cliffs, NJ: Prentice-Hall, 1985.
[30] R. King and D. McLeod, "A methodology and tool for designing office information systems,"ACM Trans. Office Inform. Syst., Jan. 1985.
[31] D. B. Knudsen, A. Barofsky, and L. R. Satz, "A modification request control system,"Tutorial: Automated Tools for Software Engineering, 1976.
[32] D. E. Knuth, "Semantics of context-free languages,"Math. Syst. Theory J., vol. 2, pp. 127-145, June 1968.
[33] D. E. Knuth, "Semantics of context-free languages: Correction,"Math. Syst. Theory J., vol. 5, pp. 95-96, Mar. 1971.
[34] T. J. Lehman and M. J. Carey, "Query processing in main memory database management systems," inProc. ACM-SIGMOD Conf., Washington, DC, 1986, pp. 239-250.
[35] D. Maieret al., "Development of an object-oriented DBMS," inProc. ACM OOPSLA'86, pp. 472-482, 1986.
[36] D. Maier and J. Stein, "Indexing in an object-oriented DBMS," inProc. Int. Workshop Object-Oriented Database Syst., Asilomar, CA, Sept. 23-26, 1986, pp. 171-182.
[37] F. Manola and U. Dayal, "PDM: An Object-Oriented Data Model,"Proc. Int'l Workshop Object Oriented Database Systems, IEEE CS Press, Los Alamitos, Calif., Order No. 734, 1986, pp. 18-25.
[38] L. Osterweil, "Using data flow tools in software engineering," inProgram Flow Analysis: Theory and Applications, S. S. Muchnick and N. D. Jones, Ed. Englewood Cliffs, NJ: Prentice-Hall. 1981, pp. 237-263.
[39] M. H. Penedo, "Prototyping a project master database for software engineering environments," inSIGSOFT/SIGPLAN Software Engineering Symp. Practical Software Development Environments, Palo Alto, CA, Dec. 1986, pp. 1-11; see alsoSIGPLAN Notices, vol. 22, Jan. 1987.
[40] D. E. Perry, "Version control in the Inscape environment," inProc. 9th Int. Conf. Software Engineering, Monterey, CA, Mar. 1987, pp. 142- 149.
[41] M. L. Powell and M. A. Linton, "Database support for programming environments," inProc. Int. ACM Conf. Management of Data, 1983.
[42] T. Reps, "Optimal-time incremental semantic analysis for syntaxdirected editors," inConf. Rec. 9th Annu. ACM Symp. Principles Programming Lang., Albuquerque, NM, Jan. 1982, pp. 169-176.
[43] T. Reps, T. Teitelbaum, and A. Demers, "Incremental context dependent analysis for language-based editors,"ACM Trans. Prog. Lang. Syst., vol. 5, pp. 449-477, July 1983.
[44] T. Reps,Generating Language-Based Environments. Cambridge, MA: MIT Press, 1984.
[45] R. Taylor, "Arcadia: A software development environment research project," Dep. Inform. Comput. Sci., Univ. California at Irvine, Tech. Rep., Apr. 1986.
[46] T. Teitelbaum and T. Reps, "The Cornell Program Synthesizer: A syntax directed programming environment,"Commun. ACM, vol. 24, no. 9, pp. 563-573, Sept. 1981.
[47] W. F. Tichy, "Design, implementation, and evaluation of a revision control system," inProc. 6th IEEE Int. Conf. Software Engineering, Sept. 1982, pp. 58-67.
[48] W. M. Waite andG. Goos, Compiler Construction. New York: Springer-Verlag, 1984.
[49] J. F. H. Winkler, "Version control in families of large programs," inProc. 9th Int. Conf. Software Engineering, 1987, pp. 150-161.
[50] D. Woelk, W. Kim, and W. Luther, "An Object-Oriented Approach to Multimedia Databases,"Proc. ACM, ACM, New York, May 1986, pp. 311-325.

Index Terms:
database support; software environments; Cactis; program compilations; software configurations; load modules; project schedules; software versions; program transformations; database management system; semantic models; object-oriented; database management systems; program compilers; programming environments
S.E. Hudson, R. King, "The Cactis Project: Database Support for Software Environments," IEEE Transactions on Software Engineering, vol. 14, no. 6, pp. 709-719, June 1988, doi:10.1109/32.6152
Usage of this product signifies your acceptance of the Terms of Use.