thread_properties.aadl 3.92 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
--******************************************************
--  AADL Standard AADL_V2.0
--   Appendix A (normative)
--   Predeclared Property Sets
--   Thread_Properties
--   07Juin08
--******************************************************

property set Thread_Properties is
  ----------------------------------------------------
  ----------------------------------------------------

  Activation_Mode: enumeration ( restart, resume )
  applies to (Thread);
  ----------------------------------------------------

  Active_Thread_Handling_Protocol:
  inherit Supported_Active_Thread_Handling_Protocols 
  => abort
  applies to (Thread, 
              Thread Group, 
              Process, 
              System);
  ----------------------------------------------------

  Active_Thread_Queue_Handling_Protocol:
  inherit enumeration (flush, hold) 
  => flush
  applies to (Thread, 
              Thread Group, 
              Process, 
              System);
  ----------------------------------------------------

  Concurrency_Control_Protocol: 
             Supported_Concurrency_Control_Protocols
  applies to (data);
  ----------------------------------------------------

  Criticality: aadlinteger
  applies to (thread, thread group);
  ----------------------------------------------------

  Dequeue_Protocol: enumeration ( OneItem, 
                                  MultipleItems, 
                                  AllItems ) 
  => OneItem
  applies to (event port, event data port);
  ----------------------------------------------------

  Dequeued_Items: aadlinteger
  applies to (event port, event data port);
  ---------------------------------------------------- 

  Device_Dispatch_Protocol: 
        Supported_Dispatch_Protocols => Aperiodic
  applies to (device);
  ----------------------------------------------------

  Dispatch_Protocol: Supported_Dispatch_Protocols
  applies to (thread);
62
63
64
65
66
67

  Dispatch_Trigger: list of reference (port) 
  applies to (device, thread);
  --  The Dispatch_Trigger property specifies the list of ports that can
  --  trigger the dispatch of a thread or device.

68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
  ----------------------------------------------------

  POSIX_Scheduling_Policy : enumeration (SCHED_FIFO, 
                                         SCHED_RR, 
                                         SCHED_OTHERS)
  applies to (thread, thread group);
  ----------------------------------------------------

  Preemptive_Scheduler : aadlboolean
  applies to (processor);
  ----------------------------------------------------

  Priority: inherit aadlinteger
  applies to (thread, 
              thread group, 
              process, 
              system, 
              device, 
              data);
  ----------------------------------------------------

  Runtime_Protection : inherit aadlboolean
  applies to (process, system);
  ----------------------------------------------------

  Scheduling_Protocol: 
        inherit list of Supported_Scheduling_Protocols
  applies to (virtual processor, processor);
  ----------------------------------------------------

  Subprogram_Call_Type: enumeration (Synchronous, 
                                     SemiSynchronous)
  applies to (subprogram);
  ----------------------------------------------------

  Synchronized_Component: inherit aadlboolean 
  => true
  applies to (thread, 
              thread group, 
              process, 
              system);
  ----------------------------------------------------

  Thread_Limit: aadlinteger 0 .. Max_Thread_Limit
  applies to (processor);
  ----------------------------------------------------

  Time_Slot: list of aadlinteger
  applies to (thread, 
              thread group, 
              process, 
              system);
  ----------------------------------------------------

  Urgency: aadlinteger 0 .. Max_Urgency
  applies to (port, subprogram);
  ----------------------------------------------------
  ----------------------------------------------------
126
end Thread_Properties;