Closed
Description
Summary
In AadlBaUtils, method getDataClassifier returns null when the expected classifier is defined as a prototype binding.
Expected and Current Behavior
Take the following example:
data implementation PortReferenceType.impl
prototypes
data_type: data;
subcomponents
transmitted_data: data data_type;
properties
Classifier_Substitution_Rule => Type_Extension;
end PortReferenceType.impl;
data implementation PortReferenceType.int extends PortReferenceType.impl
(data_type => data Integer)
end PortReferenceType.int;
subprogram SendOutputFifo
features
src: requires data access PortReferenceType.impl;
dst: requires data access PortReferenceType.impl;
annex behavior_specification {**
STATES
singleton: initial final state;
TRANSITIONS
t: singleton -[]-> singleton
{
computation(4 us .. 5 us);
dst!<;
dst.transmitted_data := src.transmitted_data;
dst!>;
computation(4 us .. 5 us)
};
**};
end SendOutputFifo;
subprogram SendOutputFifo_Integer
features
src: refined to requires data access PortReferenceType.int;
dst: refined to requires data access PortReferenceType.int;
end SendOutputFifo_Integer;
getDataClassifier called with (dst.transmitted_data, SendOutputFifo_Integer) returned null in previous version.
Environment
- OSATE Version: 2.3.5
- Operating System: Linux