ErrorModelType and ErrorModelPrototype support the hierarchical composition of error models based on the type-prototype pattern also adopted for the nominal architecture composition. The purpose of the error models is to represent information relating to the anomalies of a nominal model element. <br/><br/>An ErrorModelType represents the internal faults and fault propagations of the nominal element that it targets. <br/><br/>Typically the target is a system/subsystem, a function, a software component, or a hardware device.<br/><br/>ErrorModelType inherits the abstract metaclass TraceableSpecification, allowing the ErrorModelType to be referenced from its design context in a similar way as requirements, test cases and other specifications. <br/><br/>Constraints:<br/>target shall only reference concrete system elements. For EAST-ADL this would be elements in the Structure package.<br/><br/><br/>Semantics:<br/>The ErrorModelType represents a specification of the faults and fault propagations of its target element.<br/><br/>The fault propagation may be defined by <br/>- The ErrorModelPrototypes <br/>- One ErrorBehaviorDescription<br/>-Multiple ErrorBehaviorDescription, in which case the propagation is the concatenation of these<br/>- Neither, in which case any propagation may occurr<br/><br/><br/>Both types and prototypes may be targets, and the following cases are relevant:<br/><br/>- One nominal type:<br/><br/>The ErrorModelType represents the identified nominal type wherever this nominal type is instantiated.<br/><br/>- Several nominal types:<br/><br/>The ErrorModelType represents the identified nominal types individually, i.e. the same error model applies to all nominal types and is reused.<br/><br/>- One nominal prototype:<br/><br/>The ErrorModelType represents the identified nominal prototype whenever its context, i.e. its top-level composition is instantiated.<br/><br/>- Several nominal prototypes with instanceref:<br/><br/>The ErrorModelType represents the identified set of nominal prototypes (together) whenever their context, i.e. their top-level composition, is instantiated.<br/><br/>The fault propagation of an errorModelType is defined by its contained parts, the ErrorModelPrototypes and their connections. In case it contains both parts and an errorBehaviorDescription, the errorBehaviorDescription shall be consistent with the parts.<br/><br/>FaultFailurePropagationLinks define valid propagation paths in the ErrorModelType. In case the contained FaultInPorts and FailureOutPorts reference nominal ports, the connectivity of the nominal model may serve as a pattern for connecting ports in the ErrorModelType.<br/><br/>The ErrorModelType contains internalFaults and externalFaults, representing faults that are either propagated to externalFailures or masked, according to the definition of its fault propagation.<br/><br/>A processFault represents a flaw introduced during design, and may lead to any of the failures represented by the ErrorModelType. A processFault therefore has a direct propagation to all failures and cannot be masked. <br/><br/><br/>Extension:<br/>(see TraceableSpecfication)<br/>