Many years ago, while studying electrical engineering, I have never dreamed that models and modelling would have become a "red thread" in my career. Back then, I preferred to see the world described with formulae (which are also models of a kind). When professors presented their findings using block diagrams, I found these descriptions unattractive and wanted to see more details. However, as soon as I started working as an embedded software engineer and faced the complexity of real systems, stakeholder needs and different mental models of different engineers, I recognised the usefulness of abstraction and of different kinds of (informal) models. I started to use and never stopped, all sorts of different kinds of (software) models to communicate, design, verify and validate.Through this thesis I was able to reflect on the process of modelling and perform research on topics I had already observed in practice, for example, how important it is not to forget what the purpose of a model is or to make sure that all the model reviewers have the same understanding of the problem. I am grateful to my promotor, Roel Wieringa and co-promotor, Angelika Mader, for taking me on this journey with them.Furthermore, I am grateful to colleagues both in research and practice who have been sharing the enthusiasm for modelling techniques and tools and thinking about the process, reflecting what we are doing while modelling and why. Sometimes, in practice, when the goal is to deliver a product, there is no time for this kind of reflection. When we make the time for it, our models and designs become better.Last but not least, I would not have been able to do this work without the support of my family and my circle of close friends that feel like family. Thank you so much! 11 12 11 Conclusion and discussion 11.