Summary
I'm trying to perform memory budget analysis for a system. The system consists of a physical execution platform, a virtual machine, and an application. The application is bound to the virtual machine and the virtual machine is bound to physical processors. The AADL standard allows the Memory_Size property to be used on processors, virtual machines, and systems. I'd like to use it on a virtual processor representing the virtual machine to represent the total memory that is available for use by applications running on the VM. On the physical side, i'd like to bind to a system that represents that hardware and has Memory_Size set to the total memory provided.
Expected and Current Behavior
After creating such a model, I expect the memory budget analysis would produce results based on the specified property values.
However, the bound resource analysis plugin produces a message No Memory with Memory_Size or RAMCapacity or ROMCapacity. While that is somewhat clear it is expected that it would support Memory_Size for virtual processors and other cases as well. The unbound analysis does not include memory at all.
Lastly, I would expect to be allowed to specify a RAMBudget and ROMBudget for the virtual processor to express how much memory is is estimated to require. The amount of memory provided by a virtual processor may not be the same as the amount it provides to which it is bound.
Steps to Reproduce
Run bound and/or unbound resource budget analysis on the provided model.
package test_memory_budget
public
with SEI;
system system_to_analyze
end system_to_analyze;
system implementation system_to_analyze.impl
subcomponents
hw: system hardware.impl;
sw: system software.impl;
properties
Actual_Processor_Binding => (reference(hw.core1), reference(hw.core2)) applies to sw.vm;
Actual_Memory_Binding => (reference(hw)) applies to sw.vm;
end system_to_analyze.impl;
system hardware
end hardware;
system implementation hardware.impl
subcomponents
core1: processor;
core2: processor;
properties
Memory_Size => 4 GByte;
end hardware.impl;
system software
end software;
system implementation software.impl
subcomponents
vm: virtual processor {Memory_Size => 1 GByte;};
application: process {SEI::RAMBudget => 10.0 MByte; };
properties
Actual_Processor_Binding => (reference (vm)) applies to application;
Actual_Memory_Binding => (reference (vm)) applies to application;
end software.impl;
end test_memory_budget;
Environment
- OSATE Version: 2.6.1
- Operating System: Windows 10
Summary
I'm trying to perform memory budget analysis for a system. The system consists of a physical execution platform, a virtual machine, and an application. The application is bound to the virtual machine and the virtual machine is bound to physical processors. The AADL standard allows the
Memory_Sizeproperty to be used on processors, virtual machines, and systems. I'd like to use it on a virtual processor representing the virtual machine to represent the total memory that is available for use by applications running on the VM. On the physical side, i'd like to bind to a system that represents that hardware and hasMemory_Sizeset to the total memory provided.Expected and Current Behavior
After creating such a model, I expect the memory budget analysis would produce results based on the specified property values.
However, the bound resource analysis plugin produces a message
No Memory with Memory_Size or RAMCapacity or ROMCapacity. While that is somewhat clear it is expected that it would support Memory_Size for virtual processors and other cases as well. The unbound analysis does not include memory at all.Lastly, I would expect to be allowed to specify a
RAMBudgetandROMBudgetfor the virtual processor to express how much memory is is estimated to require. The amount of memory provided by a virtual processor may not be the same as the amount it provides to which it is bound.Steps to Reproduce
Run bound and/or unbound resource budget analysis on the provided model.
Environment