osate / osate2

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

Bound resource allocations analysis report not generated #2782

Closed ericsenn closed 2 years ago

ericsenn commented 2 years ago

Summary Trying to generate a "bound ressource allocations analysis" report.

Expected behavior A report should be generated.

Actual behavior The report is not generated It is generated if you comment the bus subcomponents declaration (see aadl code below) in the HW platform defined as a system implementation. There is no problem with Osate2-2.9.1

According to Lutz Wrage, from OSATE forum : "This is a bug. The analysis throws an exception and writes a stack trace in the error log. The fix should be easy. Could you file an issue in the osate issue tracker on github, please?"

Steps To Reproduce Create an aadl package with the code below Instantiate system implementation mysys.i From the instance, run the Analysis > Budget > Analyse Ressource Allocations (bound) The report is not generated.

Comment the thebus: bus mybus.i; in the model. Re-instantiate Re-run analysis The report is generated.

package sched_mips
public

with SEI;

--*************************************************** SW

process a_process
end a_process;

process implementation a_process.i
    subcomponents
        thread1 : thread a_thread.i;
    properties
        SEI::MIPSBudget => 1.0 MIPS;
end a_process.i;

thread a_thread
end a_thread;

thread implementation a_thread.i
properties
        Period => 10 Ms;
        Compute_execution_time => 5 Ms .. 5 Ms;
end a_thread.i;

--*************************************************** HW

processor proc
    features
        buscon: requires bus access mybus.i;
        end proc;

processor implementation proc.i
    properties
        SEI::MIPSCapacity => 2.0 MIPS;        
        end proc.i;

bus mybus
    end mybus;
bus implementation mybus.i
    end mybus.i;

system myhw
    end myhw;

system implementation myhw.i
    subcomponents
        proc: processor proc.i;
        thebus: bus mybus.i;--IF YOU COMMENT THIS LINE THE REPORT IS GENERATED
end myhw.i;

--*************************************************** SW+HW+bindings

system mysys
    end mysys;

system implementation mysys.i
    subcomponents
        sw: process a_process.i;
        hw: system myhw.i;
    properties
        Actual_Processor_Binding => (reference (hw.proc)) applies to sw;
        end mysys.i;

end sched_mips;

Desktop (please complete the following information):

passeris commented 2 years ago

I copied the example from this ticket and ran the analysis and the error is still reported.