Skip to content

Commit 9ea2ed3

Browse files
MartinHalleTUHHmatthew-l-weber
authored andcommitted
Enhance Use-Case documentation
Expanded the system architecture section to include detailed hardware and software functions for the cabin lights use case. Added use case descriptions, test items, and options for system architecture. Signed-off-by: Martin Halle [email protected] Signed-off-by: Weber (US), Matthew L <[email protected]>
1 parent a379a82 commit 9ea2ed3

File tree

1 file changed

+64
-57
lines changed

1 file changed

+64
-57
lines changed

Aerospace-Uses-Cases.md

Lines changed: 64 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,72 @@ This document is a work in progress and has not been approved for use outside of
66

77
Low DAL (D or lower) - blackbox level - functionally meets expectations
88

9+
### System Architecture
10+
11+
Hardware:
12+
* Switch (Sensor)
13+
* Switch has two values (on/off)
14+
* Cabin light (Actuator)
15+
* Cabin light has two states (on/off), when a message is received on Ethernet, it updates its state to match
16+
* Computing device (platform) running the Apps
17+
* Connectivity is an Ethernet bus (messages can be lost or corrupted)
18+
* Options for assuring communication
19+
* Send periodic message of current state
20+
* Or? acknowledge messages from application
21+
* Or? poll both sensor and actuator
22+
23+
Software Functions ("Apps"):
24+
* Switch App
25+
* Cabin Lights App
26+
* Application is waiting on the switch socket for a message, wakes up when message available
27+
* When awoken,
28+
* application creates a message with new light state and sends on the light socket
29+
* log the event
30+
* yield?, goes back to waiting on switch socket
31+
* Logging App
32+
* Monitoring App (CoPilot based)
33+
* Continously monitors correct functionality (e.g. stay witihn time limits)
34+
35+
* Options/Scenarios to consider and enhance on
36+
* "One Device": Switch and Cabin light connected to a single device, Apps are hosted on the same device
37+
* "Two Devices": Switch and Cabin light are connected on 2 devices, connected via network, Apps are hosted on throse 2 devices respectively, too
38+
* "Three/More Devices": Switch and Cabin light arte connected on 2 devices, Monitoring App hosted on another one, all connectd through a network
39+
940
### System Requirements
1041

1142
* The Cabin Lights system shall turn lights on in less than 500 ms of the light switch turning on
1243
* The Cabin Lights system shall turn lights off in less than 500 ms of the light switch turning off
1344

45+
### Use Case Description for scenario "One Device"
46+
47+
Single computer with single function (="APP")
48+
49+
[SENS] <-[ETH_MAC]-> [APP] <-[ETH_MAC]-> [ACT]
50+
51+
- Presume bidirectional connectivity from computing platform to sensor, and bidirectional connectivity from computing platform to actuator.
52+
- Smart sensor/actor w/ software and stack?
53+
- Best effort scheduling of IO processing that's tested for perceived worst case. (No monitor or scheduler based guarantee other then planned scheduler bandwidth/capacity margin)
54+
- How would a system architecture look like to close the signal/application loop? (7 voters in total)
55+
- Option A:
56+
- Simulate sensor + actuator on the H/W device running the system application (1 application being the cabin application, 2 applications being the simulated sensor + actuator)
57+
- A.1 Communication on software level (no physical ethernet cable) > Votes: 1
58+
- A.2 Communication on hardware level using several network cards connected through H/W Ethernet (i.e. physical network-cable) > Votes: 1
59+
- Thoughts: [Ivan]: Maybe we miss something because its too simplistic
60+
- Option B: > Votes: 4 (SELECTED)
61+
- Sensor + actuator on a general purpose computer as emulation (on non-Aerospace Linux)
62+
- Attention: This probably means no real-time OS on sensor / actuator side
63+
- Application computer w/ real-time Aerospace Linux running the system/cabin application(s)
64+
- Option C:
65+
- 3 pieces of H/W: Sensor, actuator + Computing Device
66+
- Connected physically via Ethernet through switch or alike > Votes: 0
67+
- Comment on votes: (1 non-voter)
68+
- Comment: This use case would not necessarily need an OS, but even in this case there are some capabilities we can leverage from the OS. Furthermore, this may be one of several use cases (functionalities) supported by the OS. >> But an OS is implied for the Use-Case!
69+
1470
#### Test
1571

1672
Items to key on
17-
- logging check
18-
- ethernet message check - i.e., socket msg in / out analysis using time criteria
73+
- Logging check
74+
- Ethernet message check - i.e., socket msg in / out analysis using time criteria
1975
- how do we test this, is it extra hardware or application running beside a emulation doing pkt analysis
2076
- log data and post analysis?
2177
- online - build a cicd scenario and get earlier feedback on individual test failure without post-analysis
@@ -25,7 +81,7 @@ Test environment
2581
- start with emulation (is there a limitation in timing because of type of emulation?)
2682
- qemu can we count cycles to see if we can bound it? maybe not realtime
2783
- Architecture of Test Environment:
28-
- Sim/Emulator (Combo of Containers and QEMU)
84+
- Sim/Emulator (Combo of containers and QEMU)
2985
- Here's the components involved and a sequence diagram of dataflow
3086
- (To view these diagrams, make sure your vscode has the Markdown Preview Mermaid Ext - `bierner.markdown-mermaid` or view on Github)
3187

@@ -35,8 +91,8 @@ Test environment
3591
subgraph QEMU_Environment_Unit_Under_Test
3692
direction TB
3793
Ethernet_Bridge
38-
App[2.Cabin Lights Application]
39-
Log[Logging Function]
94+
App[2.Cabin Lights App]
95+
Log[Logging App]
4096
Sensor[1.Switch App]
4197
Actuator[3.Cabin Light]
4298
@@ -65,9 +121,9 @@ Test environment
65121
sequenceDiagram
66122
participant Sensor as Switch
67123
participant Ethernet as Switch Ethernet Bridge
68-
participant App as Cabin Lights Application
124+
participant App as Cabin Lights App
69125
participant Actuator as Cabin Light
70-
participant Log as Logging Function <br> (Syslog)
126+
participant Log as Logging App <br> (Syslog)
71127
participant CheckLog as CoPilot Log <br> Monitor
72128
participant CheckEth as CoPilot Ethernet <br> Monitor
73129
@@ -140,54 +196,6 @@ Emulation How-To
140196
- Start the test apps bound to the right bridge interfaces / IPs
141197
- Start the coPilot app last or have it do all this staging before telling the Switch app to toggle.
142198
143-
144-
145-
146-
147-
### System Architecture
148-
149-
Sensor=Switch; Function=Cabin Light Control; Function=Logging; Actuator=Cabin light (+ notification item in a log)
150-
151-
* Sensor is a switch with two values (on/off)
152-
* Actuator is a light with two states (on/off), when a message is received on Ethernet, it updates its state to match
153-
* Options for assuring comm
154-
* send periodic message of current state
155-
* Or? acknowledge messages from application
156-
* Or? poll both sensor and actuator
157-
* Connectivity is an Ethernet bus (messages can be lost or corrupted)
158-
* Computing platform running an "cabin lights" application
159-
* Cabin Lights Application
160-
* Application is waiting on the switch socket for a message, wakes up when message available
161-
* When awoken,
162-
* application creates a message with new light state and sends on the light socket
163-
* log the event
164-
* yield?, goes back to waiting on switch socket
165-
166-
### Use Case Description
167-
168-
Single computer with single function (="APP")
169-
170-
[SENS] <-[ETH_MAC]-> [APP] <-[ETH_MAC]-> [ACT]
171-
172-
- Presume bidirectional connectivity from computing platform to sensor, and bidirectional connectivity from computing platform to actuator.
173-
- Smart sensor/actor w/ software and stack?
174-
- Best effort scheduling of IO processing that's tested for perceived worst case. (No monitor or scheduler based guarantee other then planned scheduler bandwidth/capacity margin)
175-
- How would a system architecture look like to close the signal/application loop? (7 voters in total)
176-
- Option A:
177-
- Simulate sensor + actuator on the H/W device running the system application (1 application being the cabin application, 2 applications being the simulated sensor + actuator)
178-
- A.1 Communication on software level (no physical ethernet cable) > Votes: 1
179-
- A.2 Communication on hardware level using several network cards connected through H/W Ethernet (i.e. physical network-cable) > Votes: 1
180-
- Thoughts: [Ivan]: Maybe we miss something because its too simplistic
181-
- Option B: > Votes: 4 (SELECTED)
182-
- Sensor + actuator on a general purpose computer as emulation (on non-Aerospace Linux)
183-
- Attention: This probably means no real-time OS on sensor / actuator side
184-
- Application computer w/ real-time Aerospace Linux running the system/cabin application(s)
185-
- Option C:
186-
- 3 pieces of H/W: Sensor, actuator + Computing Device
187-
- Connected physically via Ethernet through switch or alike > Votes: 0
188-
- Comment on votes: (1 non-voter)
189-
- Comment: This use case would not necessarily need an OS, but even in this case there are some capabilities we can leverage from the OS. Furthermore, this may be one of several use cases (functionalities) supported by the OS. >> But an OS is implied for the Use-Case!
190-
191199
### Analysis of required (OS) features
192200
193201
- OS must provide for the application (at least):
@@ -286,7 +294,6 @@ What is the feedback approach / rollout for the use cases?
286294
- cases that require runtime monitoring - watchdog / crc'n / bit checks / etc
287295
- overlay of how containment strategies would apply
288296
289-
290297
## References
291298
292299
### Space Frameworks comparison
@@ -331,4 +338,4 @@ Renode
331338
- "the PolySat software architecture runs entirely on a custom Linux operating system"
332339
- Maybe a group for user feedback for what we define (design, prototype)
333340
- https://www.jpl.nasa.gov/missions/mars-cube-one-marco/
334-
- https://www.asi.it/en/planets-stars-universe/solar-system-and-beyond/liciacube/
341+
- https://www.asi.it/en/planets-stars-universe/solar-system-and-beyond/liciacube/

0 commit comments

Comments
 (0)