/*
 * instance operation:  clearLapMarkers
 */
void
Tracking_TrackLog::Tracking_TrackLog_op_clearLapMarkers( Tracking_TrackLog * self, Tracking * thismodule)
{
  sys_sets::Escher_ObjectSet_s v_lapMarkers_space={0}; sys_sets::Escher_ObjectSet_s * v_lapMarkers = &v_lapMarkers_space; /* lapMarkers (LapMarker) */
 Tracking_LapMarker * v_lapMarker; 
  /* SELECT many lapMarkers RELATED BY self->LapMarker[R5] */
  XTUML_OAL_STMT_TRACE( 1, "SELECT many lapMarkers RELATED BY self->LapMarker[R5]" );
  thismodule->Escher_ClearSet( v_lapMarkers );
  if ( 0 != self ) {
    thismodule->Escher_CopySet( v_lapMarkers, &self->LapMarker_R5 );
  }
  /* FOR EACH lapMarker IN lapMarkers */
  XTUML_OAL_STMT_TRACE( 1, "FOR EACH lapMarker IN lapMarkers" );
  { sys_sets::Escher_Iterator_s iter1;
  Tracking_LapMarker * Tracking_LapMarkeriter1;
  Escher_IteratorReset( &iter1, v_lapMarkers );
  while ( (Tracking_LapMarkeriter1 = (Tracking_LapMarker *)thismodule->Escher_IteratorNext( &iter1 )) != 0 ) {
    v_lapMarker = Tracking_LapMarkeriter1; {
    /* UNRELATE self FROM lapMarker ACROSS R5 */
    XTUML_OAL_STMT_TRACE( 2, "UNRELATE self FROM lapMarker ACROSS R5" );
    Tracking_LapMarker::Tracking_LapMarker_R5_Unlink( self, v_lapMarker, thismodule );
    /* DELETE OBJECT INSTANCE lapMarker */
    XTUML_OAL_STMT_TRACE( 2, "DELETE OBJECT INSTANCE lapMarker" );
    if ( 0 == v_lapMarker ) {
      XTUML_EMPTY_HANDLE_TRACE( "LapMarker", "Escher_DeleteInstance" );
    }
    thismodule->Escher_DeleteInstance( (Escher_iHandle_t) v_lapMarker, Tracking_DOMAIN_ID, Tracking_LapMarker_CLASS_NUMBER );
  }}}
    thismodule->Escher_ClearSet( v_lapMarkers ); /* lapMarkers (LapMarker) */

}
/*
 * instance operation:  clearHeartRateSamples
 */
void
Tracking_TrackLog::Tracking_TrackLog_op_clearHeartRateSamples( Tracking_TrackLog * self, Tracking * thismodule)
{
  sys_sets::Escher_ObjectSet_s v_samples_space={0}; sys_sets::Escher_ObjectSet_s * v_samples = &v_samples_space; /* samples (HeartRateSample) */
 Tracking_HeartRateSample * v_sample; 
  /* SELECT many samples RELATED BY self->HeartRateSample[R6] */
  XTUML_OAL_STMT_TRACE( 1, "SELECT many samples RELATED BY self->HeartRateSample[R6]" );
  thismodule->Escher_ClearSet( v_samples );
  if ( 0 != self ) {
    thismodule->Escher_CopySet( v_samples, &self->HeartRateSample_R6 );
  }
  /* FOR EACH sample IN samples */
  XTUML_OAL_STMT_TRACE( 1, "FOR EACH sample IN samples" );
  { sys_sets::Escher_Iterator_s iter2;
  Tracking_HeartRateSample * Tracking_HeartRateSampleiter2;
  Escher_IteratorReset( &iter2, v_samples );
  while ( (Tracking_HeartRateSampleiter2 = (Tracking_HeartRateSample *)thismodule->Escher_IteratorNext( &iter2 )) != 0 ) {
    v_sample = Tracking_HeartRateSampleiter2; {
    /* UNRELATE self FROM sample ACROSS R6 */
    XTUML_OAL_STMT_TRACE( 2, "UNRELATE self FROM sample ACROSS R6" );
    Tracking_HeartRateSample::Tracking_HeartRateSample_R6_Unlink( self, v_sample, thismodule );
    /* DELETE OBJECT INSTANCE sample */
    XTUML_OAL_STMT_TRACE( 2, "DELETE OBJECT INSTANCE sample" );
    if ( 0 == v_sample ) {
      XTUML_EMPTY_HANDLE_TRACE( "HeartRateSample", "Escher_DeleteInstance" );
    }
    thismodule->Escher_DeleteInstance( (Escher_iHandle_t) v_sample, Tracking_DOMAIN_ID, Tracking_HeartRateSample_CLASS_NUMBER );
  }}}
    thismodule->Escher_ClearSet( v_samples ); /* samples (HeartRateSample) */

}
/*
 * UNRELATE TrackLog FROM LapMarker ACROSS R5
 */
void
Tracking_LapMarker_R5_Unlink( Tracking_TrackLog * part, Tracking_LapMarker * form )
{
  if ( (part == 0) || (form == 0) ) {
    XTUML_EMPTY_HANDLE_TRACE( "LapMarker", "Tracking_LapMarker_R5_Unlink" );
    return;
  }
  /* Note:  LapMarker->TrackLog[R5] not navigated */
  Escher_SetRemoveElement( &part->LapMarker_R5, (Escher_ObjectSet_s *) form );
}
/*
 * UNRELATE TrackLog FROM HeartRateSample ACROSS R6
 */
void
Tracking_HeartRateSample_R6_Unlink( Tracking_TrackLog * part, Tracking_HeartRateSample * form )
{
  if ( (part == 0) || (form == 0) ) {
    XTUML_EMPTY_HANDLE_TRACE( "HeartRateSample", "Tracking_HeartRateSample_R6_Unlink" );
    return;
  }
  /* Note:  HeartRateSample->TrackLog[R6] not navigated */
  Escher_SetRemoveElement( &part->HeartRateSample_R6, (Escher_ObjectSet_s *) form );
}
/*
 * UNRELATE Goal FROM Achievement ACROSS R12
 */
void
Tracking_Achievement_R12_Unlink_has_recorded( Tracking_Goal * part, Tracking_Achievement * form )
{
  if ( (part == 0) || (form == 0) ) {
    XTUML_EMPTY_HANDLE_TRACE( "Achievement", "Tracking_Achievement_R12_Unlink_has_recorded" );
    return;
  }
  /* Note:  Achievement->Goal[R12] not navigated */
  Escher_SetRemoveElement( &part->Achievement_R12_has_recorded, (Escher_ObjectSet_s *) form );
}
/*
 * UNRELATE Goal FROM Achievement ACROSS R14
 */
void
Tracking_Achievement_R14_Unlink_has_open( Tracking_Goal * part, Tracking_Achievement * form )
{
  if ( (part == 0) || (form == 0) ) {
    XTUML_EMPTY_HANDLE_TRACE( "Achievement", "Tracking_Achievement_R14_Unlink_has_open" );
    return;
  }
  form->Goal_R14_is_open_for = 0;
  part->Achievement_R14_has_open = 0;
}
/*
 * RELATE buffer TO device ACROSS R2
 */
void
stringtest_device_R2_Link( stringtest_buffer * part, stringtest_device * form )
{
  if ( (part == 0) || (form == 0) ) {
    XTUML_EMPTY_HANDLE_TRACE( "device", "stringtest_device_R2_Link" );
    return;
  }
  /* Note:  device->buffer[R2] not navigated */
  /* Note:  buffer->device[R2] not navigated */
}
/*
 * UNRELATE TrackPoint FROM TrackLog ACROSS R1
 */
void
Tracking_TrackLog::Tracking_TrackLog_R1_Unlink( Tracking_TrackPoint * part, Tracking_TrackLog * form, Tracking * thismodule )
{
  if ( (part == 0) || (form == 0) ) {
    XTUML_EMPTY_HANDLE_TRACE( "TrackLog", "Tracking_TrackLog::Tracking_TrackLog_R1_Unlink" );
    return;
  }
  form->TrackPoint_R1 = 0;
  /* Note:  TrackPoint->TrackLog[R1] not navigated */
}
Exemple #9
0
/*
 * UNRELATE VAL FROM OP ACROSS R3
 */
void
calc_OP_R3_Unlink( calc_VAL * part, calc_OP * form )
{
  if ( (part == 0) || (form == 0) ) {
    XTUML_EMPTY_HANDLE_TRACE( "OP", "calc_OP_R3_Unlink" );
    return;
  }
  form->VAL_R3 = 0;
  /* Note:  VAL->OP[R3] not navigated */
}
/*
 * UNRELATE O_OBJ FROM O_ATTR ACROSS R102
 */
void
masl2xtuml_O_ATTR_R102_Unlink_has_characteristics_abstracted_by( masl2xtuml_O_OBJ * part, masl2xtuml_O_ATTR * form )
{
  if ( (part == 0) || (form == 0) ) {
    XTUML_EMPTY_HANDLE_TRACE( "O_ATTR", "masl2xtuml_O_ATTR_R102_Unlink_has_characteristics_abstracted_by" );
    return;
  }
  form->O_OBJ_R102_abstracts_characteristics_of = 0;
  Escher_SetRemoveElement( &part->O_ATTR_R102_has_characteristics_abstracted_by, (Escher_ObjectSet_s *) form );
}
/*
 * UNRELATE D FROM C ACROSS R2
 */
void
assoc_unformal_C_R2_Unlink( assoc_unformal_D * part, assoc_unformal_C * form )
{
  if ( (part == 0) || (form == 0) ) {
    XTUML_EMPTY_HANDLE_TRACE( "C", "assoc_unformal_C_R2_Unlink" );
    return;
  }
  form->D_R2 = 0;
  Escher_SetRemoveElement( &part->C_R2, (Escher_ObjectSet_s *) form );
}
/*
 * UNRELATE B FROM A ACROSS R1
 */
void
perf_funcs_A_R1_Unlink( perf_funcs_B * part, perf_funcs_A * form )
{
  if ( (part == 0) || (form == 0) ) {
    XTUML_EMPTY_HANDLE_TRACE( "A", "perf_funcs_A_R1_Unlink" );
    return;
  }
  form->bID = 0;
  form->B_R1 = 0;
  part->A_R1 = 0;
}
Exemple #13
0
/*
 * UNRELATE S_DT FROM S_UDT ACROSS R17
 */
void
masl2xtuml_S_UDT_R17_Unlink( masl2xtuml_S_DT * supertype, masl2xtuml_S_UDT * subtype )
{
  if ( (supertype == 0) || (subtype == 0) ) {
    XTUML_EMPTY_HANDLE_TRACE( "S_UDT", "masl2xtuml_S_UDT_R17_Unlink" );
    return;
  }
  /* Note:  S_UDT->S_DT[R17] not navigated */
  supertype->R17_subtype = 0;
  supertype->R17_object_id = 0;
}
/*
 * UNRELATE <left> O_ATTR FROM <right> O_ATTR ACROSS R103.'precedes'
 */
void
masl2xtuml_O_ATTR_R103_Unlink_precedes( masl2xtuml_O_ATTR * left, masl2xtuml_O_ATTR * right )
{
  if ( (left == 0) || (right == 0) ) {
    XTUML_EMPTY_HANDLE_TRACE( "O_ATTR", "masl2xtuml_O_ATTR_R103_Unlink_precedes" );
    return;
  }
  right->PAttr_ID = 0;
  right->O_ATTR_R103_succeeds = 0; /* SR U4 */
  left->O_ATTR_R103_precedes = 0; /* SR U5 */
}
Exemple #15
0
/*
 * RELATE S_DT TO S_UDT ACROSS R18
 */
void
masl2xtuml_S_UDT_R18_Link_defines_domain_of( masl2xtuml_S_DT * part, masl2xtuml_S_UDT * form )
{
  if ( (part == 0) || (form == 0) ) {
    XTUML_EMPTY_HANDLE_TRACE( "S_UDT", "masl2xtuml_S_UDT_R18_Link_defines_domain_of" );
    return;
  }
  form->CDT_DT_ID = part->DT_ID;
  /* Note:  S_UDT->S_DT[R18] not navigated */
  /* Note:  S_DT->S_UDT[R18] not navigated */
}
/*
 * UNRELATE C FROM D ACROSS R2
 */
void
perf_funcs_D_R2_Unlink( perf_funcs_C * part, perf_funcs_D * form )
{
  if ( (part == 0) || (form == 0) ) {
    XTUML_EMPTY_HANDLE_TRACE( "D", "perf_funcs_D_R2_Unlink" );
    return;
  }
  form->cID = 0;
  form->C_R2 = 0;
  Escher_SetRemoveElement( &part->D_R2, (Escher_ObjectSet_s *) form );
}
/*
 * UNRELATE S_DT FROM O_ATTR ACROSS R114
 */
void
masl2xtuml_O_ATTR_R114_Unlink_is_defined_by( masl2xtuml_S_DT * part, masl2xtuml_O_ATTR * form )
{
  if ( (part == 0) || (form == 0) ) {
    XTUML_EMPTY_HANDLE_TRACE( "O_ATTR", "masl2xtuml_O_ATTR_R114_Unlink_is_defined_by" );
    return;
  }
  form->DT_ID = 0;
  form->S_DT_R114_defines_type_of = 0;
  /* Note:  S_DT->O_ATTR[R114] not navigated */
}
/*
 * RELATE <left> O_ATTR TO <right> O_ATTR ACROSS R103.'precedes'
 */
void
masl2xtuml_O_ATTR_R103_Link_precedes( masl2xtuml_O_ATTR * left, masl2xtuml_O_ATTR * right )
{
  if ( (left == 0) || (right == 0) ) {
    XTUML_EMPTY_HANDLE_TRACE( "O_ATTR", "masl2xtuml_O_ATTR_R103_Link_precedes" );
    return;
  }
  right->PAttr_ID = left->Attr_ID;
  right->Obj_ID = left->Obj_ID;
  right->O_ATTR_R103_succeeds = left; /* SR L4 */
  left->O_ATTR_R103_precedes = right; /* SR L5 */
}
/*
 * instance operation:  clearTrackPoints
 */
void
Tracking_TrackLog::Tracking_TrackLog_op_clearTrackPoints( Tracking_TrackLog * self, Tracking * thismodule)
{
  Tracking_TrackPoint * v_nextPoint = 0; /* nextPoint (TrackPoint) */
 Tracking_TrackPoint * v_lastPoint = 0; /* lastPoint (TrackPoint) */
 
  /* SELECT one nextPoint RELATED BY self->TrackPoint[R1] */
  XTUML_OAL_STMT_TRACE( 1, "SELECT one nextPoint RELATED BY self->TrackPoint[R1]" );
  v_nextPoint = self->TrackPoint_R1;
  /* SELECT one lastPoint RELATED BY self->TrackPoint[R3] */
  XTUML_OAL_STMT_TRACE( 1, "SELECT one lastPoint RELATED BY self->TrackPoint[R3]" );
  v_lastPoint = self->TrackPoint_R3;
  /* IF ( not empty lastPoint ) */
  XTUML_OAL_STMT_TRACE( 1, "IF ( not empty lastPoint )" );
  if ( !( 0 == v_lastPoint ) ) {
    /* UNRELATE self FROM lastPoint ACROSS R3 */
    XTUML_OAL_STMT_TRACE( 2, "UNRELATE self FROM lastPoint ACROSS R3" );
    Tracking_TrackPoint::Tracking_TrackPoint_R3_Unlink( self, v_lastPoint, thismodule );
  }
  /* IF ( not empty nextPoint ) */
  XTUML_OAL_STMT_TRACE( 1, "IF ( not empty nextPoint )" );
  if ( !( 0 == v_nextPoint ) ) {
    /* UNRELATE self FROM nextPoint ACROSS R1 */
    XTUML_OAL_STMT_TRACE( 2, "UNRELATE self FROM nextPoint ACROSS R1" );
    Tracking_TrackLog::Tracking_TrackLog_R1_Unlink( v_nextPoint, self, thismodule );
  }
  /* WHILE ( not empty nextPoint ) */
  XTUML_OAL_STMT_TRACE( 1, "WHILE ( not empty nextPoint )" );
  while ( !( 0 == v_nextPoint ) ) {
    Tracking_TrackPoint * v_prevPoint; 
    /* ASSIGN prevPoint = nextPoint */
    XTUML_OAL_STMT_TRACE( 2, "ASSIGN prevPoint = nextPoint" );
    v_prevPoint = v_nextPoint;
    /* SELECT one nextPoint RELATED BY nextPoint->TrackPoint[R2.follows] */
    XTUML_OAL_STMT_TRACE( 2, "SELECT one nextPoint RELATED BY nextPoint->TrackPoint[R2.follows]" );
    v_nextPoint = v_nextPoint->TrackPoint_R2_follows;
    /* IF ( not_empty nextPoint ) */
    XTUML_OAL_STMT_TRACE( 2, "IF ( not_empty nextPoint )" );
    if ( ( 0 != v_nextPoint ) ) {
      /* UNRELATE prevPoint FROM nextPoint ACROSS R2 */
      XTUML_OAL_STMT_TRACE( 3, "UNRELATE prevPoint FROM nextPoint ACROSS R2" );
      Tracking_TrackPoint::Tracking_TrackPoint_R2_Unlink_follows( v_prevPoint, v_nextPoint, thismodule );
    }
    /* DELETE OBJECT INSTANCE prevPoint */
    XTUML_OAL_STMT_TRACE( 2, "DELETE OBJECT INSTANCE prevPoint" );
    if ( 0 == v_prevPoint ) {
      XTUML_EMPTY_HANDLE_TRACE( "TrackPoint", "Escher_DeleteInstance" );
    }
    thismodule->Escher_DeleteInstance( (Escher_iHandle_t) v_prevPoint, Tracking_DOMAIN_ID, Tracking_TrackPoint_CLASS_NUMBER );
  }

}
/*
 * RELATE SUPER TO SUBB ACROSS R2
 */
void
sschain_SUBB_R2_Link( sschain_SUPER * supertype, sschain_SUBB * subtype )
{
  if ( (supertype == 0) || (subtype == 0) ) {
    XTUML_EMPTY_HANDLE_TRACE( "SUBB", "sschain_SUBB_R2_Link" );
    return;
  }
  /* Optimized linkage for SUBB->SUPER[R2] */
  subtype->SUPER_R2 = supertype;
  /* Optimized linkage for SUPER->SUBB[R2] */
  supertype->R2_subtype = subtype;
  supertype->R2_object_id = sschain_SUBB_CLASS_NUMBER;
}
/*
 * RELATE vitalsign TO electrocardiograph ACROSS R2
 */
void
monitor_electrocardiograph_R2_Link( monitor_vitalsign * supertype, monitor_electrocardiograph * subtype )
{
  if ( (supertype == 0) || (subtype == 0) ) {
    XTUML_EMPTY_HANDLE_TRACE( "electrocardiograph", "monitor_electrocardiograph_R2_Link" );
    return;
  }
  /* Optimized linkage for electrocardiograph->vitalsign[R2] */
  subtype->vitalsign_R2 = supertype;
  /* Optimized linkage for vitalsign->electrocardiograph[R2] */
  supertype->R2_subtype = subtype;
  supertype->R2_object_id = monitor_electrocardiograph_CLASS_NUMBER;
}
/*
 * RELATE vitalsign TO O2saturation ACROSS R2
 */
void
monitor_O2saturation_R2_Link( monitor_vitalsign * supertype, monitor_O2saturation * subtype )
{
  if ( (supertype == 0) || (subtype == 0) ) {
    XTUML_EMPTY_HANDLE_TRACE( "O2saturation", "monitor_O2saturation_R2_Link" );
    return;
  }
  /* Optimized linkage for O2saturation->vitalsign[R2] */
  subtype->vitalsign_R2 = supertype;
  /* Optimized linkage for vitalsign->O2saturation[R2] */
  supertype->R2_subtype = subtype;
  supertype->R2_object_id = monitor_O2saturation_CLASS_NUMBER;
}
/*
 * RELATE vitalsign TO pulse ACROSS R2
 */
void
monitor_pulse_R2_Link( monitor_vitalsign * supertype, monitor_pulse * subtype )
{
  if ( (supertype == 0) || (subtype == 0) ) {
    XTUML_EMPTY_HANDLE_TRACE( "pulse", "monitor_pulse_R2_Link" );
    return;
  }
  /* Optimized linkage for pulse->vitalsign[R2] */
  subtype->vitalsign_R2 = supertype;
  /* Optimized linkage for vitalsign->pulse[R2] */
  supertype->R2_subtype = subtype;
  supertype->R2_object_id = monitor_pulse_CLASS_NUMBER;
}
/*
 * RELATE FRUIT TO ORANGE ACROSS R3
 */
void
polycalc_ORANGE_R3_Link( polycalc_FRUIT * supertype, polycalc_ORANGE * subtype )
{
  if ( (supertype == 0) || (subtype == 0) ) {
    XTUML_EMPTY_HANDLE_TRACE( "ORANGE", "polycalc_ORANGE_R3_Link" );
    return;
  }
  /* Optimized linkage for ORANGE->FRUIT[R3] */
  subtype->FRUIT_R3 = supertype;
  /* Optimized linkage for FRUIT->ORANGE[R3] */
  supertype->R3_subtype = subtype;
  supertype->R3_object_id = polycalc_ORANGE_CLASS_NUMBER;
}
/*
 * RELATE vitalsign TO responsiveness ACROSS R2
 */
void
monitor_responsiveness_R2_Link( monitor_vitalsign * supertype, monitor_responsiveness * subtype )
{
    if ( (supertype == 0) || (subtype == 0) ) {
        XTUML_EMPTY_HANDLE_TRACE( "responsiveness", "monitor_responsiveness_R2_Link" );
        return;
    }
    /* Optimized linkage for responsiveness->vitalsign[R2] */
    subtype->vitalsign_R2 = supertype;
    /* Optimized linkage for vitalsign->responsiveness[R2] */
    supertype->R2_subtype = subtype;
    supertype->R2_object_id = monitor_responsiveness_CLASS_NUMBER;
}
/*
 * RELATE F TO E ACROSS R3 USING G
 */
void
assoc_unformal_G_R3_Link( assoc_unformal_F * aone, assoc_unformal_E * aoth, assoc_unformal_G * assr )
{
  if ( (aone == 0) || (aoth == 0) || (assr == 0) ) {
    XTUML_EMPTY_HANDLE_TRACE( "G", "assoc_unformal_G_R3_Link" );
    return;
  }
  /* Initialize optimized relationship storage extended attributes */
  assr->F_R3 = aone;
  assr->E_R3 = aoth;
  Escher_SetInsertElement( &aone->G_R3, assr );
  Escher_SetInsertElement( &aoth->G_R3, assr );
}
Exemple #27
0
/*
 * RELATE S_DT TO S_UDT ACROSS R17
 */
void
masl2xtuml_S_UDT_R17_Link( masl2xtuml_S_DT * supertype, masl2xtuml_S_UDT * subtype )
{
  if ( (supertype == 0) || (subtype == 0) ) {
    XTUML_EMPTY_HANDLE_TRACE( "S_UDT", "masl2xtuml_S_UDT_R17_Link" );
    return;
  }
  subtype->DT_ID = supertype->DT_ID;
  /* Optimized linkage for S_UDT->S_DT[R17] */
  subtype->S_DT_R17 = supertype;
  /* Optimized linkage for S_DT->S_UDT[R17] */
  supertype->R17_subtype = subtype;
  supertype->R17_object_id = masl2xtuml_S_UDT_CLASS_NUMBER;
}
/*
 * RELATE <left> X TO <right> X ACROSS R12.'is buddy of' USING Y
 */
void
assoc_unformal_Y_R12_Link_is_buddy_of( assoc_unformal_X * left, assoc_unformal_X * right, assoc_unformal_Y * assr )
{
  if ( (left == 0) || (right == 0) || (assr == 0) ) {
    XTUML_EMPTY_HANDLE_TRACE( "Y", "assoc_unformal_Y_R12_Link_is_buddy_of" );
    return;
  }
  Escher_strcpy( assr->pal, left->name );
  Escher_strcpy( assr->buddy, right->name );
  /* Initialize optimized relationship storage extended attributes */
  assr->X_R12_is_pal_of = left;  /* RAL 1 */
  assr->X_R12_is_buddy_of = right; /* RAL 2 */
  Escher_SetInsertElement( &right->Y_R12_is_pal_of, assr ); /* RAL 8 */
  Escher_SetInsertElement( &left->Y_R12_is_buddy_of, assr ); /* RAL 12 */
}
/*
 * class operation:  update
 */
void
monitor_pulse_op_update( const i_t p_pulse )
{
  monitor_pulse * pulse=0;monitor_vitalsign * vitalsign=0;
  /* SELECT any pulse FROM INSTANCES OF pulse */
  XTUML_OAL_STMT_TRACE( 1, "SELECT any pulse FROM INSTANCES OF pulse" );
  pulse = (monitor_pulse *) Escher_SetGetAny( &pG_monitor_pulse_extent.active );
  /* SELECT one vitalsign RELATED BY pulse->vitalsign[R2] */
  XTUML_OAL_STMT_TRACE( 1, "SELECT one vitalsign RELATED BY pulse->vitalsign[R2]" );
  vitalsign = ( 0 != pulse ) ? pulse->vitalsign_R2 : 0;
  /* IF ( not_empty vitalsign ) */
  XTUML_OAL_STMT_TRACE( 1, "IF ( not_empty vitalsign )" );
  if ( ( 0 != vitalsign ) ) {
    monitor_alarm * redalarm=0;monitor_alarm * yellowalarm=0;
    /* ASSIGN vitalsign.value = PARAM.pulse */
    XTUML_OAL_STMT_TRACE( 2, "ASSIGN vitalsign.value = PARAM.pulse" );
    vitalsign->value = p_pulse;
    /* SEND UI::display(name:vitalsign.name, value:vitalsign.value) */
    XTUML_OAL_STMT_TRACE( 2, "SEND UI::display(name:vitalsign.name, value:vitalsign.value)" );
    monitor_UI_display( vitalsign->name, vitalsign->value );
    /* SELECT one redalarm RELATED BY vitalsign->alarm[R7] WHERE ( ( SELECTED.color == red ) ) */
    XTUML_OAL_STMT_TRACE( 2, "SELECT one redalarm RELATED BY vitalsign->alarm[R7] WHERE ( ( SELECTED.color == red ) )" );
    {redalarm = 0;
    {monitor_alarm * selected = ( 0 != vitalsign ) ? vitalsign->alarm_R7_sounds : 0;
    if ( ( 0 != selected ) && ( selected->color == capssys_color_red_e ) ) {
      redalarm = selected;
    }}}
    /* SELECT one yellowalarm RELATED BY vitalsign->alarm[R7] WHERE ( ( SELECTED.color == yellow ) ) */
    XTUML_OAL_STMT_TRACE( 2, "SELECT one yellowalarm RELATED BY vitalsign->alarm[R7] WHERE ( ( SELECTED.color == yellow ) )" );
    {yellowalarm = 0;
    {monitor_alarm * selected = ( 0 != vitalsign ) ? vitalsign->alarm_R7_sounds : 0;
    if ( ( 0 != selected ) && ( selected->color == capssys_color_yellow_e ) ) {
      yellowalarm = selected;
    }}}
    /* IF ( ( vitalsign.value < vitalsign.yellow_threshold ) ) */
    XTUML_OAL_STMT_TRACE( 2, "IF ( ( vitalsign.value < vitalsign.yellow_threshold ) )" );
    if ( ( vitalsign->value < vitalsign->yellow_threshold ) ) {
      /* IF ( empty redalarm ) */
      XTUML_OAL_STMT_TRACE( 3, "IF ( empty redalarm )" );
      if ( ( 0 == redalarm ) ) {
        /* IF ( not_empty yellowalarm ) */
        XTUML_OAL_STMT_TRACE( 4, "IF ( not_empty yellowalarm )" );
        if ( ( 0 != yellowalarm ) ) {
          /* UNRELATE yellowalarm FROM vitalsign ACROSS R7 */
          XTUML_OAL_STMT_TRACE( 5, "UNRELATE yellowalarm FROM vitalsign ACROSS R7" );
          monitor_alarm_R7_Unlink_sounds( vitalsign, yellowalarm );
          /* DELETE OBJECT INSTANCE yellowalarm */
          XTUML_OAL_STMT_TRACE( 5, "DELETE OBJECT INSTANCE yellowalarm" );
          if ( 0 == yellowalarm ) {
            XTUML_EMPTY_HANDLE_TRACE( "alarm", "Escher_DeleteInstance" );
          }
          Escher_DeleteInstance( (Escher_iHandle_t) yellowalarm, monitor_DOMAIN_ID, monitor_alarm_CLASS_NUMBER );
        }
        /* CREATE OBJECT INSTANCE redalarm OF alarm */
        XTUML_OAL_STMT_TRACE( 4, "CREATE OBJECT INSTANCE redalarm OF alarm" );
        redalarm = (monitor_alarm *) Escher_CreateInstance( monitor_DOMAIN_ID, monitor_alarm_CLASS_NUMBER );
        /* ASSIGN redalarm.color = red */
        XTUML_OAL_STMT_TRACE( 4, "ASSIGN redalarm.color = red" );
        redalarm->color = capssys_color_red_e;
        /* RELATE redalarm TO vitalsign ACROSS R7 */
        XTUML_OAL_STMT_TRACE( 4, "RELATE redalarm TO vitalsign ACROSS R7" );
        monitor_alarm_R7_Link_sounds( vitalsign, redalarm );
      }
    }
    else if ( ( vitalsign->value < vitalsign->yellow_threshold ) ) {
      /* IF ( empty yellowalarm ) */
      XTUML_OAL_STMT_TRACE( 3, "IF ( empty yellowalarm )" );
      if ( ( 0 == yellowalarm ) ) {
        /* CREATE OBJECT INSTANCE yellowalarm OF alarm */
        XTUML_OAL_STMT_TRACE( 4, "CREATE OBJECT INSTANCE yellowalarm OF alarm" );
        yellowalarm = (monitor_alarm *) Escher_CreateInstance( monitor_DOMAIN_ID, monitor_alarm_CLASS_NUMBER );
        /* ASSIGN yellowalarm.color = yellow */
        XTUML_OAL_STMT_TRACE( 4, "ASSIGN yellowalarm.color = yellow" );
        yellowalarm->color = capssys_color_yellow_e;
        /* RELATE yellowalarm TO vitalsign ACROSS R7 */
        XTUML_OAL_STMT_TRACE( 4, "RELATE yellowalarm TO vitalsign ACROSS R7" );
        monitor_alarm_R7_Link_sounds( vitalsign, yellowalarm );
      }
    }
    else {
    }
  }

}