next up previous
Next: 2 Problem: Order hampers Up: Towards A Model For Previous: Towards A Model For

1 Background

One of the authors (Uwe Assmann) has taken part in the development of the architectural environment for compiler construction CoSy [AAvS94]. CoSy provides an architecture model for tightly-coupled repository systems. It is based on a component-connector architecture and allows flexible reuse of compiler components. Active components (engines) can be combined with complex connectors ( interaction schemes) and communicate via a repository of passive data objects. Components can be refined, which enables hierarchical construction of the compiler architecture. Connectors cannot be refined, but there are seven standard interaction types which are used by the system to generate architectural glue code which ties the engines together. This mechanism is very flexible: within a few hours a new compiler can be configured from a ready set of components, which is distinct in optimization behavior, in compilation speed, and memory consumption.

In order to let components work on a shared memory data pool, CoSy provides a powerful view concept for engines. A specific interface language, fSDL, is used to describe an engine's view on the intermediate representation of the program. Thus during the development of an engine other engines are invisible. During the composition of the complete compiler all views are merged together to find out at the actual representation of the data and the mapping of the engine views to this representation. From the merged view the fSDL generator generates all modules by which components access the repository. Hence repository objects can be composed and extended very easily: each new view aggregates new items into the data object, while this aggragation is transparent to all other engines. The view merging and mapping process is so powerful that engines in binary form can be reused without recompilation in other compilers, even if they assume a different layout of data objects in the repository.

Our current work is to generalize the composition process in CoSy to general component systems, and we are interested in the formal criteria that enable transparent composition of components, which contain both code and data.


next up previous
Next: 2 Problem: Order hampers Up: Towards A Model For Previous: Towards A Model For

Uwe Assmann and Rainer Schmidt
Sep. 12 1997