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:
when you have a lot of possible variables able to be passed to by-reference parameter;
when you don't know exactly count of such variables (e.g., you pass an item of an array of now known yet size);
when you have several parameters passed by reference (being modeled with modes this implies to blow up of modes count for all combinations).
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.
The second sentence of the 8.5(3) of the AADLv2.2 says
opposing this way of modelling to
in out
parameters. But this opposition is not correct and in fact there is no straight way to modelsubprogram
parameters passed by reference becauserequires data access
gives us an ability only of static binding of a name inside asubprogram
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 usingaccess connection
s.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.