osate / osate2

Open Source AADL2 Tool Environment
http://osate.org
Eclipse Public License 2.0
36 stars 8 forks source link

Analysis error for additional features with inherited components #12

Closed juli1 closed 12 years ago

juli1 commented 12 years ago

The following code report some errors about the latest connections sections, indicating that linkspw and link_aocs are not found. However, this piece of code seems to be valid and is successfully analyzed with other AADL compilers.

package test

public

bus spacewire end spacewire;

bus bus1553 end bus1553;

bus generic end generic;

system obc features link_payload : requires bus access; link1553_platform : requires bus access bus1553; end obc;

system implementation obc.i

end obc.i;

system obc_current extends obc features link_payload : refined to requires bus access bus1553; end obc_current;

system implementation obc_current.i

end obc_current.i;

system obc_evolved extends obc features link_payload : refined to requires bus access spacewire; link_aocs : requires bus access spacewire; end obc_evolved;

system implementation obc_evolved.i extends obc.i

end obc_evolved.i;

system aocs features link1553 : requires bus access bus1553; link : requires bus access generic; end aocs;

system implementation aocs.i end aocs.i;

system aocs_current extends aocs end aocs_current;

system implementation aocs_current.i extends aocs.i end aocs_current.i;

system aocs_evolved extends aocs features linkspw : requires bus access spacewire; end aocs_evolved;

system implementation aocs_evolved.i extends aocs.i end aocs_evolved.i;

system riu features link1553 : requires bus access bus1553; bus_aocs : requires bus access generic; bus_propulsion : requires bus access generic; bus_thermal : requires bus access generic; end riu;

system implementation riu.i end riu.i;

system riu_current extends riu features bus_power : requires bus access generic; end riu_current;

system implementation riu_current.i extends riu.i

end riu_current.i;

system riu_evolved extends riu features link_spw : requires bus access spacewire; end riu_evolved;

system implementation riu_evolved.i extends riu.i end riu_evolved.i;

system platform features payloadlink : requires bus access; end platform;

system platform_current extends platform features payloadlink : refined to requires bus access bus1553; end platform_current;

system implementation platform.i subcomponents riu : system riu.i; aocs : system aocs.i; obc : system obc.i; end platform.i;

system implementation platform_current.i extends platform.i subcomponents riu : refined to system riu_current.i; aocs : refined to system aocs_current.i; powerbus : bus generic; end platform_current.i;

system platform_evolved extends platform features payloadlink : refined to requires bus access spacewire; end platform_evolved;

system implementation platform_evolved.i extends platform.i subcomponents obc : refined to system obc_evolved.i; aocs : refined to system aocs_evolved.i; spw_bus_aocs : bus spacewire; connections obc_aocs : bus access spw_bus_aocs -> aocs.linkspw; aocs_obc : bus access spw_bus_aocs -> obc.link_aocs; end platform_evolved.i;

end test;

reteprelief commented 12 years ago

I can confirm the bug. Will work on it this weekend. Seems to stumble over double indirection in extends to inherit the features. Peter

juli1 commented 12 years ago

On 11/04/2011 04:28 PM, reteprelief wrote:

I can confirm the bug. Will work on it this weekend. Seems to stumble over double indirection in extends to inherit the features.

Ok, thanks, just let me know when it is fixed and we can close it !

Thanks for your quick reply,

Best,

osate commented 12 years ago

Fixed. Is in the most recent snapshot release (i.e., master branch) as well as in the develop branch.