Viptos 5.1-alpha - Visual interface between Ptolemy and TinyOS


Viptos is an interface between TinyOS and Ptolemy II

Note: As of 10/05, Windows users will not be able to run TinyOS models inside Ptolemy. The reason is that reloading the TinyOS shared objects into the running Ptolemy interface fails because the TinyOS shared objects use pthreads and under Windows, Java is using Windows native threads. We are working on a solution. In the interim, Windows users can convert .nc files to .moml files and create models, but running the model fails.

Despite the bug above, Windows users and other users can generate code by changing the PtinyOSDirector target from ptII to pc or some other tinyos target like mica or mica install. See $PTII/ptolemy/configs/viptos/help.htm for details. Only running a simulation within ptII will bring up the pthreads issue.

This is the first release of Viptos, which is based on Ptolemy II 5.1, hence the name of the release is Viptos 5.1-alpha.

Summary of steps for getting Viptos to the point where you can create and simulate wireless sensor node applications:

  1. Download viptos5.1-alpha.src.tar.gz, compile it.
  2. Set up the links to your tinyos-1.x and nesc trees in $PTII/vendors/ptinyos
  3. Install the tools required by nc2moml and use it to build a moml library representing the basic nesC components.
  4. Install the tools required by ncapp2moml and use it to build moml versions of the nesC applications.


  • viptos5.1-alpha.src.tar.gz (14Mb) Gzipped Tar file with Unix line endings.
  • nc2moml instructions, included in the release as $PTII/ptolemy/domains/ptinyos/util/nc2moml/index.htm
    nc2moml is used to convert nesC files (.nc) into MoML (.moml) files. This will create the Ptolemy II libraries of components that are used to assemble models. TinyOS provides a rich library of nesC components. If you install TinyOS 1.x in $PTII/vendors/ptinyos/tinyos-1.x, then the Ptolemy II configure script will find it, running nc2moml will convert the TinyOS libraries and make them available to Ptolemy.
  • ncapp2moml instructions, included in the release as $PTII/ptolemy/domains/ptinyos/util/ncapp2moml/index.htm
    ncapp2moml is used to convert nesC application files (.nc) into MoML (.moml) files. This will create Ptolemy II models that you can run in Viptos. You must setup the necessary MoML library of nesC components with the nc2moml tool before you can successfully open files made with this ncapp2moml tool.