UCI

ArchShell Example

The following example illustrates the commands used to construct a simple Stack visualization. The graphical depiction of the architecture is presented on the right.

StackArch> new component
ClassName: c2.comp.StackADT
Name: StackADT
StackArch> new component
ClassName: c2.comp.StackArtist
Name: StackArtist
StackArch> new component
ClassName: c2.comp.graphics.GraphicsBinding
Name: GraphicsBinding
StackArch> new connector
ClassName: c2.framework.ConnectorThread
Name: MainBus
StackArch> new connector
ClassName: c2.framework.ConnectorThread
Name: BindingBus
StackArch> weld
Top entity: StackADT
Bottom entity: MainBus
StackArch> weld
Top entity: MainBus
Bottom entity: StackArtist
StackArch> weld
Top entity: StackArtist
Bottom entity: BindingBus
StackArch> weld
Top entity: BindingBus
Bottom entity: GraphicsBinding        
StackArch> start
Entity: StackArch
Notice that the last command, start, initiates execution of the architecture. To demonstrate the runtime architecture modification, we add the StackPieArtist component to the running application. The graphical depiction of the architecture is presented on the right.
StackArch> new component
ClassName: c2.comp.StackPieArtist
Name: StackPieArtist
StackArch> weld
Top entity: MainBus
Bottom entity: StackPieArtist
StackArch> weld
Top entity: StackPieArtist
Bottom entity: BindingBus
StackArch> start
Entity: StackPieArtist
The current syntax for constructing architectures is extremely verbose. Future versions of ArchShell will also support a more compact textual syntax along with a graphical notation.


This material is based upon work sponsored by the Air Force Materiel Command, Rome Laboratory, and the Defense Advanced Research Projects Agency under Contract Number F30602-94-C-0218. The content of the information does not necessarily reflect the position or the policy of the Government and no official endorsement should be inferred.