I never got the hang of UML: overly complicated, hard to understand, too close to code. Hence, I was skeptical about C4 diagrams when I… Read More »Visualising the Architecture of Qt Embedded Systems: Context and Container Diagrams
With Team Topologies, Matthew Skelton and Manuel Pais have written a brilliant book how to create a high-performance software development organisation with the best team structure and interaction. Organisations are complex adaptive systems that change as the result of the interactions between their components (e.g., the teams) and the interactions with other systems (e.g., the rest of the organisation, competitors, suppliers, technology and market trends). The resulting changes are hard to predict and hard to control.Read More »Book Review: “Team Topologies” by Matthew Skelton and Manuel Pais
My Talk “Hexagonal Architecture: The Standard for Qt Embedded Applications” at Meeting Embedded 2021
I gave a talk at Meeting Embedded 2021 on 4 November 2021. First, I introduced the hexagonal architecture (a.k.a. ports-and-adapters architecture) in general. Then, I showed a walking skeleton of the architecture for a harvester terminal.Read More »My Talk “Hexagonal Architecture: The Standard for Qt Embedded Applications” at Meeting Embedded 2021
Creating an architecture means answering many questions about the ecosystem, in which the Qt embedded system operates. While the questions are very similar for all Qt embedded systems, the answers and their priorities differ. So, you should be able to transfer the questions and answers from my running example, a harvester terminal, to your system.Read More »My Talk “A Successful Architecture for Qt Embedded Systems” at Qt Day Italy 2021
Our quest for a successful architecture of a harvester terminal continues. In this episode, we discuss when a system with a single application is good enough and when a system with multiple applications and a window manager is the better choice. Sometimes, a single-application system with a window manager is just the right choice.Read More »Architecture of Qt Embedded Systems: Single vs. Multiple GUI Applications
Operator conditions like light, temperature, water, dust and vibration are a rich source for constraints and qualities of a system architecture. They affect the SoC, display and connector selection, the touch gesture recognition, the communication between system components, the cabling, the use of a window manager and more.Read More »Architecture of Qt Embedded Systems: Operating Conditions
Which system-on-chip is best suited for your Qt embedded system? Should you build a custom Linux system with Yocto, use a container OS or a desktop Linux? Should you use Qt Commercial or Qt LGPLv3? How will the system be updated? What are the operating conditions of the system? How does the system communicate with sensors, ECUs and the cloud?
This is only a small selection of the 50+ questions in this post. You best tackle these questions early in the project. Fixing wrong decisions becomes exponentially harder with the duration of the project. Your decisions can make or break a project.Read More »Architecture of Qt Embedded Systems: Getting Started
A fairly common anti-pattern found in Qt applications is to derive a class MyApplication from QApplication and to have it hand out pointers to a… Read More »Breaking Dependency Cycles in Qt Applications
In a recent blog post, I suggested to replace multiple display computers in a driver cabin by one computer in a silver box with multiple displays. I didn’t specify which connectors and cables to use between computer and displays. I found the answer at Electronica 2018 last week: High-Speed-Data or HSD connectors. You can use HSD connectors for LVDS (including Display Port), APIX, CAN, USB 2.0, USB 3.0, Ethernet and Firewire.
Read More »High-Speed-Data (HSD) Connectors in Heavy-Duty Vehicles