VCC ®(Virtual Component Co-Design) is a system level software tool that supports the design of concurrent systems by specifying
the functional model as a set of interconnected functional blocks, the system architecture, and the mapping between functional
blocks and architectural elements. VCC provides functional simulation, performance estimation, and refinement of the model
to implementation. This chapter provides a brief tutorial on the VCC tool. It describes the model of concurrency in VCC’s
default discrete event model of computation. While modeling a system, the importance of separating the behavioral model from
the implementation architecture is emphasized. The techniques used to model performance and implementation of the architecture
components, as a set of collaborating services, are explained in some detail. Customization of the model of computation, and
communication between functional blocks is also discussed. An example is provided that demonstrates the dataflow model of
computation implemented on top of the VCC infrastructure. Finally the automatic generation of an implementation from VCC (in
terms of HDL and/or C, and the communication code) is described.