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:
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:
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.
The UniCon Tool Set
How to get the UniCon tool set.
UniCon's Reference Manual.
Adding new connector experts to UniCon.
Creating icons for UniCon.