Demo page details

Page source code: swe_2_sw_arch.rst

  1{% set page="swe_2_sw_arch.rst" %}
  2{% include "demo_page_header.rst" with context %}
  3
  4.. _SWE2_Software_Architecture:
  5
  6SWE.2 Software Architecture
  7===========================
  8
  9.. swarch:: Lane Detection Subsystem
 10   :id: SWARCH_001
 11   :status: open
 12   :links: SWREQ_001, SWREQ_002, SWREQ_003
 13   :author: ALFRED
 14
 15   Design the software architecture for the Lane Detection Subsystem, including data acquisition, processing, and corrective action modules.
 16
 17   .. uml::
 18
 19      @startuml
 20      class LaneDetection {
 21          + detectLaneMarkings()
 22          + applySteeringCorrection()
 23      }
 24      class CameraInput {
 25          + provideData()
 26      }
 27      class SteeringControl {
 28          + correctSteering()
 29      }
 30      LaneDetection --> CameraInput
 31      LaneDetection --> SteeringControl
 32      @enduml
 33
 34.. swarch:: Adaptive Cruise Control Subsystem
 35   :id: SWARCH_002
 36   :status: open
 37   :links: SWREQ_004, SWREQ_005, SWREQ_013
 38   :author: ALFRED
 39
 40   Define the architecture for the Adaptive Cruise Control Subsystem, integrating distance measurement, speed adjustment, and driver override mechanisms.
 41
 42   .. uml::
 43
 44      @startuml
 45      class AdaptiveCruiseControl {
 46          + measureDistance()
 47          + adjustSpeed()
 48      }
 49      class RadarSensor {
 50          + detectObjects()
 51      }
 52      class SpeedController {
 53          + setSpeed()
 54      }
 55      AdaptiveCruiseControl --> RadarSensor
 56      AdaptiveCruiseControl --> SpeedController
 57      @enduml
 58
 59.. swarch:: Collision Avoidance Subsystem
 60   :id: SWARCH_003
 61   :status: open
 62   :links: SWREQ_006, SWREQ_007, SWREQ_016
 63   :author: ALFRED
 64
 65   Develop the architecture for the Collision Avoidance Subsystem, focusing on predictive analytics, braking control, and vehicle stabilization.
 66
 67   .. uml::
 68
 69      @startuml
 70      class CollisionAvoidance {
 71          + detectCollisionRisk()
 72          + applyEmergencyBraking()
 73      }
 74      class SensorArray {
 75          + collectData()
 76      }
 77      class BrakingSystem {
 78          + applyBrakes()
 79      }
 80      CollisionAvoidance --> SensorArray
 81      CollisionAvoidance --> BrakingSystem
 82      @enduml
 83
 84.. swarch:: Pedestrian Detection Subsystem
 85   :id: SWARCH_004
 86   :status: open
 87   :links: SWREQ_008, SWREQ_017, SWREQ_020
 88   :author: SARAH
 89
 90   Create the architecture for the Pedestrian Detection Subsystem, including detection algorithms, path prediction, and safety prioritization modules.
 91
 92   .. uml::
 93
 94      @startuml
 95      class PedestrianDetection {
 96          + detectPedestrians()
 97          + predictPath()
 98      }
 99      class SensorFusion {
100          + combineData()
101      }
102      class AlertSystem {
103          + triggerAlert()
104      }
105      PedestrianDetection --> SensorFusion
106      PedestrianDetection --> AlertSystem
107      @enduml
108
109
110.. swarch:: Alert Mechanism Framework
111   :id: SWARCH_005
112   :status: closed
113   :links: SWREQ_009, SWREQ_018, SWREQ_014
114   :author: SARAH
115
116   Design the software framework for managing driver alerts, integrating audio, visual, and haptic feedback systems.
117
118   .. uml::
119
120      @startuml
121      class AlertFramework {
122          + sendAudioAlert()
123          + sendVisualAlert()
124          + sendHapticAlert()
125      }
126      class AudioSystem {
127          + playSound()
128      }
129      class VisualSystem {
130          + displayAlert()
131      }
132      class HapticSystem {
133          + provideFeedback()
134      }
135      AlertFramework --> AudioSystem
136      AlertFramework --> VisualSystem
137      AlertFramework --> HapticSystem
138      @enduml
139
140.. swarch:: Emergency Braking Subsystem
141   :id: SWARCH_006
142   :status: closed
143   :links: SWREQ_010, SWREQ_019, SWREQ_015
144   :author: SARAH
145
146   Define the architecture for the Emergency Braking Subsystem, focusing on pedestrian safety, predictive emergency stops, and optimization of braking efficiency.
147
148   .. uml::
149
150      @startuml
151      class EmergencyBraking {
152          + evaluateRisk()
153          + applyBraking()
154      }
155      class RiskAnalyzer {
156          + calculateRisk()
157      }
158      class BrakeController {
159          + controlBrakes()
160      }
161      EmergencyBraking --> RiskAnalyzer
162      EmergencyBraking --> BrakeController
163      @enduml
164
165.. swarch:: Traffic Sign Processing Subsystem
166   :id: SWARCH_007
167   :status: closed
168   :links: SWREQ_021
169   :author: SARAH
170
171   Define the software architecture for speed limit sign processing, covering frame analysis,
172   sign classification, and publishing recognized limits for downstream consumers.
173
174   .. uml::
175
176      @startuml
177      class TrafficSignProcessor {
178          + detectSpeedLimit()
179      }
180      class FrameAnalyzer {
181          + extractCandidates()
182      }
183      class SignClassifier {
184          + classifyLimit()
185      }
186      class LimitPublisher {
187          + publishLimit()
188      }
189      TrafficSignProcessor --> FrameAnalyzer
190      TrafficSignProcessor --> SignClassifier
191      TrafficSignProcessor --> LimitPublisher
192      @enduml
193
194.. swarch:: Blind Spot Monitoring Subsystem
195   :id: SWARCH_008
196   :status: open
197   :links: SWREQ_022, SWREQ_023
198   :author: ALFRED
199
200   Define the software architecture for the blind spot monitoring subsystem, covering
201   radar/camera fusion, zone occupancy tracking, and arbitration with turn signal intent
202   before raising a driver alert.
203
204   .. uml::
205
206      @startuml
207      class BlindSpotMonitor {
208          + updateZoneOccupancy()
209          + evaluateLaneChange()
210      }
211      class RadarTracker {
212          + trackApproachingVehicles()
213      }
214      class SideCameraDetector {
215          + detectAdjacentRoadUsers()
216      }
217      class TurnSignalArbiter {
218          + isLaneChangeIntent()
219      }
220      class WarningEmitter {
221          + raiseBlindSpotAlert()
222      }
223      BlindSpotMonitor --> RadarTracker
224      BlindSpotMonitor --> SideCameraDetector
225      BlindSpotMonitor --> TurnSignalArbiter
226      BlindSpotMonitor --> WarningEmitter
227      @enduml
228
229.. swarch:: Driver Drowsiness Subsystem
230   :id: SWARCH_009
231   :status: open
232   :links: SWREQ_024, SWREQ_025
233   :author: STEVEN
234
235   Define the software architecture for the driver drowsiness subsystem, covering
236   cabin camera capture, per-frame eye-state estimation, drowsiness score aggregation,
237   and emission of progressive driver alerts.
238
239   .. uml::
240
241      @startuml
242      class DrowsinessMonitor {
243          + estimateEyeState()
244          + updateDrowsinessScore()
245          + emitAlert()
246      }
247      class CabinFrameSource {
248          + readFrame()
249      }
250      class EyeStateClassifier {
251          + classifyEyeAspectRatio()
252      }
253      class ScoreAggregator {
254          + aggregateScore()
255      }
256      class AlertEmitter {
257          + raiseDrowsinessAlert()
258      }
259      DrowsinessMonitor --> CabinFrameSource
260      DrowsinessMonitor --> EyeStateClassifier
261      DrowsinessMonitor --> ScoreAggregator
262      DrowsinessMonitor --> AlertEmitter
263      @enduml
264
265.. swarch:: Automated Parking Subsystem
266   :id: SWARCH_010
267   :status: open
268   :links: SWREQ_026, SWREQ_027
269   :author: SARAH
270
271   Define the software architecture for the automated parking subsystem, covering slot
272   recognition from fused ultrasonic and camera input, trajectory planning, and
273   actuator command sequencing during the park maneuver.
274
275   .. uml::
276
277      @startuml
278      class ParkingAssist {
279          + detectSlot()
280          + planTrajectory()
281          + executeManeuver()
282      }
283      class UltrasonicSensor {
284          + readClearances()
285      }
286      class SurroundCameraSource {
287          + readSlotImagery()
288      }
289      class SlotDetector {
290          + rankCandidateSlots()
291      }
292      class TrajectoryPlanner {
293          + computeWaypoints()
294      }
295      class ActuatorBridge {
296          + commandSteeringThrottleBrake()
297      }
298      ParkingAssist --> UltrasonicSensor
299      ParkingAssist --> SurroundCameraSource
300      ParkingAssist --> SlotDetector
301      ParkingAssist --> TrajectoryPlanner
302      ParkingAssist --> ActuatorBridge
303      @enduml

SWE.2 Software ArchitectureΒΆ