Understanding and supporting software design
Rodi Jolak from Syria is a PhD student in the Division of Software Engineering, and the focus for his research is to understand how software architects communicate and collaborate in the software design process. What are their challenges and needs, and what possible solutions are there to support the process?
How would you describe your research area?
– The focus of my research is on software design and modelling, says Rodi Jolak. The goal of my PhD is to understand and support the design activities of software developers.
– To create software systems, analysts first gather the requirements from the customers. Based on the requirements, the architects make design decisions about the structure and behaviour of the software system. The architects also document these decisions by creating architecture views – often UML models. UML stands for "Unified Modeling Language" and is the de facto standard for modelling software systems. The documented design decisions – the models – are then communicated to programmers as guidelines for implementation. When the models are well specified and detailed, then the programmers can use these models to automatically generate code.
– I am interested in understanding how architects communicate and collaborate when they create the design decisions. I investigate design challenges as well as needs, and propose novel solutions to support the process of software design.
How did your interest in doing research start?
– I started thinking of a possible future career as a researcher during my time as a master student, when I at the same time was working in the industry as a software developer. The main reason for my interest was the high degree of freedom you have as a researcher in academia. In industry you are often driven by peoples' decisions and plans, whereas in academia you are the main driver of your decisions and work.
– Another reason for choosing academia is that you in a very tangible way build and strengthen some of your own skills and also gain new skills. You improve your ability to analyse problems and explore and evaluate solutions. You improve your writing and communication skills as you usually collaborate with other researchers. A PhD is a project per se and you definitely become a good project manager. You define your goals and plan how to achieve these goals. You learn how to setup milestones, manage risks, and evaluate your PhD results.
– You also travel a lot in academia, which is something I like. You attend conferences in different countries around the world, meet with experts in the field, talk to them, learn from them, and gain new experiences.
How did you end up as a PhD student in Sweden?
– I was born in Aleppo, Syria. I left the country when I was 19 years old to study for a bachelor's degree in Information Engineering at Politecnico di Milano in Italy. I continued my studies and got a master's degree in Engineering of Computing Systems at the same university. Later, I started looking for PhD positions and found an interesting one at the Division of Software Engineering here in Gothenburg, Sweden. I made an online application and after some time I was contacted by the responsible professor via Skype. I was then invited for a physical interview in Gothenburg and in the end I was luckily enough the chosen one. My PhD position is financed by faculty funding, so my supervisor and I were free to choose the research topic that we wanted to explore and investigate.
What do your future plans look like?
– I have applied for a post-doc position in the same milieu where I am currently working, at the Department of Computer Science and Engineering, joint between Chalmers and University of Gothenburg. I prefer to stay in Sweden since I appreciate the quality of research and life here. The people are respectful, both in academia and outside academia. The services in the University are very good and the administrators are always ready to help you – if you have a question, you get feedback promptly. I cross my fingers that I get the job here in Gothenburg!
Text: Catharina Jerkbrant
PhD student at the Department of Computer Science and Engineering
Research papers – a selection:
- OctoUML: An Environment for Exploratory and Collaborative Software Design
- Model-Based Software Engineering: A Multiple-Case Study on Challenges and Development Efforts
- Does Distance Still Matter? Revisiting Collaborative Distributed Software Design