saeaadl / aadlv2.2

SAE AADL core language, version 2.2
1 stars 0 forks source link

Modeling recommendations for subprogram parameters by reference are incorrect #23

Closed buzden closed 3 years ago

buzden commented 6 years ago

The second sentence of the 8.5(3) of the AADLv2.2 says

Parameters passed by reference are modeled using requires data access.

opposing this way of modelling to in out parameters. But this opposition is not correct and in fact there is no straight way to model subprogram parameters passed by reference because requires data access gives us an ability only of static binding of a name inside a subprogram to some piece of data, while real parameters passed by reference allow to pass any piece of data decided by a caller thread/subprogram/whatever at runtime, not only statically using access connections.

Finite count of available references can be theoretically modeled using modes and mode-specific access connections, but it is a poor way of modeling in at least one of the following cases:

And, moreover, modes are not really intended for this, are they?

In case of need for precise modeling of several operating system's system calls, it implies us to have some adequate way of modeling by-reference parameters which we do not have at the moment.

reteprelief commented 6 years ago

Discussion for V3 revision