Skip to content

In behavior annex plugin: add a prototype binding resolver for data component references #1631

Closed
@Etienne13

Description

@Etienne13

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions