summaryrefslogtreecommitdiffstats
path: root/spec/score/timecounter/req
diff options
context:
space:
mode:
Diffstat (limited to 'spec/score/timecounter/req')
-rw-r--r--spec/score/timecounter/req/clock-monotonic-initial-frozen.yml15
-rw-r--r--spec/score/timecounter/req/clock-monotonic-initial.yml15
-rw-r--r--spec/score/timecounter/req/clock-monotonic.yml15
-rw-r--r--spec/score/timecounter/req/clock-realtime-initial-frozen.yml15
-rw-r--r--spec/score/timecounter/req/clock-realtime-initial.yml15
-rw-r--r--spec/score/timecounter/req/clock-realtime.yml15
-rw-r--r--spec/score/timecounter/req/get-coarse-no-device.yml15
-rw-r--r--spec/score/timecounter/req/get-coarse.yml15
-rw-r--r--spec/score/timecounter/req/get-device.yml15
-rw-r--r--spec/score/timecounter/req/get-large-delta.yml16
-rw-r--r--spec/score/timecounter/req/get-non-blocking.yml17
-rw-r--r--spec/score/timecounter/req/get.yml15
-rw-r--r--spec/score/timecounter/req/group.yml15
-rw-r--r--spec/score/timecounter/req/install-frequency.yml17
-rw-r--r--spec/score/timecounter/req/install-quality.yml16
-rw-r--r--spec/score/timecounter/req/install.yml15
16 files changed, 246 insertions, 0 deletions
diff --git a/spec/score/timecounter/req/clock-monotonic-initial-frozen.yml b/spec/score/timecounter/req/clock-monotonic-initial-frozen.yml
new file mode 100644
index 00000000..5429d222
--- /dev/null
+++ b/spec/score/timecounter/req/clock-monotonic-initial-frozen.yml
@@ -0,0 +1,15 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links:
+- role: requirement-refinement
+ uid: clock-monotonic
+functional-type: function
+rationale: null
+references: []
+requirement-type: functional
+text: |
+ While no timecounter is installed, the ${/glossary/clock-monotonic:/term}
+ shall remain at the initial value.
+type: requirement
diff --git a/spec/score/timecounter/req/clock-monotonic-initial.yml b/spec/score/timecounter/req/clock-monotonic-initial.yml
new file mode 100644
index 00000000..81321d97
--- /dev/null
+++ b/spec/score/timecounter/req/clock-monotonic-initial.yml
@@ -0,0 +1,15 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links:
+- role: requirement-refinement
+ uid: clock-monotonic
+functional-type: function
+rationale: null
+references: []
+requirement-type: functional
+text: |
+ The initial value of the ${/glossary/clock-monotonic:/term} shall be
+ 0000-00-00T00:00:01.000000000.
+type: requirement
diff --git a/spec/score/timecounter/req/clock-monotonic.yml b/spec/score/timecounter/req/clock-monotonic.yml
new file mode 100644
index 00000000..12f119c7
--- /dev/null
+++ b/spec/score/timecounter/req/clock-monotonic.yml
@@ -0,0 +1,15 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links:
+- role: requirement-refinement
+ uid: group
+non-functional-type: design
+rationale: null
+references: []
+requirement-type: non-functional
+text: |
+ The timecounter component shall provide the
+ ${/glossary/clock-monotonic:/term}.
+type: requirement
diff --git a/spec/score/timecounter/req/clock-realtime-initial-frozen.yml b/spec/score/timecounter/req/clock-realtime-initial-frozen.yml
new file mode 100644
index 00000000..d87265bb
--- /dev/null
+++ b/spec/score/timecounter/req/clock-realtime-initial-frozen.yml
@@ -0,0 +1,15 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links:
+- role: requirement-refinement
+ uid: clock-realtime
+functional-type: function
+rationale: null
+references: []
+requirement-type: functional
+text: |
+ While no timecounter is installed, the ${/glossary/clock-realtime:/term}
+ shall remain at the initial value.
+type: requirement
diff --git a/spec/score/timecounter/req/clock-realtime-initial.yml b/spec/score/timecounter/req/clock-realtime-initial.yml
new file mode 100644
index 00000000..278fa362
--- /dev/null
+++ b/spec/score/timecounter/req/clock-realtime-initial.yml
@@ -0,0 +1,15 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links:
+- role: requirement-refinement
+ uid: clock-realtime
+functional-type: function
+rationale: null
+references: []
+requirement-type: functional
+text: |
+ The initial value of the ${/glossary/clock-realtime:/term} shall be
+ 1988-01-01T00:00:00.000000000.
+type: requirement
diff --git a/spec/score/timecounter/req/clock-realtime.yml b/spec/score/timecounter/req/clock-realtime.yml
new file mode 100644
index 00000000..7c911452
--- /dev/null
+++ b/spec/score/timecounter/req/clock-realtime.yml
@@ -0,0 +1,15 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links:
+- role: requirement-refinement
+ uid: group
+non-functional-type: design
+rationale: null
+references: []
+requirement-type: non-functional
+text: |
+ The timecounter component shall provide the
+ ${/glossary/clock-realtime:/term}.
+type: requirement
diff --git a/spec/score/timecounter/req/get-coarse-no-device.yml b/spec/score/timecounter/req/get-coarse-no-device.yml
new file mode 100644
index 00000000..752ee27a
--- /dev/null
+++ b/spec/score/timecounter/req/get-coarse-no-device.yml
@@ -0,0 +1,15 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links:
+- role: requirement-refinement
+ uid: get-coarse
+functional-type: function
+rationale: null
+references: []
+requirement-type: functional
+text: |
+ The directives to get time values in a coarse precision shall not use the
+ currently installed timecounter.
+type: requirement
diff --git a/spec/score/timecounter/req/get-coarse.yml b/spec/score/timecounter/req/get-coarse.yml
new file mode 100644
index 00000000..875d4550
--- /dev/null
+++ b/spec/score/timecounter/req/get-coarse.yml
@@ -0,0 +1,15 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links:
+- role: requirement-refinement
+ uid: group
+non-functional-type: design
+rationale: null
+references: []
+requirement-type: non-functional
+text: |
+ The timecounter component shall implement directives to get time values in a
+ coarse precision.
+type: requirement
diff --git a/spec/score/timecounter/req/get-device.yml b/spec/score/timecounter/req/get-device.yml
new file mode 100644
index 00000000..27219ebc
--- /dev/null
+++ b/spec/score/timecounter/req/get-device.yml
@@ -0,0 +1,15 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links:
+- role: requirement-refinement
+ uid: get
+functional-type: function
+rationale: null
+references: []
+requirement-type: functional
+text: |
+ The directives to get time values in the highest precision shall use the
+ currently installed timecounter to get a clock snapshot.
+type: requirement
diff --git a/spec/score/timecounter/req/get-large-delta.yml b/spec/score/timecounter/req/get-large-delta.yml
new file mode 100644
index 00000000..1b7770b3
--- /dev/null
+++ b/spec/score/timecounter/req/get-large-delta.yml
@@ -0,0 +1,16 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links:
+- role: requirement-refinement
+ uid: get
+functional-type: function
+rationale: null
+references: []
+requirement-type: functional
+text: |
+ While the timehand used to get the time was not updated for one second or
+ more, while the timecounter of the timehand did not overflow, the directives
+ to get time values in the highest precision shall return the correct time.
+type: requirement
diff --git a/spec/score/timecounter/req/get-non-blocking.yml b/spec/score/timecounter/req/get-non-blocking.yml
new file mode 100644
index 00000000..c3eb2b95
--- /dev/null
+++ b/spec/score/timecounter/req/get-non-blocking.yml
@@ -0,0 +1,17 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links:
+- role: requirement-refinement
+ uid: get
+- role: requirement-refinement
+ uid: get-coarse
+non-functional-type: design
+rationale: null
+references: []
+requirement-type: non-functional
+text: |
+ The directives to get time values shall use a sequence lock to synchronize
+ the reader with exactly one writer.
+type: requirement
diff --git a/spec/score/timecounter/req/get.yml b/spec/score/timecounter/req/get.yml
new file mode 100644
index 00000000..fa8234e6
--- /dev/null
+++ b/spec/score/timecounter/req/get.yml
@@ -0,0 +1,15 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links:
+- role: requirement-refinement
+ uid: group
+non-functional-type: design
+rationale: null
+references: []
+requirement-type: non-functional
+text: |
+ The timecounter component shall implement directives to get time values in
+ the highest precision available to the system.
+type: requirement
diff --git a/spec/score/timecounter/req/group.yml b/spec/score/timecounter/req/group.yml
new file mode 100644
index 00000000..7a2e0ff9
--- /dev/null
+++ b/spec/score/timecounter/req/group.yml
@@ -0,0 +1,15 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+identifier: RTEMSScoreTimecounter
+links:
+- role: interface-ingroup
+ uid: ../../if/group
+non-functional-type: design-group
+rationale: null
+references: []
+requirement-type: non-functional
+text: |
+ The super core shall have a component containing the clock implementation.
+type: requirement
diff --git a/spec/score/timecounter/req/install-frequency.yml b/spec/score/timecounter/req/install-frequency.yml
new file mode 100644
index 00000000..d88401f8
--- /dev/null
+++ b/spec/score/timecounter/req/install-frequency.yml
@@ -0,0 +1,17 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links:
+- role: requirement-refinement
+ uid: install
+functional-type: function
+rationale: null
+references: []
+requirement-type: functional
+text: |
+ While the timecounter to install has a quality level equal to the quality
+ level of the currently installed timecounter, while the timecounter to
+ install has a higher frequancy greater than the frequency of the currently
+ installed timecounter, the timecounter to install shall be installed.
+type: requirement
diff --git a/spec/score/timecounter/req/install-quality.yml b/spec/score/timecounter/req/install-quality.yml
new file mode 100644
index 00000000..8e83424a
--- /dev/null
+++ b/spec/score/timecounter/req/install-quality.yml
@@ -0,0 +1,16 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links:
+- role: requirement-refinement
+ uid: install
+functional-type: function
+rationale: null
+references: []
+requirement-type: functional
+text: |
+ While the timecounter to install has a quality level greater than the quality
+ level of the currently installed timecounter, the timecounter to install
+ shall be installed.
+type: requirement
diff --git a/spec/score/timecounter/req/install.yml b/spec/score/timecounter/req/install.yml
new file mode 100644
index 00000000..1356890e
--- /dev/null
+++ b/spec/score/timecounter/req/install.yml
@@ -0,0 +1,15 @@
+SPDX-License-Identifier: CC-BY-SA-4.0
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links:
+- role: requirement-refinement
+ uid: group
+non-functional-type: design
+rationale: null
+references: []
+requirement-type: non-functional
+text: |
+ The timecounter component shall implement a directive to install a
+ timecounter.
+type: requirement