Modeling
One model with five layers: requirements including hazards and safety goals, logical functions, software, hardware and tests. The layers reference each other directly, so there is nothing to synchronize between tools. Each layer has its own diagrams, and the model can be edited in any order.
The modeling language is deliberately narrow. It follows typical embedded control patterns: time-triggered and event-driven activation, signal-based communication, state-dependent execution and explicit hardware mapping. What is handled well elsewhere stays outside: product variants, versioning, the internal logic of software units and test execution.