osate / osate2

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

Syntax for referencing subprogram proxies - Deserialization #535

Closed philip-alldredge closed 8 years ago

philip-alldredge commented 9 years ago

This may be a case of things working as intended, but I would like clarification. When deserializing a model that contains a call sequence that contains a call to a subprogram proxy, the processor keyword is not generated.

For example, with the model below:

package spc_example
public
thread ex
end ex;

thread implementation ex.impl
    processor features
            sp_proxy: subprogram;
            calls
                    new_call_sequence: {new_call: subprogram processor.sp_proxy;};
            end ex.impl;

end spc_example;

Saving the model as XMI and then saving that as AADL generates:

package spc_example
public
thread ex
end ex;

thread implementation ex.impl
    processor features
            sp_proxy: subprogram;
            calls
                    new_call_sequence: {new_call: subprogram sp_proxy;};
            end ex.impl;

end spc_example;

No errors are reported because the AADL is valid according to the xtext grammer. The subprogram proxy is a CalledSubprogram. Is this behavior intended?

lwrage commented 8 years ago

AADL 2.2 draft still has processor and self as required keywords.

lwrage commented 8 years ago

With internal and processor features being part of the component implementation's namespace the keywords are redundant. The plan is to make them optional in AADL 2.2.