Skip to content
This repository was archived by the owner on Oct 3, 2024. It is now read-only.
This repository was archived by the owner on Oct 3, 2024. It is now read-only.

The when clause in an Error flow declaration does not prevent error state propagation.  #60

Description

@fletchwsf

The when clause in an Error flow declaration does not prevent error state propagation. In the following code snippet, the out going propagation supports two error states, with a when clause that should restrict propagation to specific error conditions. Specifically, when the component transitions to critical failure mode it should 'transmit' {badData} and in non-critical failure mode it should transmit {noData}. Instead of the expected behaviour, the Fault Impact Assessment Report shows 6 entries associated with the computer instances. Two entries for critical and non-critical mode are correct. The detected fault lists two entries, one entry for {badData} and one entry for {noData}. This condition should only propagate {noData}.

The full code listing is available from the gitHub link beow, see package named 'computer'.

error propagations
fault from the power supplyflightControlDataOut: out propagation {badData,noData};
flows
ers1: error source flightControlDataOut{noData} when NonCriticalModeFailure;
ers2: error source flightControlDataOut{badData} when CriticalModeFailure;

https://github.com/fletch787/Models.git
See branch Bug Repot 2014-07-20

E.7.2 Error Flow Declarations
error_flow ::=
error_source | error_sink | error_path
error_source ::=
defining_error_source_identifier : error source
outgoing_error_propagation_point_reference [ error_type_set ]
[ when fault_source ] ;
fault_source ::= error_behavior_state | error_type_set_reference

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions