Abstract
We present an approach that eases the design and evolution of integrated environments by increasing independence among components. Our approach combines mediators, which localize relationships, and a general event mechanism, which increases the independence of components from relationships in which they participate. To clarify our notion of independence and its relationship to evolution, we analyze four designs for a simple environment. The first three show how common approaches compromise independence in various ways. The fourth design demonstrates how our approach overcomes these problems. Our event mechanism is specially designed to support integration and evolution. We discuss detailed aspects of mediators and events by presenting three environments we have built. Our approach has also given us significant insights into other related systems.
References
- Bobrow et al. 88 D.G. Bobrow et al. Common Lisp Object System Specification X3JI3 Document 88 002R. AC~f SIGPLAN Notices 23. (September 1988). Google Scholar
Digital Library
- Borning 81 A. Borning. The Programming Language Aspects of ThingLab, A Constraint- Oriented Simulation Laboratory. ACM Transactions on Programming Languages and Systems 3,4 (October 1981), pp. 353-87. Google Scholar
Digital Library
- Cohen 89 D. Cohen. Compiling Complex Transition Database Triggers. Proceedings of the 1989 ACM SIGMOD, Portland, OR (1989), pp. 225-34. Google Scholar
Digital Library
- Garlan 87 D. Garlan. Views for Tools in Integrated Environments. Ph.D. Thesis, Carnegie-Mellon University (1987). Google Scholar
Digital Library
- Garlan & Ilias 90 D. Garlan and E. llias. Lowcost, Adaptable Tool Integration Policies for Integrated Environments. Proceedings of SIGSOFT90: Fourth Symposium on Software Development Environments. Irvine CA (1990). Google Scholar
Digital Library
- Griswold & Notkin 90 W.G. Griswold and D. Notkin. Program Restructuring to Aid Software Maintenance. University of Washington, Department of Computer Science and Engineering Technical Report 90-08-05 (September 1990).Google Scholar
- Habermann & Notkin 86 A. N. Habermann and D. Notkin. Gandalf Software Development Environments. IEEE Transactions on Software Engineering SE-12,12 (December 1986), pp. 1117-1127. Google Scholar
Digital Library
- Habermann et al. 88 A.N. Habermann, C. Krueger, B. Pierce, B. Staudt, and J. Wenn. Programming with Views. Technical Report CMU-CS-87-177, Carnegie-Mellon University (January 1988).Google Scholar
- Sutton, Heimbigner & Osterweil 89 S. Sutton, D. Heimbigner, and L. Osterweil. APPL/A: A Prototype Language for Software Process Programming. University of Colorado Technical Report CU-CS-448-89, University of Colorado, Boulder (1989).Google Scholar
- Krasner & Pope 88 G.E. Krasner and S.T. Pope. A Cookbook for Using the Model-View-Controller User Interface Paradigm in Smalltalk-80. Journal of Object Oriented Programming 1,3 (August/September 1988), pp. 26-49. Google Scholar
Digital Library
- Linton, Vlissides & Calder 89 M.A. Linton, J.M Vlissides, and P.R. Calder. Composing User Interfaces with Interviews. Computer 22,2 (February 1989), pp. 8-22. Google Scholar
Digital Library
- Meyer 88 B. Meyer. Object-Oriented Software Construction. Prentice-Hall, Cambridge (UK), 1988. Google Scholar
Digital Library
- Parnas 72 D. L. Parnas. On the Criteria to Be Used in Decomposing Systems into Modules. Communications of the ACM 5,12 (December 1972), pp.1053-58. Google Scholar
Digital Library
- Reiss 90 S. P. Reiss. Connecting Tools using Message Passing in the Field Environment. IEEE Software 7,4 (July 1990), pp. 57-66. Google Scholar
Digital Library
- Stefik, Bobrow & Kahn 86 M.J. Stefik, D.G. Bobrow, and K.M. Kahn. Integrating Access-Oriented Programming into a Multiparadigm Environment. IEEE Software (January 1986), pp. 10-18.Google Scholar
Digital Library
- Young, Taylor & Troup 88 M. Young, R.N. Taylor, aud D.B. Troup. Software Environment Architectures and User Interface Facilities. IEEE Transactions on Software Engineering 14 6 (June 1988), pp. 697-708. Google Scholar
Digital Library
Index Terms
Reconciling environment integration and component independence





Comments