Overview
Syllabus
Intro
Preface
What is a Software Product Line (SPL) Architecture?
A Software Product Line is NOT
Product Line Adoption and Institutionalization
Speaking from Experience
How Zephyr is being used as an SPL
Costs of a Software Product Line
SPL Core Asset Support: Architecture
SPL Core Asset Support: Software Components Must be designed to be general without a loss of performance must build in support for variation points
SPL Core Asset Support: Test Plans/Cases/Data Must consider variation points and multiple instances of the product line
SPL Core Asset Support: Tools and Processes Must be more robustan required for single product development
SPL Core Asset Support: Project Plans Must be generic or be made extensible to accommodate product variations
SPL Core Asset Support: People, Skills, and Training Must involve training and expertisecentered around the assets and procedures associated with the product line
Assessment: 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
Proposals: Embrace Extensibility (cont) MISRA Dir 3.1 (Required), states
Proposals: 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
Proposals: Embrace Composability Composability means managing boards, drivers, and subsystems so that they can be assembled into a working device without requiring crafting or tuning
Multi-Project Integration Issues: Documentation
Multi-Project Integration Issues: Verification
Multi-Project Integration Issues: Implementation
Multi-Project Integration Issues: Design
Multi-Project Integration Issues: Requirements
Engineering, 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.
Taught by
Linux Foundation