Abstract
We present a model of tool integration intermediate to the monolithic approach and the toolkit approach. Tools are developed separately, as in the toolkit approach, and then combined to form a new tool. The Interface Description Language (IDL), a notation for describing the characteristics of data structures passed among collections of cooperating processes, is extended to specify tight integration as exhibited in the monolithic approach. A composite tool can be formed by grouping a collection of existing tools linked through connections. Representations for connections that differ in flexibility and efficiency can be specified. Certain portions of the tool can be generated automatically from its specification.
This author was supported in part by an IBM Faculty Development Award.
Chapter PDF
References
Reference Manual for the Ada Programming Language. (ANSI/MIL-STD-1815A) ed. United States Department of Defense, Washington, D.C., 1983.
Aho, A.V., R. Sethi and J.D. Ullman. Compilers: Principles, Techniques and Tools. Reading, Massachusetts: Addison Wesley, 1986.
Ambler, A. and R. Trawick. Chatin's Graph Coloring Algorithm as a Method for Assigning Positions to Diana Attributes. ACM SIGPlan Notices, 18, No. 2, Feb. 1983, pp. 37–78.
Borison, E. A Model of Software Manufacture. in Proceedings of the International Workshop on Advanced Programming Environments, IFIP WG 2.4. Trondheim, Norway: June 1986.
Butler, K.J. DIANA Past, Present, and Future. in Lecture Notes in Computer Science Ada Software Tools Interfaces, Ed. G. Goos and J. Hartmanis. Workshop, Bath: Springer-Verlag, 1983, pp. 3–22.
Butler, N., J. Curry, S. Konstant and D. Rosenblum. Treepr Users Manual. SoftLab Document No. 4. Computer Science Department, University of North Carolina at Chapel Hill. May 1985.
Conradi, R. and D.H. Wanvik. Mechanisms and Tools for Separate Compilation. Technical Report 25/85. The University of Trondheim, The Norwegian Institute of Technology. October 1985.
DeRemer, F. and H.H. Kron. Programming-in-the-Large vs. Programming-in-the-Small. IEEE Transactions on Software Engineering, SE-2, No. 2, June 1976, pp. 80–86.
Deitel, H.M. An Introduction to Operating Systems. Reading, MA: Addison-Wesley, 1984.
Gilman, A.S. VHDL—The Designer Environment. IEEE Design and Test,, Apr. 1986, pp. 42–47.
Goos, G., W.A. Wulf, A. Evans and Butler. K.J..DIANA An Intermediate Language for Ada. Vol. 161 of Lecture Notes in Computer Science. Springer-Verlag, 1983.
Habermann, A.N. Tools for Software System Construction, in Software Development Tools. Pingree Park, Co: Springer-Verlag, 1979. pp. 10–21.
Joy, W. An Introduction to the C Shell. Dept. of EE and Computer Science, UCB, 1980.
Kaplan, S.M., R.H. Campbell, M.T. Harandi, R.E. Johnson, S.N. Kamin, J.W.S. Liu and J.M. Purtilo. An Architecture for Tool Integration. in Proceedings of the International Workshop on Advanced Programming Environments, IFIP WG 2.4. Trondheim, Norway: June 1986.
Kernighan, B.W. and D.M. Ritchie. The C Programming Language. Englewood Cliffs, NJ: Prentice-Hall, 1978.
Kernighan, B.W. and J.R. Mashey. The Unix Programming Environment. Computer, 14, No. 4, Apr. 1981, pp. 12–24.
Kickenson, J.S. An IDL Assertion Checker. Computer Science Department, University of North Carolina at Chapel Hill, Aug. 1986. SoftLab Document No. 28.
Lamb, D.A. Sharing Intermediate Representations: The Interface Description Language. Ph.D. Diss. Computer Science Department, Carnegie-Mellon University, May 1983.
Luckham, D.C. and F.W. von Henke. An Overview of Anna, a Specification Language for Ada. in Proceedings of the IEEE Computer Society 1984 Conference on Ada Applications and Environments, St. Paul, MN: Oct. 1984, pp. 116–127.
Mitchell, J.G., W. Maybury and R. Sweet. Mesa Language Manual Version 5.0. Technical Report CSL-79-3. Xerox PARC. Apr. 1979.
Nestor, J.R., W.A. Wulf and D.A. Lamb. IDL Formal Description, Draft Revision 2.0. Technical Report. Computer Science Department, Carnegie-Mellon University. June 1982.
Nestor, J.R. Revised Process Model for IDL. 1986. (Informal presentation, SEI-UNC Workshop on IDL, Kiawah Island, SC.)
Newcomer, J.M. IDL: Future Directions. in Proceedings of the International Workshop on Advanced Programming Environments, IFIP WG 2.4. Trondheim, Norway: June 1986.
Notkin, D. The GANDALF Project. Journal of Systems and Software, 5, No. 2, May 1985, pp. 91–106.
Osterweil, L. and G. Clemm. The Toolpack/IST Approach To Extensibility In Software Environments. In Lecture Notes in Computer Science Ada Software Tools Interfaces, Ed. G. Goos and J. Hartmanis. Workshop, Bath: Springer-Verlag, 1983, pp. 133–163.
Purtilo, J. Polylith: An Environment to Support Management of Tool Interfaces. in Proceedings of the ACM SIGPlan '85 Symposium on Language Issues in Programming Environments, Seattle, WA: July 1985, pp. 12–18.
Reiss, S.P. PECAN: Program Development Systems that Support Multiple Views. IEEE Transactions on Software Engineering, SE-11, No. 3, Mar. 1985, pp. 276–285.
Reps, T. and T. Teitelbaum. The Synthesizer Generator. in Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, Ed. P. Henderson. Association for Computing Machinery. Pittsburgh, PA: ACM, May 1984, pp. 42–48.
Rudmik, A. and B.G. Moore. An Efficient Separate Compilation Strategy for Very Large Programs. in Proceedings of the Symposium on Compiler Construction, Boston, MA: June 1982, pp. 301–307.
Shannon, K. and R. Snodgrass. Listers Users Manual. SoftLab Document No. 11. Computer Science Department, University of North Carolina at Chapel Hill. Sep. 1985.
Shannon, K., T. Maroney and R. Snodgrass. Using IDL with C. SoftLab Document No. 6. Computer Science Department, University of North Carolina at Chapel Hill. May 1985.
Shannon, K. and R. Snodgrass. Candle: Common Attributed Notation for Interface Description. SoftLab Document No. 26. Computer Science Department, University of North Carolina at Chapel Hill. Jan. 1986.
Shannon, K. and R. Snodgrass. Mapping the Interface Description Language Type Model into C. SoftLab Document No. 24. Computer Science Department, University of North Carolina at Chapel Hill. Mar. 1986.
Snodgrass, R., editor IDL Manual Entries (Version 2.0). SoftLab Document No. 15. Computer Science Department, University of North Carolina at Chapel Hill. Dec. 1985.
Teitelbaum, T., T. Reps and S. Horwitz. The Why and Wherefore of the Cornell Program Synthesizer. in Proceedings of the ACM SigPlan SigOA Symposium on Text Manipulation, Association for Computing Machinery. Portland, OR: acm, june 1981, pp. 8–16.
Tichy, W.F. Software Development Control Based on Module Interconnection. in Proceedings of the Fourth International Conference on Software Engineering, Munich, West Germany: Sep. 1979, pp. 29–41.
Tichy, W.F. and M.C. Baker. Smart Recompilation. in Proceedings of the 1985 Conference on Principles of Programming Languages, Association for Computing Machinery. Jan. 1985, pp. 236–244.
Warren, W.B., J. Kickenson and R. Snodgrass. A Tutorial Introduction to Using IDL. Softlab Document No. 1. Computer Science Department, University of North Carolina at Chapel Hill. Dec. 1985.
Wirth, N. Programming in Modula-2, 2nd Edition. of Texts and Monographs in Computer Science. Springer-Verlag, 1983.
Wolf, A.L., L.A. Clarke and J.C. Wileden. An Ada Environment for Programming-In-The-Large. in Proceedings of the IEEE Computer Society 1984 Conference on Ada Applications and Environments, St. Paul, MN: Oct. 1984.
Zorn, B. Experiences with Ada Code Generation. Technical Report UCB/CSD 85/249. University of California, Berkeley. June 1985.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1987 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Snodgrass, R., Shannon, K. (1987). Supporting flexible and efficient tool integration. In: Conradi, R., Didriksen, T.M., Wanvik, D.H. (eds) Advanced Programming Environments. Lecture Notes in Computer Science, vol 244. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-17189-4_104
Download citation
DOI: https://doi.org/10.1007/3-540-17189-4_104
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-17189-8
Online ISBN: 978-3-540-47347-3
eBook Packages: Springer Book Archive