osate/osate2-core — Issue #21: Duplication in property instanciation
Author: juli1
Created: 2011-11-11 17:01:44+00:00
State: open

Dear all,

When instantiating my model, properties from the root component are duplicated in subcomponents. For example, lets consider the model below with the declared ARAM_Properties. Then, when instanciating the platform_evolved.i component, the property association Realizes will be copied in the subcomponents.

In consequence, when trying to browse the component hierarchy, plugin will report errors.

Hope that would help to solve this issue.

property set ARAM_Properties is

Realizes : inherit list of classifier (abstract, system) applies to
(processor, bus, device, abstract, memory, process, system);

end ARAM_Properties;

package test

public

with ARAM_Properties;

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;
properties
ARAM_Properties::Realizes => (classifier (test::platform.i));
end platform_evolved.i;

end test;