Evolving Intentions: Support for Modeling and Reasoning About Requirements That Change Over Time
Total Page:16
File Type:pdf, Size:1020Kb
Evolving Intentions: Support for Modeling and Reasoning about Requirements that Change over Time by Alicia M. Grubb A thesis submitted in conformity with the requirements for the degree of Doctor of Philosophy Department of Computer Science University of Toronto c Copyright 2019 by Alicia M. Grubb Abstract Evolving Intentions: Support for Modeling and Reasoning about Requirements that Change over Time Alicia M. Grubb Doctor of Philosophy Department of Computer Science University of Toronto 2019 In early-phase requirements engineering, modeling stakeholder goals and intentions helps stakeholders understand the problem context and evaluate tradeoffs, by exploring possible \what if" questions. Prior research allows modelers to make evaluation assignments to desired goals and generate possible selec- tions for task and dependency alternatives, but this treats models as static snapshots, where once the evaluation of the fulfillment of an intention is determined, it remains constant. Using these techniques stakeholders are unable to reason about possible evolutions, leaving questions about project viability unanswered when the fulfillment of goals or availability of components is not guaranteed in the future. In this dissertation, we propose Evolving Intentions: a framework for specifying, modeling, and reasoning about goals that change over time, enabling stakeholders to explore model evolution. We present Evolving Intentions in the context of both the i* and Tropos goal modeling languages. We specify a set of functions that define how intentions and relationships evolve, and use simulation strategies for asking a variety of \what if" questions about such changes. We present GrowingLeaf and BloomingLeaf , two web-based goal modeling and analysis tools that implement this technique for iStar and Tropos models, respectively. Using the development of Grow- ingLeaf as an example, we demonstrate that this technique is effective for debugging goal models and answering stakeholder questions, and show the analysis to be scalable for representative goal models. We describe a between-subjects controlled experiment that empirically validated the effectiveness of our approach and tool usability. We also report on the applicability and effectiveness, of our technique on a substantial case, where we use historical data and rational reconstruction to understand how a project evolved in the past, and explore alternative futures. ii Acknowledgements I feel incredibly fortunate to have been supervised by Marsha Chechik over the past five years. Marsha taught me to think about my thinking and critically examine everything. She helped me confront my demons and compelled me to gain expertise in unexpected areas. Marsha championed my research and was my keeper in difficult times. I sincerely appreciate her unwavering commitment to my academic development and to this dissertation. Thank you Marsha for this transformative experience! I am grateful for all those who contributed to this dissertation. I would like to thank my examination committee for supporting my process, asking the right questions, and giving helpful feedback at every stage: Betty H.C. Cheng, Ren´eeJ. Miller, John Mylopoulos, and Eric S. Yu. I would also like to thank my collaborators and those who gave feedback on early drafts: Daniel Amyot, Jeffrey S. Castrucci, Fabiano Dalpiaz, Jennifer Horkoff, and Gunter Mussbacher. I was privileged to study in a community of strong scholars who showed passion for both their research and teaching. I am thankful for the personal growth and mentoring opportunities I have had over the years and for my mentors: Joanne M. Atlee, Andrew Begel, Christina Christara, Angela Demke Brown, Sven Dickinson, Steve M. Easterbrook, Faith Ellen, Tom Fairgrieve, Diane Horton, Vijay Ganesh, Sheila McIlraith, Karen Reid, Khai Truong, Todd L. Veldhuizen, Robert Vipond, Andrea Williams, and Mathew Zaleski. Additionally, in completing this dissertation, I felt very supported by fabulous administrative staff: Lynda Barnes, Marina Haloulos, Sarah Lavoie, Joseph Raghubar, Alan Rosenthal, Lloyd Smith, and Ingrid Varga. I would like to thank Michalis Famelis for believing in me and cheering me on at every step. I am grateful to Jocelyn Simmonds for modeling authenticity and integrity. I appreciate Zachary Kincaid for his sincerity and sense of humour in explaining important concepts to me. Federico Mora helped me supervise students and kept things interesting by spawning fruitful debates. L.S. Nick Fung repeatedly came to my aid by copy editing important documents. Yi Li taught me to always finish strong. I am grateful for the six-month-club for keeping me accountable to my goals with our Friday reports, and empathizing whenever I needed support: Emily J. Clare, Clarissa Forbes, Alexandra Motut, and Tomohiro Yokoyama. As part of the Dynamics of Global Change Collaborative Program, I had the pleasure of contemplating wicked problems and learning from those in other disciplines: Keita Demming, Andre R. Erler, Will Greaves, Tim Lang, and Jennie Phillips. I would also like to thank Allison Enright and Christopher Eagle for bouncing ideas around with me about writing in computer science. I am grateful to my many colleagues in the Department of Computer Science. As peers you shared in the ups and downs of graduate school, taught me many life lessons, challenged my wacky ideas and were party to my merriment: Mohammad Ahmadi Danesh, Aws Albarghouthi, George Amvrosiadis, Jorge Aranda, R. Benett Axtell, Zia Babar, Alessio Di Sandro, Cynthia Disenfeld, Golnaz Elahi, Neil Ernst, Hesam Esfahani, Dustin Freeman, Daniel Fryer, Jonathan Eidelman, Phillipa Gill, Bahar Ghadiri Bashardoost, Sahar Kokaly, Aamod Kore, J¯anisL¯ibeks, Jonathan Lung, Mike Maksimov, Lev Naiman, Soroosh Nalchigar, Victor Nicolet, Nan Niu, Peter O'Donovan, Vik Pant, Elizabeth A. Patitsas, Niloofar Razavi, Julia Rubin, Rick Salay, Mahsa Sadi, Ramy Shahin, Ioanna Stavropoulou, Ioan Stefanovici, Anya Tafliovich, Patricia Thaine, and Chenguang Zhu. iii Erich Welz put the life in work-life balance by ensuring that I stayed grounded, exercised, experienced nature, and explored the city. I am grateful for the encouragement of my friends near and far. Whether late night conversations before deadlines or finding time for tea and checkins, I appreciate how you sustained me: Okhaide Akhigbe, Kaitlin Alexander, Sintia Bejatovic, Annemarie Brissenden, Antonio Carito, Jason Carter, Natalie Crain, Liane F. Daiter, Patricia DeHart, Kathleen Gaudet, Matthew Graf, Megan Grant, Kristopher Gurnsey, Derek Hans, Vega Janic, Fatima Kamenge, Bryan Keith, Anne Keller, Levi McCulloch, Angus McQuarrie, Sabrina Paez-Parent, Oliver Romaniuk, Julian Spillane, Justin Tobia, Neeti Wagle, Kai Wallace, Leah Weller, and Andrew Zamojc. My support network kept me in physical and mental health enabling me to focus on research: Allison Burges, Scott Clark, Susan Harrison, David Lowe, John Molot, Sian Owen, Helen Slade, Becky Smith, and Roderick J. Walker. I acknowledge that this research was hosted on the lands of the Mississaugas of the Anishinaabe, the Haundenosaunee Confederacy and the Wendat, and I want to recognize the enduring presence of all First Nations, M´etisand the Inuit peoples. I would like to acknowledge the Department of Computer Science at the University of Toronto for supporting my studies. Bell Canada, Google, Huawei, the Kappa Kappa Gamma Foundation, and the Kappa Kappa Gamma Foundation of Canada provided funding for my research and studies through scholarships, while CRA-W, Microsoft, and SIGSOFT provided travel funding for me to attend confer- ences and workshops. Finally, I would like to thank my family. I am grateful to my parents, Gerard & Marilyn, for supporting me on this long journey and answering my many inquiries. My grandmother Martina inspired me to seek the highest level of education, I am so glad she stuck around to see me through. Happy 101st Birthday Grandma! Thank you to the rest of my family for giving me space to focus and reminding me of the beauty of the seasons, specifically Alex, Ben, Felix, Isaac, Josh, Laura, Lisa, Martina, Nora, Rita, and last but certainly not least Simon. Thank you! iv Contents List of Tables viii List of Figures ix List of Algorithms xi List of Theorems and Definitions xii I Motivation & Prior Work1 1 Introduction 2 1.1 Preface..............................................2 1.1.1 Behavioural Systems...................................2 1.1.2 Designing for Anticipated Behavioural Changes....................3 1.1.3 Designing for Anticipated Structural Changes.....................3 1.2 Decision Making in Early Requirements............................3 1.2.1 Motivating Example I: Waste Management Example (WME) in iStar.......4 1.2.2 Motivating Example II: Bike Lanes Example (BLE) in Tropos............6 1.2.3 Gaps Identified In This Dissertation..........................7 1.3 Contributions...........................................8 1.3.1 Modeling Evolving Intentions..............................9 1.3.2 Reasoning with Evolving Intentions..........................9 1.3.3 Tool Support for Modeling and Reasoning....................... 10 1.3.4 Validating Modeling, Reasoning, and Tooling..................... 10 1.4 Thesis Organization....................................... 11 2 Preliminaries 12 2.1 iStar Syntax and Semantics................................... 12 2.1.1 iStar Overview By Example............................... 13 2.1.2 Model Syntax....................................... 13 2.1.3 Intention Evaluation..................................