You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Modeling a hardware error detector to indicate an event on a port in a feature group.
In this case, it's a power-on self-test (POST) which is supposed to send an event indicating that POST has found an error.
However, the Xtext grammar only recognizes port identifiers, not ports as part of a feature group.
The standard actually contradicts itself here. The syntax allows for a reference to a port in nested feature groups, but naming rule N5 of section E.10 states, "The port identifier in a detection event must exist in the namespace of the component containing the component error behavior specification."
I will assume that N5 is incorrect and update EMV2 to support referencing ports in feature groups.
Summary
Modeling a hardware error detector to indicate an event on a port in a feature group.
In this case, it's a power-on self-test (POST) which is supposed to send an event indicating that POST has found an error.
However, the Xtext grammar only recognizes port identifiers, not ports as part of a feature group.
Expected and Current Behavior
Grammar from AS5506/1A, page 109:
error_detection ::=
[ defining_error_detection_identifier : ] ( error_source_state | all )
-[ [ error_condition ] ]-> error_detection_effect ;
error_detection_effect ::=
( outgoing_port_reference | internal_event_reference ) ! [ ( error_code_value ) ]
outgoing_port_reference ::=
{ featuregroup_identifier . }* port_identifier
Xtext grammar from ErrorModel.xtext, line 577:
ErrorDetection returns ErrorDetection:
(name = ID ':' )?
((state=[ErrorBehaviorState|ID] (typeTokenConstraint=TypeTokenConstraint)?)|
allStates?='all' )
'-[' (condition=ConditionExpression)? ']->'
( detectionReportingPort=[aadl2::TriggerPort|ID] ) '!'
('('errorCode=ErrorCodeValue')')?
';'
;
detectionReportingPort may only be an identifier.
Environment
The text was updated successfully, but these errors were encountered: