Skip to content

Reach-Down subcomponent hierarchy does not set property EMV2::OccurrenceDistribution #2112

@brlarson

Description

@brlarson

Summary

I wanted to set all EMV2::OccurrenceDistribution properties in extensions of my top-level system implementation, so I could easily compare analyses of designs with different reliability devices.

However, reaching down to set EMV2::OccurrenceDistribution properties, does not assign values when used for FTA.

Expected and Current Behavior

	EMV2::OccurrenceDistribution => iPCA_Properties::POSTfailureToDetectRate
	  applies to ^func.safety_subsystem.error_detect@post_not_detect_failure;

does not assign the probability to error event post_not_detect_failure.

while
EMV2::OccurrenceDistribution => iPCA_Properties::POSTfailureToDetectRate
applies to post_not_detect_failure;
does.

Steps to Reproduce

Try to set EMV2::OccurrenceDistribution property in an EMV2 annex subclause of a top-level system implementation by reaching down through subcomponent to desired error event. (Comment-out properties in iPCA_Error_Detector.i below.)

--extend the main system implementation with assignments for probabilities
system implementation PCA_Pump_System.i2 extends iPCA_Medical_Device::PCA_Pump_System.i
	annex EMV2 {**
	properties
	--patient button failure
		EMV2::OccurrenceDistribution => iPCA_Properties::PatientButtonFailureRate 
		  applies to ^func.sensors_actuators.button@fail;
	--power-on self-test detected failure
		EMV2::OccurrenceDistribution => iPCA_Properties::POSTfailureRate 
		  applies to ^func.safety_subsystem.error_detect@post_detected_failure;
	--power-on self-test did not detect failure when it should have
		EMV2::OccurrenceDistribution => iPCA_Properties::POSTfailureToDetectRate
		  applies to ^func.safety_subsystem.error_detect@post_not_detect_failure;
	**};
end PCA_Pump_System.i2;

device implementation iPCA_Error_Detector.i
  annex EMV2
  {** 
  use types ErrorLibrary, iPCA_Error_Model;
  use behavior iPCA_Error_Model::ErrorDetector; 	
  error propagations
    --no sound, wrong/false alarm, wrong sound
    hw_error_detections.post_fail: out propagation {UndetectedFault}; 
  end propagations;
  component error behavior
    events
      post_detected_failure : error event;
      post_not_detect_failure : error event;
	  transitions
	    working -[post_detected_failure]-> failed_detected;   
	    working -[post_not_detect_failure]-> failed_undetected;   
  end component;
  properties
	--power-on self-test detected failure
		EMV2::OccurrenceDistribution => iPCA_Properties::POSTfailureRate 
		  applies to post_detected_failure;
	--power-on self-test did not detect failure when it should have
		EMV2::OccurrenceDistribution => iPCA_Properties::POSTfailureToDetectRate 
		  applies to post_not_detect_failure;
  **};  --end of EMV2	
end iPCA_Error_Detector.i;

Environment

  • OSATE Version: 2.6.1
  • Operating System: macOS 10.14.6

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions