Provided by: nescc_1.3.5-1.1build1_amd64 bug

NAME

       nescc-wiring - check wiring of nesC program

SYNOPSIS

       nescc-wiring nesc-xml-file

DESCRIPTION

       nescc-wiring  is  a  tool  to  verify  that  wiring  constraints  specified  on individual
       components are respected in a nesC program. These wiring constraints can specify  that  an
       interface  provided  or  used by a component must be wired at least once, at most once, or
       exactly once. If no wiring constraints are violated, nescc-wiring terminates with an  exit
       status of 0. Otherwise, appropriate error messages are printed and nescc-wiring terminates
       with a non-zero exit status.

       Wiring  constraints  are  specified   by   placing   @atmostonce(),   @atleastonce()   and
       @exactlyonce() attributes on the relevant interfaces. For instance, writing

         module Fun {
           provides interface Init @atleastonce();
         ...

       ensures that programs using module Fun must wire its Init interface at least once.

       Specifically,  when  the  annotation  is placed on a provided interface, there must be the
       specified number of paths in the wiring graph from any module to that  interface.  If  the
       annotations are placed on a used interface, there must be the specified number of paths in
       the wiring graph from the interface to any module.

       To use this wiring check tool, you must  declare  the  @atmostonce(),  @atleastonce()  and
       @exactlyonce() attributes in some global header file as follows:

         struct @atleastonce() { };
         struct @atmostonce() { };
         struct @exactlyonce() { };

       and  you  must pass the following options to nescc to create the XML file that you pass to
       nescc-wiring:

         -fnesc-dump=wiring
         -fnesc-dump='interfaces(!abstract())'
         -fnesc-dump='referenced(interfacedefs, components)'
         -fnesc-dumpfile=nesc-xml-file

SEE ALSO

       nescc(1)

                                         January 4, 2006                          nescc-wiring(1)