osate / osate2

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

Property Actual_Memory_Binding does not apply to org.osate.aadl2.instance.impl.ComponentInstanceImpl #2813

Closed passeris closed 2 years ago

passeris commented 2 years ago

When performing a resource analysis (bounded), the error Property Actual_Memory_Binding does not apply to org.osate.aadl2.instance.impl.ComponentInstanceImpl shows in the error log. This happens when a system implementation has a bus subcomponent and a property declaration like the following:

properties

actual_memory_binding => (reference (ram)) applies to p.t1;

A simple model to reproduce this issue is listed below:

package pkg
public
    with SEI;

    memory ram
        properties
            memory_size => 7 bytes;
    end ram;

    memory implementation ram.i

    end ram.i;

    thread t1
    end t1;

    thread implementation t1.i
        properties
            stack_size=>1Gbyte;
    end t1.i;

    process p1
    end p1;

    process implementation p1.i
        subcomponents
            t1: thread t1.i;
    end p1.i;

    system s1
    end s1;

    bus CAN

    end CAN;
bus implementation CAN.impl

end CAN.impl;
    system implementation s1.i
        subcomponents
            ram: memory ram.i;
            p: process p1.i;
            bb: bus CAN.impl; -- COMMENT OUT THIS LINE IN ORDER FOR ANALYSIS TO WORK PROPERLY
        properties
            actual_memory_binding => (reference (ram)) applies to p.t1;
    end s1.i;
end pkg;
lwrage commented 2 years ago

Duplicate of #2782

passeris commented 2 years ago

I visited issue #2782 and copied the code as-is and ran the analysis (OSATE v2.10.2 on MacOS). The error is still reported by OSATE. Is this a mistake in how we structure our AADL code i.e. a user error perhaps?

I will try in windows again, but my installation was from May, and the ticket was resolved in April.

lwrage commented 2 years ago

It's fixed in the upcoming release.