when instantiating a component implementation that contains a property referencing a feature of its component type, the instantiation throws an error that explains that the feature instance is not found.
Well, it is a bit complicated to phrase the bug report, but here is an aadl model to reproduce it (I experienced it with code from the develop branch and from the release 2.0.2 of osate). Just try to instantiate "root.impl" and the issue should appear (an error message in the eclipse Problem view).
Etienne.
package test_events
public
with Data_Model;
system root
end root;
system implementation root.impl
subcomponents
the_proc: process proc.impl;
end root.impl;
process proc
end proc;
process implementation proc.impl
subcomponents
the_sender: thread sender.impl;
the_receiver: thread receiver.impl;
connections
cnx: port the_sender.p -> the_receiver.p;
end proc.impl;
thread sender
features
p: out event port;
end sender;
thread implementation sender.impl
calls
call : { c : subprogram sender_spg;};
connections
cnx: port c.signal -> p;
properties
Compute_Entrypoint_Call_Sequence => reference (call);
end sender.impl;
thread receiver
features
p: in event port;
end receiver;
All,
when instantiating a component implementation that contains a property referencing a feature of its component type, the instantiation throws an error that explains that the feature instance is not found.
Well, it is a bit complicated to phrase the bug report, but here is an aadl model to reproduce it (I experienced it with code from the develop branch and from the release 2.0.2 of osate). Just try to instantiate "root.impl" and the issue should appear (an error message in the eclipse Problem view).
Etienne.
package test_events public
with Data_Model; system root end root;
system implementation root.impl subcomponents the_proc: process proc.impl; end root.impl;
process proc end proc;
process implementation proc.impl subcomponents the_sender: thread sender.impl; the_receiver: thread receiver.impl; connections cnx: port the_sender.p -> the_receiver.p; end proc.impl;
thread sender features p: out event port; end sender;
thread implementation sender.impl calls call : { c : subprogram sender_spg;}; connections cnx: port c.signal -> p; properties Compute_Entrypoint_Call_Sequence => reference (call); end sender.impl;
thread receiver features p: in event port; end receiver;
thread implementation receiver.impl calls call_nothing : { c_nothing : subprogram nothing_received_spg;}; call : { c : subprogram receiver_spg;}; properties Compute_Entrypoint_Call_Sequence => reference (call_nothing); Compute_Entrypoint_Call_Sequence => reference (call) applies to p; end receiver.impl;
subprogram nothing_received_spg end nothing_received_spg;
subprogram receiver_spg end receiver_spg;
subprogram sender_spg features signal : out event port; end sender_spg;
end test_events;