memory_properties.aadl 1.72 KB
Newer Older
1
2
3
4
--AADL2
--SAE Aerospace Standard AS5506A
--Proposed Draft (2008-11-08)
--Appendix A: Predeclared Property Sets
5
6

property set Memory_Properties is
7
	Size: type aadlinteger 0 Bytes .. Max_Memory_Size units Size_Units;
8

9
	Size_Range: type range of Size;
10

11
12
	Access_Right: Access_Rights => read_write
		applies to (data, bus, data access, bus access);
13

14
	Access_Rights: type enumeration (read_only, write_only, read_write, by_method);
15

16
17
18
	Access_Time: record (
		First: IO_Time_Spec;
		Last: IO_Time_Spec;)
19
20
21
22
		=> [ First => [ Time => Start; Offset => 0 ns .. 0 ns; ];
			Last => [ Time => Completion; Offset => 0 ns .. 0 ns; ]; ]
                        applies to (data access);

23
24
	Allowed_Message_Size: Size_Range
		applies to (bus);
25

26
27
28
29
	Assign_Time: record (
		Fixed: Time_Range;
		PerByte: Time_Range;)
		applies to (processor);
30

31
32
	Base_Address: aadlinteger 0 .. Max_Base_Address
		applies to (memory, data, data access, port);
33

34
35
	Device_Register_Address: aadlinteger
		applies to (port, feature group);
36

37
38
39
40
	Read_Time: record (
		Fixed: Time_Range;
		PerByte: Time_Range;)
		applies to (memory);
41

42
43
	Source_Code_Size: Size
		applies to (data, thread, thread group, process, system, subprogram, processor, device);
44

45
46
	Source_Data_Size: Size
		applies to (data, subprogram, thread, thread group, process, system, processor, device);
47

48
49
	Source_Heap_Size: Size
		applies to (thread, subprogram);
50

51
52
	Source_Stack_Size: Size
		applies to (thread, subprogram, processor, device);
53

54
55
	Byte_Count: aadlinteger 0 .. Max_Byte_Count
		applies to (memory);
56

57
58
	Word_Size: Size => 8 bits
		applies to (memory);
59

60
61
	Word_Space: aadlinteger 1 .. Max_Word_Space => 1
		applies to (memory);
62

63
64
65
66
67
	Write_Time: record (
		Fixed: Time_Range;
		PerByte: Time_Range;)
		applies to (memory);
end Memory_Properties;