FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process...
Transcript of FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process...
![Page 1: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/1.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
Software Product Lines
FROM COMPILER SWITCHES TO STRATEGIC REUSE
Pär Hammarström 2015-10-16
![Page 2: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/2.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
ABOUT ME
• Systems Architect and Development Manager
• 20+ years experience of Product Development
• Consultant, Development Manager, Product Manager
• Telecom, Automotive, ERP, Aerospace&Defence
• 4 in a row @Devlin
2
Pär Hammarström SAAB Aeronautics
073 418 0173
![Page 3: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/3.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
SOFTWARE AT WORK
3
![Page 4: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/4.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
SOFTWARE PRODUCT LINES
4
![Page 5: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/5.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
![Page 6: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/6.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
![Page 7: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/7.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
![Page 8: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/8.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
#ifdef
![Page 9: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/9.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
#include <stdio.h> int main() { #ifdef PRODUCT_A char foo[] = “Welcome"; #else char foo[] = "Hello"; #endif /* PRODUCT_A */ #ifdef PRODUCT_B char foo[] = “Beautiful"; #endif /* PRODUCT_B */ #ifdef PRODUCT_C char foo[] = “Grey"; #endif /* PRODUCT_C */ #ifdef PRODUCT_D char foo[] = “Goodbye"; #endif /* PRODUCT_D */ char bar[] = "World!"; printf("%s %s\n", foo, bar); return 0; }
![Page 10: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/10.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
Explore
Variability & Commonality to achieve
Economy of Scale
STRATEGIC REUSE
![Page 11: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/11.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
SOFTWARE PRODUCT LINES
11
![Page 12: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/12.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
COMMONALITY & VARIABILITY
12
![Page 13: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/13.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
HOW MANY COMBINATIONS?
13
![Page 14: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/14.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
HOW MANY COMBINATIONS?
14
![Page 15: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/15.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
VERIFICATION HELL?
15
![Page 16: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/16.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
VARIABILITY * COUPLING = COMPLEXITY
16
![Page 17: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/17.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
![Page 18: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/18.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
BIG BALL OF MUD
18
• Conway’s Law
‒ "organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations“
• Leads to Cohesion principle
‒ ”my module is where I put my code”
HMI
Services
HW abstraction
![Page 19: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/19.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
EXAMPLE
Equipment
Equipment
controller
Gateway
Consumer (1)
Consumer (2)
Producer (3)
HMI
(screen)
HMI
(framework 1)
HMI
(framework 2)
HMI
(framework 3)
Producer
Functional
Monitoring
CBIT
Time
Server
![Page 20: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/20.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
EXAMPLE
Equipment
Equipment
controller
Gateway
Consumer (1)
Consumer (2)
Producer (3)
HMI
(screen)
HMI
(framework 1)
HMI
(framework 2)
HMI
(framework 3)
Producer
Functional
Monitoring
CBIT
Time
Server
![Page 21: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/21.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
STATE OF THE INDUSTRY?
21
![Page 22: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/22.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
START WITH THE BUSINESS
Problem Space Solution Space
Domain
Engineering
Application
Engineering
Specification of the
configuration
Variablity definition from
a customer point of view
Items and parameters
Structure and rules
(Variation Points &
Variability Guide)
![Page 23: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/23.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
ARCHITECTURE IS KEY
Tightly coupled system drives Integration- and Process centric Approach
‒More or less centralized synchronization of design
‒Dealing with ripple effects
Loosely coupled system enables Composition and Architecture centric Approach
‒Architecture for composition and eco-systems
‒Backward compability
![Page 24: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/24.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
CORE PROBLEM – UNDERSTAND YOUR VARIABILITY
• Essential
‒ Inherent in the problem domain
‒ Differentiation is competitive advantage
• Accidental
‒ Technical debt
‒ Organization
![Page 25: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/25.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
DECOUPLING STRATEGY
25
![Page 26: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/26.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
PATTERN – FACTORY (DDD)
26
![Page 27: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/27.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
PATTERN – MODULE SPLIT
27
![Page 28: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/28.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
PATTERN – SELF CONTAINMENT
28
![Page 29: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/29.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
PATTERN – PARAMETERS
29
![Page 30: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/30.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
TREND: BUILD TIME -> RUN TIME
30
![Page 31: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/31.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
ORGANIZATIONAL DECOUPLING
31
May June July August September
Project X
R 1
Project Y
Project Z
Platform R 2
Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Sprint 7 Sprint 8 Sprint 9 Sprint 10
R 2 Proposal R 2 Freeze
R 2 Prestudy
System Test
Certification
Platform update
Design Review
![Page 32: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/32.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab
QUESTIONS?
![Page 33: FROM COMPILER SWITCHES TO STRATEGIC REUSE · Tightly coupled system drives Integration- and Process centric Approach ‒More or less centralized synchronization of design ‒Dealing](https://reader033.fdocuments.us/reader033/viewer/2022042302/5ecd4cd4bdf3a53aec2fa8ed/html5/thumbnails/33.jpg)
PUBLIC| NOT EXPORT CONTROLLED | NOT CLASSIFIED
Pär Hammarström| | Issue 1.0 | © Saab