![](/afs/cs/project/vit/www/images/dot_clear.gif) |
UniCon is an architectural description language whose focus is on
supporting the variety of architectural parts and styles found in the
real world and on constructing systems from their architecture
descriptions. To give a feel for what describing an architecture is
like in UniCon, here is a short example.
An
architecture description in UniCon consists of a set of components and
connectors. A component is a locus of data or computation, while a
connector mediates the interaction among components. Each component
has an interface that exports a set of players. These players engender
the ways in which the component can interact with the outside
world. Similarly, a connector's protocol exports a set of roles that
engender the ways in which the connector can mediate interaction. To
illustrate, here's an example diagram produced using UniCon's
graphical editor:
The diagram features two components, labelled A and B, which are Unix
filters. Each of them exports three players, drawn as triangles; the
player on the left represents the input stream "standard in", while
the players on the right represent the output streams "standard out"
and "standard error." Between the two components is a connector, which
represents a Unix pipe. The connect exports two roles: the one
dangling to the left represents the pipe's source; the one dangling to
the right represents the pipe's sink.
In the
picture above, there is no interactive among the components and
connectors; nothing is "hooked up." To specify that there should be a
connection, a player must be associated with a role. In the graphical
editor, this is done by dragging the role over the player and dropping
it. The result of dragging the pipe's sink and dropping it on B's
input is shown here:
![](/afs/cs/project/vit/www/images/unicon-connected.gif)
By associating players and roles, a whole configuration of interacting
parts can be specified.
The
current version of UniCon supports not only pipe-and-filter systems
like those above, but also modules interacting with procedure calls
and shared data, distributed systems with RPC calls, processes that
share processors according to various real-time disciplines, and
databases accessed with SQL commands.
![](/afs/cs/project/vit/www/images/dot_clear.gif)
The UniCon Tool Set
![](/afs/cs/project/vit/www/images/dot_clear.gif)
How to get the UniCon tool set.
![](/afs/cs/project/vit/www/images/dot_clear.gif)
UniCon Documentation
![](/afs/cs/project/vit/www/images/dot_clear.gif)
UniCon's Reference Manual.
Adding new connector experts to UniCon.
Creating icons for UniCon.
|
![](/afs/cs/project/vit/www/images/dot_clear.gif) |
|