Allail Colostate 0053A 15099.Pdf (6.319Mb)
Total Page:16
File Type:pdf, Size:1020Kb
DISSERTATION A UNIFIED MODELING LANGUAGE FRAMEWORK FOR SPECIFYING AND ANALYZING TEMPORAL PROPERTIES Submitted by Mustafa Al Lail Department of Computer Science In partial fulfillment of the requirements For the Degree of Doctor of Philosophy Colorado State University Fort Collins, Colorado Summer 2018 Doctoral Committee: Advisor: Robert B. France (deceased) Advisor: Indrakshi Ray Indrajit Ray Idris Samawi Hamid Yashwant K. Malaiya Copyright by Mustafa Al Lail 2018 All Rights Reserved ABSTRACT A UNIFIED MODELING LANGUAGE FRAMEWORK FOR SPECIFYING AND ANALYZING TEMPORAL PROPERTIES In the context of Model-Driven Engineering (MDE), designers use the Unified Modeling Lan- guage (UML) to create models that drive the entire development process. Once UML models are created, MDE techniques automatically generate code from the models. If the models have unde- tected faults, they are propagated to code where they require considerable time and effort to detect and correct. It is therefore mandatory to analyze UML models at earlier stages of the develop- ment life-cycle to ensure the success of the MDE techniques in producing reliable software. One approach to uncovering design errors is to formally specify and analyze the properties that a sys- tem has to satisfy. Although significant research appears in specifying and analyzing properties, there is not an effective and efficient UML-based framework that specifies and analyzes temporal properties. The contribution of this dissertation is a UML-based framework and tools for aiding UML designers to effectively and efficiently specify and analyze temporal properties. In particular, the framework is composed of 1) a UML specification technique that designers can use to specify temporal properties, 2) a rigorous analysis technique for analyzing temporal properties, 3) an opti- mization technique to scale the analysis to large class models, and 4) a proof-of-concept tool. An evaluation of the framework using two real-world studies shows that the specification technique can be used to specify a variety of temporal properties and the analysis technique can uncover cer- tain types of design faults. It also demonstrates that the optimization technique can significantly speed up the analysis. ii ACKNOWLEDGEMENTS All praise goes to Allah the Almighty, the Beneficent the Merciful, for guiding me and blessing me with his favors that have enabled me to reach this milestone in my life. I am truly grateful to many people for their help and support while doing this dissertation. I would not have been able to complete the dissertation without their support and help. I owe special thanks to my late advisor, Dr. Robert B. France, for accepting me to be his Ph.D. student and offering me Graduate Research Assistantship. Dr. France has been a tremendous source of inspiration. He has been very supportive and patient with me through the years. He guided me when I was confused, encouraged me when I was depressed, and inspired me when I did not know what to do. It was a tragedy to me, and to many others, when we lost him. Even though he is no longer with us, he will always be a source of inspiration. I am deeply grateful for his patience, guidance, and support. I would like to express my sincere thanks to my advisor, Dr. Indrakshi Ray, for her untiring support, encouragement, and willingness to always help me. I believe she stands out not only by her scholarship activities, but also by her excellent human characteristics. She always cares for me and all her other students. I am genuinely proud to be her student and I am grateful to her for helping me in many steps through my career. I would like to thank my Ph.D. committee members: Dr. Indrajit Ray, Dr. Geri Georg, Dr. Yashwant K. Malaiya, and Dr. Idris Samawi Hamid for their valuable advice and help. A special thanks goes to Dr. Georg for her invaluable contributions to improve the quality of this dissertation. I also would like to give a special thanks to Dr. Malaiya who not only served n my committee, but also for his invaluable constructive feedback on my teaching when I was a teaching assistant for his class. Special thanks also goes to Dr.Indrajit Ray who wrote me a letter of recommendation to be accepted to the graduate program at CSU. Many thanks goes to Dr. Hamid for being my mentor through the years here at CSU, for great intellectual conversations, and the many favors he has done for me. iii I am also grateful to the faculty of the computer science department who taught me and gave me great advice and constructive feedback throughout the years, especially Dr. Sudipto Ghosh, and Dr. Jim Bieman. I would like to thank the staff of the computer science department, especially Kim, Sharon, and Wendy, for always granting me favors. I would like to extend many thanks to my friends and fellow graduate students at CSU, spe- cially, the members of the Software Engineering and DBSec research groups. Out of them, I would recognize Ramadan Abdulnabi and Wuliang Sun who contributed to and participated in research activities of this dissertation. I thank them for their inspiring discussions and willingness to help in all situations. I would like to extend many thanks to my friends and fellow students from my home country here at CSU. I thank all of them for the great time, vacations, and activities that we spent together. I would like to greatly express my gratitude to my sponsor, the Ministry of Higher Education in the Kingdom of Saudi Arabia, for supporting me and covering my study expenses here in the U.S. Last, but not least, I would like to express my deepest gratitude to my family. I start with my father, Hussain Al Lail, and my mother, Zahraa Al Salah, who raised me to love knowledge and scholarship. Unfortunately, I lost both of them while going through the different stages of the scholarship path. I would like to express my sincere gratitude to all my brothers and sisters for their love, support, encouragement, and doaa. I am especially indebted to my wife, Zainab Al Salah, for her unconditional love, support, sacrifice, and for taking care of our kids while I was away for many hours, days, and weeks, working on this dissertation. Finally, my children: Ali, Mohammed, and Fatima have been the great drive that kept me going. iv DEDICATION To The AWAITED. To The INFALLIBLE FOURTEEN. To my MOTHER and FATHER. To my WIFE and KIDS. To my SISTERS and BROTHERS. To my FRIENDS. v TABLE OF CONTENTS ABSTRACT........................................... ii ACKNOWLEDGEMENTS................................... iii DEDICATION ......................................... v LIST OF TABLES ....................................... ix LIST OF FIGURES....................................... xi Chapter 1 Introduction................................... 1 1.1 Research Context............................... 1 1.2 Problems and Challenges .......................... 4 1.3 Aim and Objectives ............................. 9 1.4 Dissertation Contributions.......................... 13 1.5 List of Publications.............................. 14 1.6 Dissertation Structure ............................ 14 Chapter 2 Systematic Literature Review.......................... 15 2.1 Literature Review and Evaluation Methodology............... 16 2.1.1 Research Questions............................ 16 2.1.2 Search Process............................... 22 2.1.3 Study Inclusion/Exclusion Criteria.................... 23 2.2 Specification Approaches .......................... 24 2.2.1 Survey of the Specification Approaches ................. 25 2.2.2 Evaluation and Discussion of the Specification Approaches . 30 2.3 Analysis Approaches............................. 32 2.3.1 Survey of the analysis Approaches.................... 32 2.3.2 Evaluation and Discussion of the Analysis Approaches ......... 37 2.4 Open Problems and Future Research Directions............... 38 2.4.1 Challenges to integrating specification and analysis ........... 39 2.4.2 Model Transformation Challenges .................... 40 2.4.3 Challenges in Property Specification................... 41 2.4.4 Tooling Challenges ............................ 42 2.5 Chapter Summary .............................. 44 Chapter 3 The Proposed UML Framewrok ........................ 45 3.1 Overview of the Framework......................... 46 3.1.1 The framework design decisions ..................... 46 3.1.2 Motivating Example............................ 48 3.2 The Analysis Technique........................... 50 3.2.1 Step1: Unfolding of the ADCM’s Behavior Figure. 3.4(a) . 51 3.2.2 Step2: Interpreting TOCL as OCL Figure 3.7 .............. 60 3.2.3 Step 3: Analysis. ............................. 61 3.2.4 Step 4: Sequence diagram extraction Figure 3.9.............. 64 vi 3.3 The Property Specification Technique.................... 65 3.3.1 Dwyer’s Property Specification Patterns ................. 66 3.3.2 Dwyer’s Patterns in TOCL and OCL................... 67 3.4 The Optimization Technique......................... 72 3.5 Chapter Summary .............................. 79 Chapter 4 Evaluation.................................... 81 4.1 Research Prototype Tool........................... 83 4.2 The Formal Specification of Generalized Spatio-Temporal Role-Based Ac- cess Control Model.............................. 88 4.2.1 Overview the GSTRBAC Model ..................... 88 4.2.2 Location and Time Representation.................... 90 4.2.3 Effect of Spatio-Temporal Constraints on RBAC Entities . 92 4.2.4 Effect of Spatio-Temporal Constraints on RBAC Operations . 93 4.2.5 Spatio-Temporal