Abstract :
We describe Bart, a software bus that addresses the problem of maintaining flexibility in software systems by supporting component independence. Software components can be built to be independent of the context in which they are used, allowing them to be reused in many different situations. Component independence also allows a software system to be extended by adding new components without modifying existing ones. The connections between software compo- nents are described using SCL, a declarative glue language that defines the relationships between data models in different components. This glue language is compiled into an efficient procedural form and, to reduce communication overhead, executed in the process where the data resides. Bart is a software bus that handles message transport, data sharing, and data translation. It operates in a distributed environment and can connect components written in different programming languages. We illustrate Bart by showing how it is used to support a hypertext system.