Field Report: Setting up a Software Product Line (SPL) Architecture based on Zephyr
summary
Argues Zephyr can serve as the basis for a secure IoT software product line and reports a working prototype built by forking and extending many projects into over 50 repositories with one proprietary manifest repo, using Zephyr 2.6.0, module.yaml and twister/ztest for builds and tests, and Zephyr docs for traceability. Cites an HP SPL that supported 400 developers and a historical example where a new model firmware was assembled in 30 minutes. Recommends CI verify module extensions, workspace-level docs, and config overlay locations.
AI-written summary · about
chapters (24)
- 0:00Intro
- 0:42Preface
- 2:55What is a Software Product Line (SPL) Architecture?
- 4:09A Software Product Line is NOT
- 6:40Product Line Adoption and Institutionalization
- 7:26Speaking from Experience
- 11:51How Zephyr is being used as an SPL
- 17:54Costs of a Software Product Line
- 18:57SPL Core Asset Support: Architecture
- 21:33SPL Core Asset Support: Software Components Must be designed to be general without a loss of performance must build in support for variation points
- 24:02SPL Core Asset Support: Test Plans/Cases/Data Must consider variation points and multiple instances of the product line
- 25:24SPL Core Asset Support: Tools and Processes Must be more robustan required for single product development
- 27:06SPL Core Asset Support: Project Plans Must be generic or be made extensible to accommodate product variations
- 28:16SPL Core Asset Support: People, Skills, and Training Must involve training and expertisecentered around the assets and procedures associated with the product line
- 31:27Assessment: What is needed for SPL Best Practice? Starting with Zephyr v2.6.0 functionality • Embrace Extensibility . How is each aspect of the ecosystem impacted by module
- 34:55Proposals: Embrace Extensibility (cont) MISRA Dir 3.1 (Required), states
- 36:14Proposals: Embrace Life REUSE Live REUSE includes topologies where the Zephyr repository is just another module in the workspace • Proposal The Zephyr document generation tools support workspace-level content coming from the manifest repository
- 37:28Proposals: Embrace Composability Composability means managing boards, drivers, and subsystems so that they can be assembled into a working device without requiring crafting or tuning
- 40:32Multi-Project Integration Issues: Documentation
- 41:36Multi-Project Integration Issues: Verification
- 43:56Multi-Project Integration Issues: Implementation
- 46:19Multi-Project Integration Issues: Design
- 48:44Multi-Project Integration Issues: Requirements
- 50:25Engineering, the Path Forward Software Product Line is the current best practice model for what we are trying to achieve with rouse of Copen source software in embedded systems.
related talks
32mArchitecting an IoT Product Line: Part 1 - Scoping
35mBoosting Product Development With the Zephyr RTOS – a Critical Reflection
16mKeynote: The Rise of Frameworks in Zephyr: From Devices to Subsystems to Frameworks
15mLightning Talk: A Reusable Zbus Based Architecture, Abstracting Core Application Components
43mGoing West: How We Develop and Maintain a Zephyr-based Microcontroller SDK
27mInsights on the Re-Architecting to a Single Codebase, Running on Different Hardware...
41mFuture of Zephyr Device Model
15mIs the Zephyr Device Tree Too Complicated?
