SlideShare a Scribd company logo

Ports-and-Adapters Architecture for Embedded HMI

In my talk at QtGreece 2023, I introduce the ports-and-adapters or hexagonal architecture for embedded HMI. I look at this architecture from a production, testing and team perspective.

1 of 19
Download to read offline
Ports-and-Adapters
Architecture for
Embedded HMIs
Burkhard Stubert
The Specialist in Smart User Interfaces
for Industrial Machinery
Qt Greece, 2023-11-24, Athens
Ports-and-Adapters
Architecture
• De-Facto Standard Architecture
• Motivation: USB Adapters
• Production Perspective
• Testing Perspective
• Team Perspective
Copyright 2023, Burkhard Stubert (burkhard.stubert@embeddeduse.com) 2
Forces Shaping the Architecture
2012
2023?
Copyright 2023, Burkhard Stubert (burkhard.stubert@embeddeduse.com) 3
Operating
Conditions
IoT
Cloud
Machine
Cloud
Providers
Drivers
Agencies
Farmers
Manufacturer
Suppliers
Developers
Designers
Technology
Trends
Market
Trends
Regulations
Slow: Finding Your Best Architecture
Copyright 2023, Burkhard Stubert (burkhard.stubert@embeddeduse.com) 4
All architectures
Good architectures:
Technically sound
Right architectures:
Meeting needs
Successful architectures:
Delivering value
• Takes years
• Needs lot of experience
and trial & error
Fast: De-Facto Standard Architecture
Ports & Adapters
Architecture
Start with de-facto standard
architecture and adapt it!
Copyright 2023, Burkhard Stubert (burkhard.stubert@embeddeduse.com) 5
• Start using now
• Lots of experience built in
• Known to be good, right
and successful
Ports-and-Adapters
Architecture
• De-Facto Standard Architecture
• Motivation: USB Adapters
• Production Perspective
• Testing Perspective
• Team Perspective
Copyright 2023, Burkhard Stubert (burkhard.stubert@embeddeduse.com) 6

Recommended

Embedded System and IoT - ALTEN Calsoft Labs
Embedded System and IoT - ALTEN Calsoft LabsEmbedded System and IoT - ALTEN Calsoft Labs
Embedded System and IoT - ALTEN Calsoft LabsALTEN Calsoft Labs
 
Functional verification techniques EW16 session
Functional verification techniques  EW16 sessionFunctional verification techniques  EW16 session
Functional verification techniques EW16 sessionSameh El-Ashry
 
Resume_DharshanBM
Resume_DharshanBMResume_DharshanBM
Resume_DharshanBMDarshan Bm
 
Hexagonal Architecture: The Standard for Qt Embedded Applications
Hexagonal Architecture: The Standard for Qt Embedded ApplicationsHexagonal Architecture: The Standard for Qt Embedded Applications
Hexagonal Architecture: The Standard for Qt Embedded ApplicationsBurkhard Stubert
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth Pilli
 
ECAD-MCAD Presentation 2011
ECAD-MCAD Presentation 2011ECAD-MCAD Presentation 2011
ECAD-MCAD Presentation 2011Altium
 

More Related Content

Similar to Ports-and-Adapters Architecture for Embedded HMI

Audi - TCU Project - H Schumacher
Audi - TCU Project - H SchumacherAudi - TCU Project - H Schumacher
Audi - TCU Project - H Schumachermfrancis
 
upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00
upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00
upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00Upendra Kancheti
 
upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00
upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00
upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00Upendra Kancheti
 
Traditional vs. SoC FPGA Design Flow A Video Pipeline Case Study
Traditional vs. SoC FPGA Design Flow A Video Pipeline Case StudyTraditional vs. SoC FPGA Design Flow A Video Pipeline Case Study
Traditional vs. SoC FPGA Design Flow A Video Pipeline Case StudyAltera Corporation
 
Design & Simulation With Verilog
Design & Simulation With Verilog Design & Simulation With Verilog
Design & Simulation With Verilog Semi Design
 
Digital Security by Design: Imperas’ Interests - Simon Davidmann, Imperas Sof...
Digital Security by Design: Imperas’ Interests - Simon Davidmann, Imperas Sof...Digital Security by Design: Imperas’ Interests - Simon Davidmann, Imperas Sof...
Digital Security by Design: Imperas’ Interests - Simon Davidmann, Imperas Sof...KTN
 
Improve Time to Market for Industrial Edge Devices
Improve Time to Market for Industrial Edge DevicesImprove Time to Market for Industrial Edge Devices
Improve Time to Market for Industrial Edge DevicesQt
 
Pico-ITX vs. Q7 & SMARC form factors
Pico-ITX vs. Q7 & SMARC form factorsPico-ITX vs. Q7 & SMARC form factors
Pico-ITX vs. Q7 & SMARC form factorsVIA Embedded
 
Embree Ray Tracing Kernels | Overview and New Features | SIGGRAPH 2018 Tech S...
Embree Ray Tracing Kernels | Overview and New Features | SIGGRAPH 2018 Tech S...Embree Ray Tracing Kernels | Overview and New Features | SIGGRAPH 2018 Tech S...
Embree Ray Tracing Kernels | Overview and New Features | SIGGRAPH 2018 Tech S...Intel® Software
 
Ba cnet bldg_auto_solutions_brochure_sb008_a
Ba cnet bldg_auto_solutions_brochure_sb008_aBa cnet bldg_auto_solutions_brochure_sb008_a
Ba cnet bldg_auto_solutions_brochure_sb008_aalfmich
 
Embedded systems introduction
Embedded systems introductionEmbedded systems introduction
Embedded systems introductionmohamed drahem
 
PME 2021 Design & Quote.pptx
PME 2021 Design & Quote.pptxPME 2021 Design & Quote.pptx
PME 2021 Design & Quote.pptxNavedKhan659845
 
Embedded software, hardware design and automation software
Embedded software, hardware design and automation softwareEmbedded software, hardware design and automation software
Embedded software, hardware design and automation softwarePaul Dao
 
John Wiedey resume
John Wiedey resumeJohn Wiedey resume
John Wiedey resumeJohn Wiedey
 
The Story of SNCF Connect - biggest Flutter app in Europe (@FlutterHeroes 2023)
The Story of SNCF Connect - biggest Flutter app in Europe (@FlutterHeroes 2023)The Story of SNCF Connect - biggest Flutter app in Europe (@FlutterHeroes 2023)
The Story of SNCF Connect - biggest Flutter app in Europe (@FlutterHeroes 2023)François
 
“Smarter Manufacturing with Intel’s Deep Learning-Based Machine Vision,” a Pr...
“Smarter Manufacturing with Intel’s Deep Learning-Based Machine Vision,” a Pr...“Smarter Manufacturing with Intel’s Deep Learning-Based Machine Vision,” a Pr...
“Smarter Manufacturing with Intel’s Deep Learning-Based Machine Vision,” a Pr...Edge AI and Vision Alliance
 
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoTUtilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoTPôle Systematic Paris-Region
 

Similar to Ports-and-Adapters Architecture for Embedded HMI (20)

Audi - TCU Project - H Schumacher
Audi - TCU Project - H SchumacherAudi - TCU Project - H Schumacher
Audi - TCU Project - H Schumacher
 
upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00
upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00
upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00
 
upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00
upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00
upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00
 
Karthik-CV
Karthik-CVKarthik-CV
Karthik-CV
 
SVS_Resume
SVS_ResumeSVS_Resume
SVS_Resume
 
Traditional vs. SoC FPGA Design Flow A Video Pipeline Case Study
Traditional vs. SoC FPGA Design Flow A Video Pipeline Case StudyTraditional vs. SoC FPGA Design Flow A Video Pipeline Case Study
Traditional vs. SoC FPGA Design Flow A Video Pipeline Case Study
 
Design & Simulation With Verilog
Design & Simulation With Verilog Design & Simulation With Verilog
Design & Simulation With Verilog
 
Digital Security by Design: Imperas’ Interests - Simon Davidmann, Imperas Sof...
Digital Security by Design: Imperas’ Interests - Simon Davidmann, Imperas Sof...Digital Security by Design: Imperas’ Interests - Simon Davidmann, Imperas Sof...
Digital Security by Design: Imperas’ Interests - Simon Davidmann, Imperas Sof...
 
Atul_T_Biradar_CV
Atul_T_Biradar_CVAtul_T_Biradar_CV
Atul_T_Biradar_CV
 
Improve Time to Market for Industrial Edge Devices
Improve Time to Market for Industrial Edge DevicesImprove Time to Market for Industrial Edge Devices
Improve Time to Market for Industrial Edge Devices
 
Pico-ITX vs. Q7 & SMARC form factors
Pico-ITX vs. Q7 & SMARC form factorsPico-ITX vs. Q7 & SMARC form factors
Pico-ITX vs. Q7 & SMARC form factors
 
Embree Ray Tracing Kernels | Overview and New Features | SIGGRAPH 2018 Tech S...
Embree Ray Tracing Kernels | Overview and New Features | SIGGRAPH 2018 Tech S...Embree Ray Tracing Kernels | Overview and New Features | SIGGRAPH 2018 Tech S...
Embree Ray Tracing Kernels | Overview and New Features | SIGGRAPH 2018 Tech S...
 
Ba cnet bldg_auto_solutions_brochure_sb008_a
Ba cnet bldg_auto_solutions_brochure_sb008_aBa cnet bldg_auto_solutions_brochure_sb008_a
Ba cnet bldg_auto_solutions_brochure_sb008_a
 
Embedded systems introduction
Embedded systems introductionEmbedded systems introduction
Embedded systems introduction
 
PME 2021 Design & Quote.pptx
PME 2021 Design & Quote.pptxPME 2021 Design & Quote.pptx
PME 2021 Design & Quote.pptx
 
Embedded software, hardware design and automation software
Embedded software, hardware design and automation softwareEmbedded software, hardware design and automation software
Embedded software, hardware design and automation software
 
John Wiedey resume
John Wiedey resumeJohn Wiedey resume
John Wiedey resume
 
The Story of SNCF Connect - biggest Flutter app in Europe (@FlutterHeroes 2023)
The Story of SNCF Connect - biggest Flutter app in Europe (@FlutterHeroes 2023)The Story of SNCF Connect - biggest Flutter app in Europe (@FlutterHeroes 2023)
The Story of SNCF Connect - biggest Flutter app in Europe (@FlutterHeroes 2023)
 
“Smarter Manufacturing with Intel’s Deep Learning-Based Machine Vision,” a Pr...
“Smarter Manufacturing with Intel’s Deep Learning-Based Machine Vision,” a Pr...“Smarter Manufacturing with Intel’s Deep Learning-Based Machine Vision,” a Pr...
“Smarter Manufacturing with Intel’s Deep Learning-Based Machine Vision,” a Pr...
 
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoTUtilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
 

Recently uploaded

The Age of AI: Elevating Experiences & Delivering Customer Value!
The Age of AI: Elevating Experiences & Delivering Customer Value!The Age of AI: Elevating Experiences & Delivering Customer Value!
The Age of AI: Elevating Experiences & Delivering Customer Value!ISPMAIndia
 
100 TOOLS TO MEASURE AND ANALYSE YOUR DIGITAL MARKETING EFFORTS
100 TOOLS TO MEASURE AND ANALYSE YOUR DIGITAL MARKETING EFFORTS100 TOOLS TO MEASURE AND ANALYSE YOUR DIGITAL MARKETING EFFORTS
100 TOOLS TO MEASURE AND ANALYSE YOUR DIGITAL MARKETING EFFORTSi-engage
 
Essence of Requirements Engineering: Pragmatic Insights for 2024
Essence of Requirements Engineering: Pragmatic Insights for 2024Essence of Requirements Engineering: Pragmatic Insights for 2024
Essence of Requirements Engineering: Pragmatic Insights for 2024Asher Sterkin
 
SPM 2024 – Overview of and benefits of AI in Product Management
SPM 2024 – Overview of and benefits of AI in Product ManagementSPM 2024 – Overview of and benefits of AI in Product Management
SPM 2024 – Overview of and benefits of AI in Product ManagementISPMAIndia
 
AUTOKEYUNLOCKER-BRANDS-SUPPORT-STANDARD-VERSION.pdf
AUTOKEYUNLOCKER-BRANDS-SUPPORT-STANDARD-VERSION.pdfAUTOKEYUNLOCKER-BRANDS-SUPPORT-STANDARD-VERSION.pdf
AUTOKEYUNLOCKER-BRANDS-SUPPORT-STANDARD-VERSION.pdfAutokey
 
Les02 Restricting and Sorting Data using SQL.ppt
Les02 Restricting and Sorting Data using SQL.pptLes02 Restricting and Sorting Data using SQL.ppt
Les02 Restricting and Sorting Data using SQL.pptDrZeeshanBhatti
 
"Discovery and Delivery through Product IntelliGenAI framework" by Ramkumar A...
"Discovery and Delivery through Product IntelliGenAI framework" by Ramkumar A..."Discovery and Delivery through Product IntelliGenAI framework" by Ramkumar A...
"Discovery and Delivery through Product IntelliGenAI framework" by Ramkumar A...ISPMAIndia
 
The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...
The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...
The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...emili denli
 
OpenChain AI Study Group - North America and Europe - 2024-02-20
OpenChain AI Study Group - North America and Europe - 2024-02-20OpenChain AI Study Group - North America and Europe - 2024-02-20
OpenChain AI Study Group - North America and Europe - 2024-02-20Shane Coughlan
 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...confluent
 
P1 Inspection Types in Municity 5 Smartsheet
P1 Inspection Types in Municity 5 SmartsheetP1 Inspection Types in Municity 5 Smartsheet
P1 Inspection Types in Municity 5 SmartsheetMatthewTHawley
 
Self scaling Multi cloud nomad workloads
Self scaling Multi cloud nomad workloadsSelf scaling Multi cloud nomad workloads
Self scaling Multi cloud nomad workloadsBram Vogelaar
 
App Builder - Hierarchical Data Apps.pptx
App Builder - Hierarchical Data Apps.pptxApp Builder - Hierarchical Data Apps.pptx
App Builder - Hierarchical Data Apps.pptxPoojitha B
 
killingcamp 광고삽입문제 풀이, killingcamp 광고삽입문제 풀이
killingcamp 광고삽입문제 풀이, killingcamp 광고삽입문제 풀이killingcamp 광고삽입문제 풀이, killingcamp 광고삽입문제 풀이
killingcamp 광고삽입문제 풀이, killingcamp 광고삽입문제 풀이ssuser82c38d
 
Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)
Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)
Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)GDSCNiT
 
Product Manager vs Product Owner – Why Do Companies Still Struggle 23 Years A...
Product Manager vs Product Owner – Why Do Companies Still Struggle 23 Years A...Product Manager vs Product Owner – Why Do Companies Still Struggle 23 Years A...
Product Manager vs Product Owner – Why Do Companies Still Struggle 23 Years A...ISPMAIndia
 
maximum subarray ppt for killing camp students
maximum subarray ppt for killing camp studentsmaximum subarray ppt for killing camp students
maximum subarray ppt for killing camp studentsssuser82c38d
 
"Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ...
"Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ..."Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ...
"Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ...ISPMAIndia
 
killingcamp longest common subsequence.pdf
killingcamp longest common subsequence.pdfkillingcamp longest common subsequence.pdf
killingcamp longest common subsequence.pdfssuser82c38d
 
Embracing Change - The Impact of Generative AI on Strategic Portfolio Management
Embracing Change - The Impact of Generative AI on Strategic Portfolio ManagementEmbracing Change - The Impact of Generative AI on Strategic Portfolio Management
Embracing Change - The Impact of Generative AI on Strategic Portfolio ManagementOnePlan Solutions
 

Recently uploaded (20)

The Age of AI: Elevating Experiences & Delivering Customer Value!
The Age of AI: Elevating Experiences & Delivering Customer Value!The Age of AI: Elevating Experiences & Delivering Customer Value!
The Age of AI: Elevating Experiences & Delivering Customer Value!
 
100 TOOLS TO MEASURE AND ANALYSE YOUR DIGITAL MARKETING EFFORTS
100 TOOLS TO MEASURE AND ANALYSE YOUR DIGITAL MARKETING EFFORTS100 TOOLS TO MEASURE AND ANALYSE YOUR DIGITAL MARKETING EFFORTS
100 TOOLS TO MEASURE AND ANALYSE YOUR DIGITAL MARKETING EFFORTS
 
Essence of Requirements Engineering: Pragmatic Insights for 2024
Essence of Requirements Engineering: Pragmatic Insights for 2024Essence of Requirements Engineering: Pragmatic Insights for 2024
Essence of Requirements Engineering: Pragmatic Insights for 2024
 
SPM 2024 – Overview of and benefits of AI in Product Management
SPM 2024 – Overview of and benefits of AI in Product ManagementSPM 2024 – Overview of and benefits of AI in Product Management
SPM 2024 – Overview of and benefits of AI in Product Management
 
AUTOKEYUNLOCKER-BRANDS-SUPPORT-STANDARD-VERSION.pdf
AUTOKEYUNLOCKER-BRANDS-SUPPORT-STANDARD-VERSION.pdfAUTOKEYUNLOCKER-BRANDS-SUPPORT-STANDARD-VERSION.pdf
AUTOKEYUNLOCKER-BRANDS-SUPPORT-STANDARD-VERSION.pdf
 
Les02 Restricting and Sorting Data using SQL.ppt
Les02 Restricting and Sorting Data using SQL.pptLes02 Restricting and Sorting Data using SQL.ppt
Les02 Restricting and Sorting Data using SQL.ppt
 
"Discovery and Delivery through Product IntelliGenAI framework" by Ramkumar A...
"Discovery and Delivery through Product IntelliGenAI framework" by Ramkumar A..."Discovery and Delivery through Product IntelliGenAI framework" by Ramkumar A...
"Discovery and Delivery through Product IntelliGenAI framework" by Ramkumar A...
 
The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...
The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...
The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...
 
OpenChain AI Study Group - North America and Europe - 2024-02-20
OpenChain AI Study Group - North America and Europe - 2024-02-20OpenChain AI Study Group - North America and Europe - 2024-02-20
OpenChain AI Study Group - North America and Europe - 2024-02-20
 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
 
P1 Inspection Types in Municity 5 Smartsheet
P1 Inspection Types in Municity 5 SmartsheetP1 Inspection Types in Municity 5 Smartsheet
P1 Inspection Types in Municity 5 Smartsheet
 
Self scaling Multi cloud nomad workloads
Self scaling Multi cloud nomad workloadsSelf scaling Multi cloud nomad workloads
Self scaling Multi cloud nomad workloads
 
App Builder - Hierarchical Data Apps.pptx
App Builder - Hierarchical Data Apps.pptxApp Builder - Hierarchical Data Apps.pptx
App Builder - Hierarchical Data Apps.pptx
 
killingcamp 광고삽입문제 풀이, killingcamp 광고삽입문제 풀이
killingcamp 광고삽입문제 풀이, killingcamp 광고삽입문제 풀이killingcamp 광고삽입문제 풀이, killingcamp 광고삽입문제 풀이
killingcamp 광고삽입문제 풀이, killingcamp 광고삽입문제 풀이
 
Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)
Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)
Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)
 
Product Manager vs Product Owner – Why Do Companies Still Struggle 23 Years A...
Product Manager vs Product Owner – Why Do Companies Still Struggle 23 Years A...Product Manager vs Product Owner – Why Do Companies Still Struggle 23 Years A...
Product Manager vs Product Owner – Why Do Companies Still Struggle 23 Years A...
 
maximum subarray ppt for killing camp students
maximum subarray ppt for killing camp studentsmaximum subarray ppt for killing camp students
maximum subarray ppt for killing camp students
 
"Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ...
"Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ..."Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ...
"Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ...
 
killingcamp longest common subsequence.pdf
killingcamp longest common subsequence.pdfkillingcamp longest common subsequence.pdf
killingcamp longest common subsequence.pdf
 
Embracing Change - The Impact of Generative AI on Strategic Portfolio Management
Embracing Change - The Impact of Generative AI on Strategic Portfolio ManagementEmbracing Change - The Impact of Generative AI on Strategic Portfolio Management
Embracing Change - The Impact of Generative AI on Strategic Portfolio Management
 

Ports-and-Adapters Architecture for Embedded HMI

  • 1. Ports-and-Adapters Architecture for Embedded HMIs Burkhard Stubert The Specialist in Smart User Interfaces for Industrial Machinery Qt Greece, 2023-11-24, Athens
  • 2. Ports-and-Adapters Architecture • De-Facto Standard Architecture • Motivation: USB Adapters • Production Perspective • Testing Perspective • Team Perspective Copyright 2023, Burkhard Stubert (burkhard.stubert@embeddeduse.com) 2
  • 3. Forces Shaping the Architecture 2012 2023? Copyright 2023, Burkhard Stubert (burkhard.stubert@embeddeduse.com) 3 Operating Conditions IoT Cloud Machine Cloud Providers Drivers Agencies Farmers Manufacturer Suppliers Developers Designers Technology Trends Market Trends Regulations
  • 4. Slow: Finding Your Best Architecture Copyright 2023, Burkhard Stubert (burkhard.stubert@embeddeduse.com) 4 All architectures Good architectures: Technically sound Right architectures: Meeting needs Successful architectures: Delivering value • Takes years • Needs lot of experience and trial & error
  • 5. Fast: De-Facto Standard Architecture Ports & Adapters Architecture Start with de-facto standard architecture and adapt it! Copyright 2023, Burkhard Stubert (burkhard.stubert@embeddeduse.com) 5 • Start using now • Lots of experience built in • Known to be good, right and successful
  • 6. Ports-and-Adapters Architecture • De-Facto Standard Architecture • Motivation: USB Adapters • Production Perspective • Testing Perspective • Team Perspective Copyright 2023, Burkhard Stubert (burkhard.stubert@embeddeduse.com) 6
  • 7. Fast: De-Facto Standard Architecture Copyright 2023, Burkhard Stubert (burkhard.stubert@embeddeduse.com) 7 Computer USB Port USB Adapter (W)LAN CAN BLE RS232 LTE/5G Port hides technology of adapter from computer • USB Port: standard interface • Many USB-to-X adapters • Different companies build adapters
  • 8. Ports-and-Adapters Architecture • De-Facto Standard Architecture • Motivation: USB Adapters • Production Perspective • Testing Perspective • Team Perspective Copyright 2023, Burkhard Stubert (burkhard.stubert@embeddeduse.com) 8
  • 9. Copyright 2023, Burkhard Stubert (burkhard.stubert@embeddeduse.com) 9 Application Core Machine J1939 Machine MQTT Machine Machine Double CANOpen Machine [CAN] Machine UI Acceptance Tests GUI Voice UI Driver [Application Boundary] Camera Driven Ports Driving Ports Accounting HMI Terminal Application Ports-and-Adapters Architecture: Production
  • 10. Definitions 10 Copyright 2023, Burkhard Stubert (burkhard.stubert@embeddeduse.com) Port Interface between Core (inside) and Adapters (outside) 1 Port has 1 or more adapters Adapter uses or implements a port Product Adapter used in product Test Adapter used for testing only Core implements the rules of the business domain a.k.a. business logic Adapter Port depends on Adapter communicates with System Adapter interacts with Person
  • 11. Responsibilities 11 Copyright 2023, Burkhard Stubert (burkhard.stubert@embeddeduse.com) Application Core J1939 Machine MQTT Machine CANOpen Machine Machine UI GUI Voice UI Application Core • Ports hide technology (Qt, SQL, J1939, etc.) used in adapters from core • No adapter code in core • No core code (business rules) in adapters • Ports make core I/O-free • Great for testing • Easily exchange adapters in future • Core & other adapters won’t notice • Core drives definition of ports • Raise abstraction level of ports • Ports belong to core, not vice versa • Adapters depend on ports and core: Never the other way round! • Apply dependency inversion
  • 12. Ports-and-Adapters Architecture • De-Facto Standard Architecture • Motivation: USB Adapters • Production Perspective • Testing Perspective • Team Perspective Copyright 2023, Burkhard Stubert (burkhard.stubert@embeddeduse.com) 12
  • 13. Copyright 2023, Burkhard Stubert (burkhard.stubert@embeddeduse.com) 13 Ports-and-Adapters Architecture: Testing Application Core Machine J1939 Machine MQTT Machine Machine Double CANOpen Machine [CAN] Machine UI Acceptance Tests GUI Voice UI Driver Camera Accounting Driving Ports Driven Ports Test Executable(s)
  • 14. I/O-Free Acceptance Tests for Core 14 Copyright 2023, Burkhard Stubert (burkhard.stubert@embeddeduse.com) Application Core Machine Double Machine UI Acceptance Tests • Replace product by test adapters • Test doubles for driven ports • Test cases for driving ports • Tests mimick how user interacts with application • Tests similar to CLI • Port is bad interface, if tests duplicate code from product adapter: • Abstraction level of port to low • Core depends on adapter code • I/O-free acceptance tests for core • Develop core independently from adpaters – in different teams
  • 15. I/O-Based Tests for System Parts 15 Copyright 2023, Burkhard Stubert (burkhard.stubert@embeddeduse.com) Application Core Machine UI Acceptance Tests DB Double J1939 Machine [CAN] Machine Double Application Core Machine UI Acceptance Tests J1939 Machine [CAN] Machine Double Local DB [WLAN] Accounting Double • Replace test by product adapters • Reduce complexity by keeping some test doubles For system simulation: Introduce simulation adapters
  • 16. Ports-and-Adapters Architecture • De-Facto Standard Architecture • Motivation: USB Adapters • Production Perspective • Testing Perspective • Team Perspective Copyright 2023, Burkhard Stubert (burkhard.stubert@embeddeduse.com) 16
  • 17. Ideal Team Structure 17 Copyright 2023, Burkhard Stubert (burkhard.stubert@embeddeduse.com) • Conways Law: The software architecture always mirrors the team structure. • Inverse Conway Manoeuvre: • First, define the software architecture. • Then, define the team structure as mirror of the software architecture. Map software architecture 1:1 to team structure Core Team UI Team Machine Team Accounting Team • Team responsibilities: • Core team defines ports and owns them • UI team is primary driver • Adapter teams implement ports • Adapter teams build end-to-end solutions • Accounting: client and server • Machine: J1939 adapter layer for all ECUs
  • 18. Supplier Manufacturer Team Structures Shaped by Reality 18 Copyright 2023, Burkhard Stubert (burkhard.stubert@embeddeduse.com) • Not enough developers for 4 teams • First: merge UI into Core team • Then: Accounting team • Avoid merging Machine team Machine Team • Other end developed by external team • Introduce interface on comms link defined and owned by manufacturer • Other end doubled for testing Internal Machine Team Extended Core Team [J1939/CAN] External Machine Team Extended Core Team
  • 19. 🙏 Thank You 🙏 Mail: burkhard.stubert@embeddeduse.com Web: https://embeddeduse.com Newsletter : https://burkhardstubert.substack.com

Editor's Notes

  1. Architecture shaped by its surrounding ecosystem How does the right architecture look? Lead with questions: Question are the same for QtEmSys, but answers differ and have differerent priorities Questions from different perspectives unearth requirements (= answers)
  2. Ignoring architecture leads to BBoM
  3. You see my learning process over the last 25 years. Start with hexagonal architecture as de-facto standard architecture (presumptive architecture). => Reduces the search space! Fairbanks: “Presumptive architectures are usually successful.” Good = efficient Right = effective
  4. Lets transfer the hardware idea into software
  5. Legend for previous slide: Just as reminder for presenter and as reference for audience Core is your core competence and your compettitive advantage! Core is your business!! Adapters support the domain. Never core business!
  6. No core code in adapters (business rules leaking into adapter): When the ignition is on, an accounting job must be running so that the agency can bill the farmer for the work; job stored in DB. -> More than one adapter involved When the motor is running and the driver is not on the seat, the cutting knives must not rotate or the motor must stop. -> differs from OEM to OEM When the ad-blue level is far too low, the UI must show a warning that the motor will automatically be turned off within 10 seconds.
  7. Lets transfer the hardware idea into software
  8. If not enough developers, use double for some adapters and replace it by product adapter later.
  9. Other end = other ECUs of machine, cloud server for accounting