memory_properties.aadl 3.18 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
--******************************************************
--  AADL Standard AADL_V2.0
--   Appendix A (normative)
--   Predeclared Property Sets
--   Memory_Properties
--   07Juin08
--******************************************************

property set Memory_Properties is
  ----------------------------------------------------
  ----------------------------------------------------
  Size: type aadlinteger 0 Bytes .. Max_Memory_Size 
  units Size_Units;
  
  ----------------------------------------------------
  Byte_Count: aadlinteger 0 .. Max_Word_Count applies to (memory);

  Size_Range: type range of Size;
  ----------------------------------------------------

  Access_Right : Access_Rights => read_write
  applies to (Data, Bus);
  ----------------------------------------------------         

  Access_Rights : type enumeration (read_only, 
                                    write_only, 
                                    read_write,
                                    by_method);
  ----------------------------------------------------
          
  Allowed_Message_Size: Size_Range
  applies to (bus);
  ----------------------------------------------------       

  Assign_Time: Time
  applies to (processor, bus);
  ---------------------------------------------------- 
   
  Assign_Byte_Time: Time
  applies to (processor, bus);
  ----------------------------------------------------
   
  Assign_Fixed_Time: Time
  applies to (processor, bus);
  ----------------------------------------------------

  Base_Address: aadlinteger 0 .. Max_Base_Address
  applies to (memory, data, port);
  ----------------------------------------------------

  Bound_On_Data_Blocking_Time : inherit Time
  applies to (thread, thread group);
  ----------------------------------------------------
    
  Device_Register_Address: aadlinteger
  applies to (port, feature group);
  ----------------------------------------------------  

  Read_Time: list of Time_Range
  applies to (memory);
  ---------------------------------------------------- 
  
  Source_Code_Size: Size
  applies to (data, thread, thread group, process, 
              system, subprogram, processor, device);
  ----------------------------------------------------
     
  Source_Data_Size: Size
  applies to (data, subprogram, thread, thread  group,
              process, system, processor, device);
  ----------------------------------------------------
    
  Source_Heap_Size: Size
  applies to (thread, subprogram);
  ----------------------------------------------------
 
  Source_Stack_Size: Size
  applies to (thread, subprogram, processor, device);
  ----------------------------------------------------
   
  Word_Count: aadlinteger 0 .. Max_Word_Count
  applies to (memory);
  ----------------------------------------------------

85
  Word_Size: Size => 8 bits
86
87
88
89
90
91
92
93
94
95
96
97
  applies to (memory);
  ----------------------------------------------------
        
  Word_Space: aadlinteger 1 .. Max_Word_Space => 1
  applies to (memory);
  ----------------------------------------------------

  Write_Time: list of Time_Range
  applies to (memory);
  ----------------------------------------------------
  ----------------------------------------------------
end Memory_Properties;