Skip to content

Commit ff1987a

Browse files
committed
moved ws notes to specification
1 parent 39de283 commit ff1987a

File tree

1 file changed

+25
-26
lines changed

1 file changed

+25
-26
lines changed

docs/features/time/index.rst

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ Time
2121
:id: doc__time
2222
:status: valid
2323
:safety: ASIL_B
24-
:realizes: wp__feat_request
2524
:tags: time, feature_request, change_management
2625

2726

@@ -75,27 +74,6 @@ Bridging between different network domains (e.g., Ethernet to CAN) is outside th
7574
Clocks, Accuracy, and Reading Current Time
7675
------------------------------------------
7776

78-
The basic concept of Time is represented by two initial and one derived element:
79-
80-
*Clocks* are the sources of time. A clock produced a sequence on *Timepoints*, each representing a specific point in time.
81-
Timepoints have an Order, i.e. the relations "equal" and "less than" are defined. Because of this, TimePoints can be substracted, creating a *TimeSpan*.
82-
83-
The following operations are valid between TimePoints and TimeSpans:
84-
85-
* Substraction: TimeSpan := TimePoint - TimePoint; TimeSpan := [TimeSpan - TimeSpan] | Negative TimeSpans shall not be allowed, the substraction saturates to zero.
86-
* Addition: TimePoint := TimePoint + TimeSpan; TimeSpan := TimeSpan + TimeSpan
87-
* Multiplication: TimeSpan := Factor * TimeSpan
88-
* Equality: bool := TimePoint == TimePoint; bool := TimeSpan == TimeSpan
89-
* Comparison: bool := TimePoint < TimePoint; bool := TimeSpan < TimeSpan (this includes with equality the less-than-or-equal relation)
90-
91-
The clock is characterized by main attributes:
92-
93-
* Frequency: The frequency with which the clock updates the TimePoints it issues.
94-
* Resolution: The accuracy of an individual timepoint. While an ideal clock would have a resolution that is the reciproke of the frequency in reality this may not be the case.
95-
* Monotony: A clock can be monotonous (TP[n+1] >= TP[n] is always maintained), strictly monotonous or not monotonous
96-
* Steady: A steady clock will update in fixed intervals, i.e. each increment is exactly 1/Frequency. For example system clock is neither monotonous nor steady because of summer/winter time and leap seconds.
97-
* Epoch: The TimePoint the clock started ticking. The semantic of the epoch is a documentation property of the clock. Example: Unix system clock has an Epoch value of 0 on 01.01.1970, 00:00:00 UTC.
98-
9977
Modern software environments contain several types of clocks (or time bases), including:
10078

10179
* Local clocks, such as monotonic or steady clocks
@@ -128,17 +106,37 @@ Sharing a consistent logical timestamp ensures deterministic computations. For i
128106
Logical time must be explicitly provided to the tasks within these cause-effect chains, but its availability in background processes or non-time-sensitive tasks is not required.
129107

130108

131-
132-
133-
134-
135109
.. Rationale
136110
.. ==========
137111
138112
139113
Specification
140114
=============
141115

116+
.. note::
117+
From S-CORE workshop regarding Clocks, Accuracy, and Reading Current Time:
118+
119+
The basic concept of Time is represented by two initial and one derived element:
120+
121+
*Clocks* are the sources of time. A clock produced a sequence on *Timepoints*, each representing a specific point in time.
122+
Timepoints have an Order, i.e. the relations "equal" and "less than" are defined. Because of this, TimePoints can be substracted, creating a *TimeSpan*.
123+
124+
The following operations are valid between TimePoints and TimeSpans:
125+
126+
* Substraction: TimeSpan := TimePoint - TimePoint; TimeSpan := [TimeSpan - TimeSpan] | Negative TimeSpans shall not be allowed, the substraction saturates to zero.
127+
* Addition: TimePoint := TimePoint + TimeSpan; TimeSpan := TimeSpan + TimeSpan
128+
* Multiplication: TimeSpan := Factor * TimeSpan
129+
* Equality: bool := TimePoint == TimePoint; bool := TimeSpan == TimeSpan
130+
* Comparison: bool := TimePoint < TimePoint; bool := TimeSpan < TimeSpan (this includes with equality the less-than-or-equal relation)
131+
132+
The clock is characterized by main attributes:
133+
134+
* Frequency: The frequency with which the clock updates the TimePoints it issues.
135+
* Resolution: The accuracy of an individual timepoint. While an ideal clock would have a resolution that is the reciproke of the frequency in reality this may not be the case.
136+
* Monotony: A clock can be monotonous (TP[n+1] >= TP[n] is always maintained), strictly monotonous or not monotonous
137+
* Steady: A steady clock will update in fixed intervals, i.e. each increment is exactly 1/Frequency. For example system clock is neither monotonous nor steady because of summer/winter time and leap seconds.
138+
* Epoch: The TimePoint the clock started ticking. The semantic of the epoch is a documentation property of the clock. Example: Unix system clock has an Epoch value of 0 on 01.01.1970, 00:00:00 UTC.
139+
142140
In-Vehicle Time Synchronization
143141
-------------------------------
144142

@@ -209,6 +207,7 @@ Monotonic Clock
209207
* REQ_0015: the score::time feature shall provide a mechanism to access (read only) to monotonic, not adjustable clock value, which is mapped from the known OS or HW clock.
210208

211209

210+
212211
.. Backwards Compatibility
213212
.. =======================
214213

0 commit comments

Comments
 (0)