Reconciling environment integration and software evolution
- 1 July 1992
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Software Engineering and Methodology
- Vol. 1 (3) , 229-268
- https://doi.org/10.1145/131736.131744
Abstract
Common software design approaches complicate both tool integration and software evolution when applied in the development of integrated environments. We illustrate this by tracing the evolution of three different designs for a simple integrated environment as representative changes are made to the requirements. We present an approach that eases integration and evolution by preserving tool independence in the face of integration. We design tool integration relationships as separate components called mediators , and we design tools to implicitly invoke mediators that integrate them. Mediators separate tools from each other, while implicit invocation allows tools to remain independent of mediators. To enable the use of our approach on a range of platforms, we provide a formalized model and requirements for implicit invocation mechanisms. We apply this model both to analyze existing mechanisms and in the design of a mechanism for C++.Keywords
This publication has 15 references indexed in Scilit:
- Interactive specification of flexible user interface displaysACM Transactions on Information Systems, 1990
- An incremental constraint solverCommunications of the ACM, 1990
- Kaleidoscope: mixing objects, constraints, and imperative programmingPublished by Association for Computing Machinery (ACM) ,1990
- Composing user interfaces with InterViewsComputer, 1989
- Common Lisp Object System specificationACM SIGPLAN Notices, 1988
- PRESTO: A system for object‐oriented parallel programmingSoftware: Practice and Experience, 1988
- Gandalf: Software development environmentsIEEE Transactions on Software Engineering, 1986
- Primitives for the manipulation of general subdivisions and the computation of VoronoiACM Transactions on Graphics, 1985
- Implementing remote procedure callsACM Transactions on Computer Systems, 1984
- The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation LaboratoryACM Transactions on Programming Languages and Systems, 1981