In modern software systems, software modellers often use different modelling languages and multiple views to describe the characteristics of a complex system. This multi-language system allows modellers to express a specific system characteristic with the most appropriate modelling languages and notations. With the proliferation of independently viii Scholarships & Aid, Gunter Mussbacher (advisor), Jörg Kienzle (advisor), and Christian Ejike Ali (brother) for their funding throughout my doctoral research work. During these years, I was fortunate to be part of the Software Engineering Lab at McGill. I worked with several amazing research students who also contributed significantly to the success of this research work. I express my deepest gratitude to Keheliya Gallaba for his friendship and cooperation, especially at the beginning of my program. Also, I especially want to thank Matthias Schöttle who equally offered detailed guidance, especially, on how to navigate the TouchCORE tool. I would like to thank Aprajita, Marton Bur, Ruchika Kumar, Rijul Saini, Omar Alam, Yanis Hattab, Rohit Verma, and many more for their valuable feedback, friendship, and for welcoming me to their respective laboratories. I would like to express my deep gratitude to my friends and family for their love, support, endurance, and understanding. I especially thank my elder brother Christian Ejike Ali, who oversees most of the funding, especially at the beginning of this program.In addition, I would like to deeply appreciate my wife, who bore a lot of burden because of this program. During this program, my wife was alone in Nigeria taking care of our children for more than two years. I also thank my children for their patience, especially for my inability to be with them as required due to this program.And finally, I want to thank my mother for her support, patience, and understanding throughout my education. She is a small businesswoman, but she often offers great financial support for my pursuit of education.