|Period||Oct 1, 1998 — Sept. 30, 2000|
Modern-day applications are increasingly built from ready-made software components of both fine and coarse granularity. These components typically make architectural assumptions about how communication takes place with other software components. Unfortunately one is often required to integrate components that make different kinds of assumptions, leading to the so-called architectural mismatch problem.
Presently there exists a variety of tools, languages and techniques for building systems from components: object-oriented languages, frameworks, 4GLs, scripting languages, user interface builders, middleware, meta-object protocols and so on. There exists also a considerable body of “best practice”, such as design patterns, standard software architectures, and various reflective techniques. Much of this work, however, has been produced in different communities, and it is not clear how, if at all, these techniques can be productively combined in a disciplined way to build heterogeneous software systems.
We propose an approach in which five of these techniques are combined, namely:
We expect to achieve results in the following areas:
For more information, please consult the Research Plan of the project [pdf].
The intermediate report covers the period from Oct. 1, 1998 through Sept. 30, 1999.
The final report covers the period from Oct. 1, 1999 through Sept. 30, 2000.