
AN ABSTRACT OF THE THESIS OF J-Iuan -Chao Keh for the degree of Doctor of Philosophy in Computer Science presented on July 29. 1991 Title:Comprehensive Support for Developing Graphical. Highly Interactive User Interface Systems A Redacted for Privacy Abstract approved: ed G. Lewis The general problem of application development of interactive GUI applications has been addressed by toolkits, libraries, user interface management systems, and more recently domain-specific application frameworks. However, the most sophisticated solution offered by frameworks still lacks a number of features which are addressed by this research: 1) limited functionality -- the framework does little to help the developer implement the application's functionality. 2) weak model of the application -- the framework does not incorporate a strong model of the overall architecture of the application program. 3) representation of control sequences is difficult to understand, edit, and reuse -- higher-level, direct-manipulation tools are needed. We address these problems with a new framework design calledOregon Speedcode Universe version 3.0 (OSU v3.0) which is shown, by demonstration,to overcome the limitations above: 1) functionality is provided by a rich set of built-in functions organizedas a class hierarchy, 2) a strong model is provided by OSU v3.0 in the form ofa modified MVC paradigm, and a Petri net based sequencing language which together form the architectural structure of all applications produced by OSU v3.0. 3) representation of control sequences is easily constructed within OSU v3.0 using a Petri net editor, and other direct manipulation tools builton top of the framework. In ddition: 1) applications developed in OSU v3.0 are partially portable because the framework can be moved to another platform, and applicationsare dependent on the class hierarchy of OSU v3.0 rather than the operating system of a particular platform, 2) the functionality of OSU v3.0 is extendable through addition of classes, subclassing, and overriding of existing methods. The main contribution of this research is in the design ofan application framework that uses Petri nets as the computational model of data processing inthe synthesized application. OSU v3.0 is the first frameworkto formalize sequencing, and to show that complex GUI applications can indeed be quickly and reliably produced from such a framework. Comprehensive Support for Developing Graphical, Highly Interactive User Interface Systems by Huan-Chao Keh A THESIS submitted to Oregon State University in partial fulfillment of the requirements for the degree of Doctor of Philosophy Completed July 29, 1991 Commencement June 1992 APPROVED: A n 11 Redacted for Privacy Professor of Computer Science in charge of major Redacted for Privacy - Chairman of Department of Computer Science Redacted for Privacy Dean of Graduate Date thesis is presented July 29. 1991 Typed by Huan-Chao Keh for Huan-Chao Keh ACKNOWLEDGEMENTS I would like to express my sincere gratitude to mymajor professor, Dr. T.G. Lewis, for the guidance, support, helpfuldiscussion and encouragement throughout this research. I would also like to thankother members in my Ph.D. committee: Dr. Bella Bose, Dr. Timothy Budd, Dr. BruceD'Ambrosio, and Dr. Susan Stafford for their helpful comments and encouragement. I thank other members of the OSU v3.0development team: Chung-Cheng Luo, Walter Wittel, Chi Lai, Kangho Lee,Fangchen Lin, Tong Li, and Kee Yun Chan for their implementation. I would also like to thank my wife,Chiou-Mey, for putting up with the pressure of my work andfor providing a warm and loving environmentthroughout my Ph.D. study. Lastly, I would like to express mygratitude to my parents and brothers in Taiwan for their support and encouragement TABLE OF CONTENTS 1.Introduction 1 1.1.Graphical User Interface Software is Difficult to Build 1 1.2.The Problem 3 1.2.1.The Need to Increase Functionality and GUI Development Support 5 1.2.2.The Need for Architectural Models and Abstraction Mechanisms 6 1.2.3.Representation of Control Sequences is Difficult to Understand, Edit, and Reuse 7 1.2.4.The Need for a Single Conceptual Graphical Model 8 1.3.The Approach 9 1.3.1.MVC-Based Object-Oriented Application Framework 10 1.3.2.Solid Architectural Model and Abstraction Mechanism 11 1.3.3.Representation of Control Sequences is Easy to Understand, Edit, and Reuse 11 1.3.4.Support for The Development Cycle 12 1.4.The System 13 1.5.Significance of The Work 14 1.6.The Structure of This Thesis 14 References 16 2. A Survey of User Interface Development Tools and Systems 19 2.1.Introduction 19 2.2.Definitions 20 2.3.User Interface Toolkits 22 2.4.User Interface Management Systems 25 2.4.1.Transition Networks 26 2.4.2.Context Free Grammars 28 2.4.3.Events 30 2.4.4.Declarative 32 2.5.Application Frameworks 33 2.6.Interactive Development Systems 36 2.7.Evolution of User Interface Tools and Systems 41 2.8.Conclusion 44 References 46 3. Architecture of OSU v3.0 50 3.1.Introduction 50 3.2.Architecture 50 3.2.1.RezDez 50 3.2.2.Petri Net Editor 52 3.2.3.Graphical Application Builder 52 3.2.4.Browser 53 3.2.5.Simulator 53 3.2.6.Analysis Tools 54 3.2.7.Code Generator 54 4. The OSU Application Framework: A Reusable Design 55 4.1.Introduction 55 4.2.Designing Reusable Designs 58 4.3.Design Objectives 61 4.4.Overview of The MVC-Based OSU Application Framework 63 4.5.The Data Structure Class Library 68 4.6.The Shape Class Library 69 4.7.The Application Framework Classes 70 4.7.1.The Object Class 70 4.7.2.The Controller Class 71 4.7.3.The Model Class 71 4.7.4.The View Class 71 4.7.5.The Application Class 72 4.7.6.The Document and FileDocument Classes 73 4.7.7.The UlObject Class 74 4.7.8.The StdUlObject Class 74 4.7.9.The Pane Class 74 4.7.10. The BasicWindow Class 76 4.7.11. The Command Class 76 4.7.12. The Window Class 77 4.7.13. The Menu Class 78 4.7.14. The MenuBar Class 78 4.7.15. The Palette Class 79 4.7.16. The GraphicsView Class 79 4.7.17. The GraphicsFileDocument Class 80 4.7.18. Other Classes 80 4.8.ExampleDraw: An Example Application 80 4.9.Statistics 82 4.10. OSU Application Framework, MacApp, and ET++ 82 4.10.1. MacApp 83 4.10.2. ET++ 86 4.11. Conclusion 86 References 89 5. Petri-Net-Based Object-Oriented Conceptual Modeling of Graphical Direct-Manipulation User Interface Systems 91 5.1.Introduction 91 5.2.Annotated Petri Nets 94 5.2.1.Places 94 5.2.2.Tokens 95 5.2.3.Transitions 97 5.2.4.Arcs 97 5.2.5.Transition Firing 98 5.2.6.Initial Marking 99 5.2.7.Hierarchy 100 5.3. OSU Model of GUI Applications 100 5.4.Methodology 105 5.5.Examples 108 5.5.1.MiniDraw 108 5.5.2.HIRS 114 5.6.Reachability Graph Analysis 118 References 121 6. Translation of Annotated Petri Nets into Application Framework Based C++ Program 123 6.1.Introduction 123 6.2.The Main Algorithm 124 6.3.Places 125 6.4.Transitions 128 6.5.Input Arcs, Output Arcs, and Messages 131 6.6.An Example 135 7. Conclusion 137 7.1.Current Status of OSU v3.0 137 7.2.The Results 139 7.3.Experience 144 7.3.1.Experience with OSU v3.0 144 7.3.2.Experience with C++ 145 7.4.Future Work on OSU v3.0 147 Bibliography 150 Appendix A. OSU Application Framework-Based C++ Code of ExampleDraw 155 Appendix B. The MiniDraw Program Generated Automatically from the Annotated Petri Net of Fig. 5.4 161 LIST OF FIGURES Eigure Page 2.1 State transition diagram for a partial dialog example 26 2.2 Context free grammar for the example shown in Fig. 2.1 29 3.1 Architecture of OSU v3.0 51 4.1 OSU Application Framework architecture 64 4.2 The OSU Application Framework class hierarchy 65 4.3 Excerpt of the MacApp class hierarchy 66 4.4 Excerpt of the ET-H- class hierarchy 66 4.5 Message sending in our modified MVC architecture 67 4.6 Data structure class hierarchy 69 4.7 Shape library class hierarchy 70 4.8 Hierarchy of panes and views 75 4.9 An example application created using OSU Application Framework 81 5.1 A modal dialog linked to a window containing four views 102 5.2 Petri net representation of Fig. 5.1 without using hierarchy 104 5.3 Petri net representation of Fig. 5.1 using hierarchy 104 5.4 Annotated Petri net representation of MiniDraw 109 5.5 The marking resulting from firing transition tl (INIT) in Fig. 5.4 110 5.6 The marking resulting from firing transition t3 in Fig. 5.5 111 5.7 The marking resulting from firing transition t2 in Fig. 5.6 112 5.8 Petri net representation of an HIRS 115 5.9 Example dialog box in an HIRS 116 5.10Reachability graphs for the Petri net in Fig. 5.8 117 6.1 Algorithm for the translation of an annotated Petri net 124 6.2 Algorithm for the translation of a Window place 126 6.3 Algorithm for the translation of a Menu place 127 6.4 Algorithm for the translation of a ModalDialog place 128 6.5 Algorithm for the translation of a transition 129 6.6 Algorithm for the translation of an INIT transition 130 6.7 Algorithm for the translation of a QUIT transition 131 6.8 Algorithm for the translation of a regular transition 132 6.9 Algorithm for the translation of an input arc 133 6.10Algorithm for the translation of an action message 134 6.11 Annotated Petri net representation of a simple Macintosh application 135 6.12AC-H-program generated Automatically from the Petri net of Fig.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages183 Page
-
File Size-