Communication Virtual Machine (CVM)


The Communication Virtual Machine (CVM) provides a runtime environment that supports the modeling and realization of user-centric communication services specified in CML. The layered architecture of CVM is shown below. The CVM platform is divided into four major levels of abstraction, each layer playing a role in realizing communication services. The layers of CVM are: (1) User Communication Interface (UCI) - provides a language environment for users to specify their communication requirements using CML or WF-CML; (2) Synthesis Engine (SE) - synthesizes CML models i.e., generates an executable script (communication control script) from a CML model and  negotiates the model with other participants in the communication; (3) User-centric Communication Middleware (UCM) - executes the communication control script to manage and coordinate the delivery of communication services to users; (4) Network Communication Broker (NCB) - provides a network-independent API to UCM and works with the underlying network protocols or communication frameworks (e.g., Skype) to deliver the communication services.

CVM Architecture

Communication Control Script

User Communication Interface (UCI)

CVM Documentation

Last modified 05/14/10