skip to main content
article
Open Access

A mechanism for environment integration

Published:03 January 1990Publication History
Skip Abstract Section

Abstract

This paper describes research associated with the development and evaluation of Odin-an environment integration system based on the idea that tools should be integrated around a centralized store of persistent software objects. The paper describes this idea in detail and then presents the Odin architecture, which features such notions as the typing of software objects, composing tools out of modular tool fragments, optimizing the storage and rederivation of software objects, and isolating tool interconnectivity information in a single centralized object. The paper then describes some projects that have used Odin to integrate tools on a large scale. Finally, it discusses the significance of this work and the conclusions that can be drawn about superior software environment architectures.

References

  1. 1 BOEHM, B. W., AND STANDISH, T. Software technology in the 1990s: Using an evolutionary paradigm. Computer 16, 11 (Nov. 1983).Google ScholarGoogle Scholar
  2. 2 BUXTON, J. N., AND STENNING, V. Requirements for Ada programming support environments. Stoneman, DOD, Feb. 1980.Google ScholarGoogle Scholar
  3. 3 CLEMM, G.U. Odin--An extensible software environment. Univ. of Colorado, Dept. of Computer Science Tech. Rep. CU-CS-262-84, 1984.Google ScholarGoogle Scholar
  4. 4 CLEMM, G.M. The Odin system--An object manager for extensible software environments. Ph.D. dissertation, Dept. of Computer Science, Univ. of Colorado at Boulder, CU-CS-314-86, 1986. Google ScholarGoogle Scholar
  5. 5 DEREMER, F., AND KRON, $. Programming-in-the-large versus programming-in-the-small. IEEE Trans. Softw. Eng. SE-2, 2 (June 1976), 80-86.Google ScholarGoogle Scholar
  6. 6 FELDMAN, S.I. Make--A program for maintaining computer programs. Softw. Pract. Exper. 9 (1979), 255-265.Google ScholarGoogle Scholar
  7. 7 KASTENS, U., HUTT, B., AND ZIMMERMAN, E. GAG: A Practical Compiler Generator. Springer Verlag, New York, 1982.Google ScholarGoogle Scholar
  8. 8 KERNIGHAN, B. W., AND RITCH1E, D. M. The C Programming Language. Prentice Hall, Englewood Cliffs, N.J., 1978. Google ScholarGoogle Scholar
  9. 9 LAMPSON, B., AND SCHMIDT, E. Practical use of a polymorphic applicative language. In Proceedings of the lOth POPL Conference, 1983. Google ScholarGoogle Scholar
  10. 10 LAMPSON, B., AND SCHMIDT, E. Organizing software in a distributed environment. SIGPLAN Not. 18 (June 1983).Google ScholarGoogle Scholar
  11. 11 LEBLANG, D. B., AND CHASE, R. P. Computer aided software engineering in a distributed workstation environment. In SIGPLAN/SIGSOFT Symposium on Practical Software Development Environments (Pittsburgh, Pa., April 1984). ACM, New York, 1984. Google ScholarGoogle Scholar
  12. 12 LEBLANG, D. B., AND MCLEAN, G. D. Configuration management for large scale software development efforts. In Proceedings of the Workshop on Software Engineering for Programmingin-the-Large (Harwichport, Mass., June 1985).Google ScholarGoogle Scholar
  13. 13 LEBLANG, D. B., CHASE, R. P., AND MCLEAN, G. D. The DOMAIN software engineering environment for large scale software development efforts. In Proceedings of the IEEE Conference on Workstations (San Jose, Calif., Nov. 1985). IEEE, New York, 1985.Google ScholarGoogle Scholar
  14. 14 OLENDER, K., AND OSTERWEIL, L.J. Specification and static evaluation of sequencing constraints in software. In Workshop on Software Testing (Banff, Canada, July 1986), pp. 14-22, and Univ. of Colorado Dept. of Computer Science Tech. Rep. CU-CS-334-86.Google ScholarGoogle Scholar
  15. 15 OSTERWE1L, L.J. Software environment research directions for the next five years. Computer 14 (April 1981), 35-43.Google ScholarGoogle Scholar
  16. 16 OSTERWEIL, L. J. Toolpack--An experimental software development environment research project. IEEE Trans. Softw. Eng. SE-9 (Nov. 1983), 673-685.Google ScholarGoogle Scholar
  17. 17 RIDDLE, W.E. The evolutionary approach to building the Joseph software development environment. In Proceedings IEEE Softfair--Software Development Tools, Techniques, and Alternatives (Crystal City, Va., July 1983). IEEE, New York, 1983, pp. 317-325.Google ScholarGoogle Scholar
  18. 18 SCHMIDT, E. E. Controlling large software development in a distributed environment. Ph.D. dissertation, Computer Science Div., EECS Dept., Univ. of California, Berkeley, Dec. 1982. Google ScholarGoogle Scholar

Index Terms

  1. A mechanism for environment integration

              Recommendations

              Reviews

              James Dennis Kiper

              Odin is a research software system developed at the University of Colorado at Boulder to facilitate the rapid and effective integration of software tools. The paper's intended audience is researchers in software engineering and programming environments. One of the primary contributions of the Odin system is its data-centered rather than tool-centered approach. Odin maintains a repository of data objects consisting of the input to, and output from, the integrated tools. These objects are relatively large-grained, such as source code, parse trees, documentation, and test data. The integrated tools, such as parsers and dataflow analyzers, are similarly large-grained. One of the major conceptual contributions of this research is the use of a specification language to specify the relationships among tool fragments and objects. This allows existing and new tools to be incorporated easily into Odin without modification. Relationship information is incorporated into Odin's Derivation Graph. When the user asks for an invocation of a complex tool, Odin consults this Derivation Graph to determine what tool fragments need to be invoked on which objects to accomplish this result. This well-written, well-organized description of the Odin system seems to reveal the important design principles and research contributions of this project in sufficient detail and at an appropriate length. These contributions are illustrated in several useful examples. I found the paper quite interesting and instructive. The only shortcoming was the out-of-date references.

              Access critical reviews of Computing literature here

              Become a reviewer for Computing Reviews.

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              • Published in

                cover image ACM Transactions on Programming Languages and Systems
                ACM Transactions on Programming Languages and Systems  Volume 12, Issue 1
                Jan. 1990
                141 pages
                ISSN:0164-0925
                EISSN:1558-4593
                DOI:10.1145/77606
                Issue’s Table of Contents

                Copyright © 1990 ACM

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 3 January 1990
                Published in toplas Volume 12, Issue 1

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • article

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader