
DISSERTATION A SCENARIO-BASED TECHNIQUE TO ANALYZE UML DESIGN CLASS MODELS Submitted by Lijun Yu Department of Computer Science In partial fulfillment of the requirements For the Degree of Doctor of Philosophy Colorado State University Fort Collins, Colorado Spring 2014 Doctoral Committee: Advisor: Robert B. France Indrakshi Ray Sudipto Ghosh Yashwant Malaiya Dan Turk Copyright by Lijun Yu 2014 All Rights Reserved ABSTRACT A SCENARIO-BASED TECHNIQUE TO ANALYZE UML DESIGN CLASS MODELS Identifying and resolving design problems in the early design phases can help reduce the number of design errors in implementations. In this dissertation a tool-supported lightweight static analysis technique is proposed to rigorously analyze UML design class models that include operations specified using the Object Constraint Language (OCL). A UML design class model is analyzed against a given set of scenarios that describe desired or undesired behaviors. The technique can leverage existing class model analysis tools such as USE and OCLE. The analysis technique is lightweight in that it analyzes functionality specified in a UML design class model within the scope of a given set of scenarios. It is static because it does not require that the UML design class model be executable. The technique is used to (1) transform a UML design class model to a snapshot transition model that captures valid state transitions, (2) transform given scenarios to snapshot transitions and (3) determine if the snapshot transitions conform or not to the snapshot transition model. A design inconsistency exists if snapshot transitions that represent desired behaviors do not conform to the snapshot transition model, or if snapshot transitions representing undesired behaviors conform to the snapshot transition model. A Scenario-based UML Design Analysis tool was developed using Kermeta and the Eclipse Modeling Framework. The tool can be used to transform an Ecore design class model to a snapshot transition model and transform scenarios to snapshot transitions. The tool is integrated with the USE analysis tool. ii We used the Scenario-based UML Design Analysis technique to analyze two design class models: a Train Management System model and a Generalized Spatio-Temporal RBAC model. The two demonstration case studies show how the technique can be used to analyze the inconsistencies between UML design class models and scenarios. We performed a pilot study to evaluate the effectiveness of the Scenario-based UML Design Analysis technique. In the pilot study the technique uncovered at least as many design inconsistencies as manual inspection techniques uncovered, and the technique did not uncover false inconsistencies. The pilot study provides some evidence that the Scenario-based UML Design Analysis technique is effective. The dissertation also proposes two scenario generation techniques. These techniques can be used to ease the manual effort needed to produce scenarios. The scenario generation techniques can be used to automatically generate a family of scenarios that conform to specified scenario generation criteria. iii ACKNOWLEDGEMENTS I am thankful to a lot of people who are helpful to me in my life and Ph.D. study. Without their patient help and support, I would not have been able to complete my dissertation. First of all, I owe special thank to my advisor, Dr. Robert B. France for his guidance, inspiration and patience. I am very grateful to his dedication and flexibility when I have to work part-time and later remotely on my research. I would like to thank Dr. Indrakshi Ray for always supporting and advising me. I’d like to thank my research committee members Dr. Sudipto Ghosh, Dr. Yashwant Malaiya and Dr. Dan Turk for their advice. I’d like to thank Dr. Phillip Chapman from the Department of Statistics and Dr. Tao Yue from Simula Research Laboratory for advising me in the pilot study. I would like to thank the National Science Foundation for sponsoring research project "SHF: Small: Scenario-Based Validation of Design Models" under grant #1018711. I’d like to thank Wuliang Sun and Kayle Hoehn for their excellent work in implementing the tool and resolving major issues in implementation. I’d like to thank Mustafa Al-Lail, Mohammed Al-refai and Sai Mandalaparty for their help in the pilot study. I would like to thank the graduate committee and Dr. Dale Grit who accepted me to the Ph.D. program and granted me assistantship. I’d like to thank Carol Calliham for helping me apply to the program. I would like to thank Sharon Van Gorder and all other people in the department who have helped me in my study. Finally, I am grateful to my wife, Li Huang, for her love and support. I thank her for accompanying and encouraging me during my hard time. I’d like to thank our daughter Annie and Emily for giving us a lot of happiness. I’d like to thank my parents for their unselfish love, and my brother and sister for their love and support. iv DEDICATION This dissertation is dedicated to my wife. v TABLE OF CONTENTS CHAPTER 1 ....................................................................................................................................... 1 INTRODUCTION ................................................................................................................................ 1 1.1 Problem Statement ....................................................................................................................................... 1 1.2 Outline of Solution ....................................................................................................................................... 4 1.3 Scope of Research ........................................................................................................................................ 6 1.4 Dissertation Organization ......................................................................................................................... 6 CHAPTER 2 ....................................................................................................................................... 8 BACKGROUND .................................................................................................................................. 8 2.1 The Unified Modeling Language ............................................................................................................. 8 2.2 The Meta-Object Facility ......................................................................................................................... 13 2.3 The Eclipse Modeling Framework and Ecore ................................................................................... 14 2.4 The Kermeta Metamodeling Language ............................................................................................... 15 CHAPTER 3 ..................................................................................................................................... 17 RELATED WORK ............................................................................................................................ 17 3.1 Formal analysis techniques .................................................................................................................... 17 3.2 UML animation and testing .................................................................................................................... 20 3.3 USE and OCLE ........................................................................................................................................... 22 3.4 UML test input and scenario generation ............................................................................................ 22 CHAPTER 4 ..................................................................................................................................... 25 SCENARIO-BASED UML DESIGN ANALYSIS TECHNIQUE ............................................................... 25 4.1 A simple Role-Based Access Control example .................................................................................. 26 4.2 Generating the Snapshot Transition Model ....................................................................................... 29 4.3 Generating Scenario Snapshot Transitions ........................................................................................ 40 4.4 Checking consistency in USE ................................................................................................................. 41 4.5 Algorithm complexity analysis ............................................................................................................... 42 CHAPTER 5 ..................................................................................................................................... 45 IMPLEMENTATION .......................................................................................................................... 45 5.1 Tool architecture ........................................................................................................................................ 45 5.2 The STM Generator and STM Invariant Generator ........................................................................ 48 5.3 The Scenario Generator ........................................................................................................................... 56 5.4 USE consistency check ............................................................................................................................. 61 CHAPTER 6 ....................................................................................................................................
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages149 Page
-
File Size-