saeaadl / aadlv2.2

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

Operational systems are not required to have bound prototypes #19

Closed AaronGreenhouse closed 3 years ago

AaronGreenhouse commented 6 years ago

I don't see a rule that requires operational systems to have all their prototypes bound. Suppose we have

package package1
public
    system s
        -- ...
    end s;

    system implementation s.i
    prototypes
        X: bus;
        -- ...
    subcomponents
        b: bus X;
        -- ...
    end s.i;

    system T.i
    subcomponents
        sub1: system s.i -- no prototype binding
        -- ...
    end T.i
end package1;

There is no rule that says T.i is not an operational/completely instantiable even though its subcomponent sub1 is missing a prototype binding.

This seems wrong.

reteprelief commented 6 years ago

To be addressed in V3. Statement about what we do in OSATE for V2.2.

jjhugues commented 3 years ago

Here is a corrected example, it generates a NPE with OSATE 2.9..1 see https://github.com/osate/osate2/issues/2631


package issue19
public
    system s
        -- ...
    end s;

    system implementation s.i
        prototypes
            X: bus;
        -- ...
        subcomponents
            b: bus X;
    -- ...
    end s.i;

    system T

    end T;

    system implementation T.i
    subcomponents
        sub1:

    system s.i; -- no prototype binding
-- ...
end T.i;

end issue19;```
jjhugues commented 3 years ago

As pointed out by Peter, this is a v3 topic, closing