communication_properties.aadl 2.39 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 Communication_Properties is
7
8
9
	Fan_Out_Policy: enumeration (Broadcast, RoundRobin, Selective, OnDemand)
		applies to (port);

10
11
12
13
14
15
16
17
18
19
	Connection_Pattern: list of list of Supported_Connection_Patterns
		applies to (connection);

	Connection_Set: list of Connection_Pair
		applies to (connection);

	Connection_Pair: type record (
		src: list of aadlinteger;
		dst: list of aadlinteger;);

20
21
	Overflow_Handling_Protocol: enumeration (DropOldest, DropNewest, Error) => DropOldest
		applies to (event port, event data port, subprogram access);
22

23
24
	Queue_Processing_Protocol: Supported_Queue_Processing_Protocols => FIFO
		applies to (event port, event data port, subprogram access);
25

26
27
	Queue_Size: aadlinteger 0 .. Max_Queue_Size => 1
		applies to (event port, event data port, subprogram access);
28

29
30
	Required_Connection: aadlboolean => true
		applies to (feature);
31

32
33
	Timing: enumeration (sampled, immediate, delayed) => sampled
		applies to (port connection);
34

35
36
	Transmission_Type: enumeration (push, pull)
		applies to (data port, port connection, bus, virtual bus);
37

38
39

	Input_Rate: Rate_Spec => [ Value_Range => 1.0 .. 1.0; Rate_Unit => PerDispatch; Rate_Distribution => Fixed; ]
40
		applies to (port);
41

42
	Input_Time: list of IO_Time_Spec => ([ Time => Dispatch; Offset => 0 ns .. 0 ns; ])
43
		applies to (port);
44

45
46
47
48
	IO_Time_Spec: type record (
		Offset: Time_Range;
		Time: IO_Reference_Time;
	);
49

50
	IO_Reference_Time: type enumeration (Dispatch, Start, Completion, Deadline, NoIO);
51

52
	Output_Rate: Rate_Spec => [ Value_Range => 1.0 .. 1.0; Rate_Unit => PerDispatch; Rate_Distribution => Fixed; ]
53
		applies to (port);
54

55
	Output_Time: list of IO_Time_Spec => ([ Time => Completion; Offset => 0 ns .. 0 ns; ])
56
		applies to (port);
57

58

59
60
61
62
63
	Rate_Spec: type record (
		Value_Range: range of aadlreal;
		Rate_Unit: enumeration (PerSecond, PerDispatch);
		Rate_Distribution: Supported_Distributions;
	);
64

65
	Subprogram_Call_Rate: Rate_Spec => [ Value_Range => 1.0 .. 1.0; Rate_Unit => PerDispatch; Rate_Distribution => Fixed; ]
66
		applies to (subprogram access);
67

68
69
70
71
	Transmission_Time: record (
			Fixed: Time_Range;
			PerByte: Time_Range;)
		applies to (bus);
72

73
74
	Actual_Latency: Time_Range
		applies to (flow, connection, bus, processor, device, port);
75

76
77
	Latency: Time_Range
		applies to (flow, connection, bus, processor, device, port);
78
end Communication_Properties;