module          max_number_in_system
------          --------------------
vicp_line           24


    system_attribute    values
    ----------------    ------
    condition           offline, online
    type                0048

    user_attribute      values
    --------------      ------

    location            NULL, \
                        r1, r2, r3, r4, r5, r6, \
                        r9, r10, r11, r12, r13, r14, \
                        r17, r18, r19, r20, r21, r22, \
                        r25, r26, r27, r28, r29, r30, \
                        r49, r50, r51, r52, r53, r54, \
                        r57, r58, r59, r60, r61, r62

    req_condition       offline, online
    fault_acknowledged  no, yes

    description         "serial comms. line (vicp000-vicp007)", \
                        "serial comms. line (vicp008-vicp015)", \
                        "serial comms. line (vicp016-vicp023)", \
                        "serial comms. line (vicp024-vicp031)", \
                        "serial comms. line (vicp032-vicp039)", \
                        "serial comms. line (vicp040-vicp047)", \
                        "serial comms. line (vicp048-vicp055)", \
                        "serial comms. line (vicp056-vicp063)", \
                        "serial comms. line (vicp064-vicp071)", \
                        "serial comms. line (vicp072-vicp079)", \
                        "serial comms. line (vicp080-vicp087)", \
                        "serial comms. line (vicp088-vicp095)", \
                        "serial comms. line (vicp096-vicp103)", \
                        "serial comms. line (vicp104-vicp111)", \
                        "serial comms. line (vicp112-vicp119)", \
                        "serial comms. line (vicp120-vicp127)", \
                        "serial comms. line (vicp128-vicp135)", \
                        "serial comms. line (vicp136-vicp143)", \
                        "serial comms. line (vicp144-vicp151)", \
                        "serial comms. line (vicp152-vicp159)", \
                        "serial comms. line (vicp160-vicp167)", \
                        "serial comms. line (vicp168-vicp175)", \
                        "serial comms. line (vicp176-vicp183)", \
                        "serial comms. line (vicp184-vicp191)"
    alias		string
 

    constituent         values
    -----------         ------

    first_driver        null 0, \
                        vicp_driver 0,  vicp_driver 1, \
                        vicp_driver 2,  vicp_driver 3, \
                        vicp_driver 4,  vicp_driver 5, \
                        vicp_driver 6,  vicp_driver 7, \
                        vicp_driver 8,  vicp_driver 9, \
                        vicp_driver 10, vicp_driver 11, \
                        vicp_driver 12, vicp_driver 13, \
                        vicp_driver 14, vicp_driver 15, \
                        vicp_driver 16, vicp_driver 17, \
                        vicp_driver 18, vicp_driver 19, \
                        vicp_driver 20, vicp_driver 21, \
                        vicp_driver 22, vicp_driver 23
    second_driver       null 0, \
                        vicp_driver 0,  vicp_driver 1, \
                        vicp_driver 2,  vicp_driver 3, \
                        vicp_driver 4,  vicp_driver 5, \
                        vicp_driver 6,  vicp_driver 7, \
                        vicp_driver 8,  vicp_driver 9, \
                        vicp_driver 10, vicp_driver 11, \
                        vicp_driver 12, vicp_driver 13, \
                        vicp_driver 14, vicp_driver 15, \
                        vicp_driver 16, vicp_driver 17, \
                        vicp_driver 18, vicp_driver 19, \
                        vicp_driver 20, vicp_driver 21, \
                        vicp_driver 22, vicp_driver 23



    state                   function
    -----                   --------
    not_here                if (location == NULL)
    inaccessible            if (				    \
			          !(first_driver->state == online   \
				 || first_driver->state == broken)  \
		               && !(second_driver->state == online  \
				 || second_driver->state == broken )\
                            )
    accessible_via_first    if (condition != online                 \
                              && (first_driver->state == online     \
			      ||  first_driver->state == broken)    \
                              && !(second_driver->state == online   \
			      ||  second_driver->state == broken)   \
			    ) 
    accessible_via_second   if (condition != online                 \
                              && !(first_driver->state == online    \
			      ||  first_driver->state == broken)    \
                              && (second_driver->state == online    \
			      ||  second_driver->state == broken)   \
			    )
    accessible_via_both     if (condition != online                 \
                              && (first_driver->state == online     \
		              ||  first_driver->state == broken)    \
                              && (second_driver->state == online    \
			      ||  second_driver->state == broken)   \
			    )
    online_via_first        if (condition == online                 \
                              && (first_driver->state == online     \
			      ||  first_driver->state == broken)    \
                              && !(second_driver->state == online   \
			      ||  second_driver->state == broken)   \
			    )
    online_via_second       if (condition == online                 \
                              && !( first_driver->state == online   \
			      || first_driver->state == broken )    \
                              && ( second_driver->state == online   \
			      || second_driver->state == broken )   \
			    )
    online_via_both         if (condition == online                 \
                              && ( first_driver->state == online    \
		              || first_driver->state == broken)     \
                              && (second_driver->state == online    \
			      || second_driver->state == broken)    \
			    )


    transition      response
    ----------      --------
    inaccessible -> accessible_via_first \
      /etc/cms/bin/vicpctl line $number $location $first_driver \
              `/etc/cms/bin/vicp_par $location \
               $first_driver->controller->comms_chassis` ;

    inaccessible -> accessible_via_second \
      /etc/cms/bin/vicpctl line $number $location $second_driver \
              `/etc/cms/bin/vicp_par $location \
                $second_driver->controller->comms_chassis` ;

    inaccessible -> accessible_via_both \
      /etc/cms/bin/vicpctl line $number $location \
              $first_driver $second_driver \
              `/etc/cms/bin/vicp_par $location \
               $second_driver->controller->comms_chassis` ;

    inaccessible -> online_via_first \
      /etc/cms/bin/vicpctl line $number $location $first_driver \
              `/etc/cms/bin/vicp_par $location \
               $first_driver->controller->comms_chassis` ; \
      /etc/cms/bin/sysconfig -m $name -n $number -a fault_acknowledged -v no ;

    inaccessible -> online_via_second \
      /etc/cms/bin/vicpctl line $number $location $second_driver \
              `/etc/cms/bin/vicp_par $location \
               $second_driver->controller->comms_chassis` ; \
      /etc/cms/bin/sysconfig -m $name -n $number -a fault_acknowledged -v no ;

    inaccessible -> online_via_both \
      /etc/cms/bin/vicpctl line $number $location \
              $first_driver $second_driver \
              `/etc/cms/bin/vicp_par $location \
               $second_driver->controller->comms_chassis` ; \
      /etc/cms/bin/sysconfig -m $name -n $number -a fault_acknowledged -v no ;

    accessible_via_first -> accessible_via_both \
      /etc/cms/bin/vicpctl line $number $location \
              $first_driver $second_driver \
              `/etc/cms/bin/vicp_par $location \
               $first_driver->controller->comms_chassis` ;

    accessible_via_second -> accessible_via_both \
      /etc/cms/bin/vicpctl line $number $location \
              $first_driver $second_driver \
              `/etc/cms/bin/vicp_par $location \
               $first_driver->controller->comms_chassis` ;

    online_via_first -> online_via_both \
      /etc/cms/bin/vicpctl line $number $location \
              $first_driver $second_driver \
              `/etc/cms/bin/vicp_par $location \
               $first_driver->controller->comms_chassis` ;

    online_via_second -> online_via_both \
      /etc/cms/bin/vicpctl line $number $location \
              $first_driver $second_driver \
              `/etc/cms/bin/vicp_par $location \
               $first_driver->controller->comms_chassis` ;

    accessible_via_both -> accessible_via_first \
      /etc/cms/bin/vicpctl line $number $location $first_driver \
              `/etc/cms/bin/vicp_par $location \
               $first_driver->controller->comms_chassis`;

    accessible_via_both -> accessible_via_second \
      /etc/cms/bin/vicpctl line $number $location $second_driver \
              `/etc/cms/bin/vicp_par $location \
               $second_driver->controller->comms_chassis`;

    online_via_both -> online_via_first \
      /etc/cms/bin/vicpctl line $number $location $first_driver \
              `/etc/cms/bin/vicp_par $location \
               $first_driver->controller->comms_chassis`;

    online_via_both -> online_via_second \
      /etc/cms/bin/vicpctl line $number $location $second_driver \
              `/etc/cms/bin/vicp_par $location \
               $second_driver->controller->comms_chassis`;

    accessible_via_first -> online_via_first \
      /etc/cms/bin/sysconfig -m $name -n $number -a fault_acknowledged -v no ;

    accessible_via_second -> online_via_second \
      /etc/cms/bin/sysconfig -m $name -n $number -a fault_acknowledged -v no ;

    accessible_via_both -> online_via_both \
      /etc/cms/bin/sysconfig -m $name -n $number -a fault_acknowledged -v no ;

    online_via_first -> inaccessible \
      echo "$name $number condition offline <R1050003>controlling module bad" > /dev/FTlog:cms ;

    online_via_second -> inaccessible \
      echo "$name $number condition offline <R1050003>controlling module bad" > /dev/FTlog:cms ;


