Professional Documents
Culture Documents
Discrepancy
Analysis
Group Beyond
Agenda
01 02 03
Conceptual & Concrete Reflexion Analysis and Conceptual & Concrete
(Top-level subsystems) Discrepancies (Chosen subsystem)
(Top-level subsystems)
04 05 06
Reflexion Analysis and Revised Conceptual Concurrency Effects
Discrepancies Diagram
(Chosen subsystem)
07 08
Limitations & Q&A
Lessons Learned
01
Conceptual vs Concrete
TOP-LEVEL SUBSYSTEMS
Conceptual
Concrete
02
Reflexion Analysis
TOP-LEVEL SUBSYSTEMS
Process of Reflexion Analysis
● Compare the conceptual Architecture to the Concrete Architecture Diagram and look for gaps between them.
● We then investigate these unexpected dependencies by posing various questions to understand the rationale for
● We need to determine if there are any good reasons for such a dependency to exists, or if the dependency is due
● The questions are which source code files were changed, who made the changes and when, and most
● These questions are answered by looking the the source control system’s commit logs for the files that are
Which?
01 locationd.h (locationd) → sensord.h (sensord) - PR: #25714
Who?
02 adeebshiladeh (senior dev), gast04, pdOwm, and sshane (3 third-party developers)
When?
03 September 29, 2022
Why?
04 The developers added the dependency to alter the “reading sensors via interrupts
instead of polling”.
System, Logging, and
#2 Miscellaneous services
Sensors & Actuators
Which?
01 cameraview.h (ui) → camera_common.h (camerad) - PR #23133
Who?
02 deanlee
When?
03 December 6, 2021
Why?
04 The developer added the dependency to “clean up includes” in the header file during
the process of “move rest of NVG to Qt”
03
Conceptual vs Concrete
CHOSEN SUBSYSTEM: System, Logging, and Miscellaneous Services
Conceptual
Concrete
04
Reflexion Analysis
CHOSEN SUBSYSTEM: System, Logging, and Miscellaneous Services
Reflection Model
Discrepancies
IN SYSTEM, LOGGING, AND MISCELLANEOUS SERVICES
#1 UI QR (tools)
Which?
01 The UI subsystem was found to be dependent on the QR code
generation module.- PR: #21755
Who?
02 sshane and adeebshiladeh
When?
03 July 28, 2021
Why?
04 To aid in the pairing of the device with a mobile application for prime subscription
services. The QR code simplifies complex setup steps, aims to increase user engagement
and reduce the potential for user error during the manual entry of setup information.
#2 Replay UI
Which?
01 This dependency surfaced within the selfdrive/ui/replay and
tools/replay directories of the openpilot project. PR#24971
Who?
02 Developer deanlee indicating a restructuring of the project directories as per the commit history.
When?
03 Jun 28, 2022
Why?
04 The rationale could be to decouple the replay functionality from the UI to make it more modular and
aligned with a tools-based approach. This decoupling might be beneficial for cleaner architecture,
easier maintenance, independent scalability, and potentially more straightforward use in CI/CD
pipelines.
05
Revised Conceptual
Diagram
TOP-LEVEL SUBSYSTEMS AND CHOSEN SUBSYSTEM
Revised Conceptual
06
Concurrency Effects
Effects of Concurrency & Team Issues
Benefits of concurrency within a team:
- Increased productivity
- Optimized resource utilizations
- Faster time to market
Team Issues:
- Integration risks
- Coordination Challenges
- Can cause unexpected dependencies
07
Limitations & Lessons
Learned
Limitations of research
- Community Developed Project
- Fragmented Documentation
- No Sticky Notes
Group Beyond