Graphical User Interfaces As Updatable Views
Total Page:16
File Type:pdf, Size:1020Kb
Portland State University PDXScholar Dissertations and Theses Dissertations and Theses 2009 Graphical User Interfaces as Updatable Views James Felger Terwilliger Portland State University Follow this and additional works at: https://pdxscholar.library.pdx.edu/open_access_etds Part of the Computer Engineering Commons, and the Computer Sciences Commons Let us know how access to this document benefits ou.y Recommended Citation Terwilliger, James Felger, "Graphical User Interfaces as Updatable Views" (2009). Dissertations and Theses. Paper 2671. https://doi.org/10.15760/etd.2672 This Dissertation is brought to you for free and open access. It has been accepted for inclusion in Dissertations and Theses by an authorized administrator of PDXScholar. Please contact us if we can make this document more accessible: [email protected]. DISSERTATION APPROVAL The abstract and dissertation of James Felger Terwilliger for the Doctor of Philosophy in Computer Science were presented on November 26, 2008, and accepted by the dis- sertation committee and the doctoral program. COMMITTEE APPROVALS: Lois Delcambre, Chair David Maier Leonard Shapiro Andrew Black Robert Bertini Representative of the Office of Graduate Studies DOCTORAL PROGRAM APPROVAL: Wu-Chi Feng, Director Computer Science Ph.D. Program ABSTRACT An abstract of the dissertation of James Felger Terwilliger for the Doctor of Philosophy in Computer Science presented November 26, 2008. Title: Graphical User Interfaces as Updatable Views In contrast to a traditional setting where users express queries against the database schema, we assert that the semantics of data can often be understood by viewing the data in the context of the user interface (UI) of the software tool used to enter the data. That is, we believe that users will understand the data in a database by seeing the labels, drop- down menus, tool tips, help text, control contents, and juxtaposition or arrangement of controls that are built in to the user interface. Our goal is to allow domain experts with little technical skill to understand and query data. In this dissertation, we present our GUi As View (Guava) framework and describe how we use forms-based UIs to generate a conceptual model that represents the infor- mation in the user interface. We then describe how we generate a query interface from the conceptual model. We characterize the resulting query language using a subset of relational algebra. 2 Since most application developers want to craft a physical database to meet desired performance needs independent of the schema used by the user interface, we subse- quently present a general-purpose schema mapping tool called a channel that can be configured by instantiating a sequence of discrete transformations. Each transformation is an encapsulation of a physical design decision or business logic process. The channel, once configured, automatically transforms queries from our query interface into queries that address the underlying physical database, similar to a view. The channel also trans- forms data updates, schema updates, and constraint definitions posed against the chan- nel’s input schema into equivalent forms against the physical schema. We present formal definitions of each transformation and properties that must be true of transformations, and prove that our definitions respect the properties. GRAPHICAL USER INTERFACES AS UPDATABLE VIEWS by JAMES FELGER TERWILLIGER A dissertation submitted in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY in COMPUTER SCIENCE Portland State University 2009 i DEDICATION To Allison and Kathleen, who travel the path with me ii ACKNOWLEDGEMENTS My first thanks, of course, go to my advisor Lois Delcambre. She has been everything I could want in a mentor and a friend — helping to take small rough ideas and refine them into something worthwhile, willing to listen to me ramble on through an idea only to realize I’ve just proven the opposite of my point, able to see my vision almost as fast as it comes into my head. She took a student with a bizarre sense of humor and an uncertain idea of what it means to do research and helped him find faith in himself. With Lois, there is no such thing as failure — only an opportunity: to learn, or to get angry, or to find a new audience, but always to make something better. To Dave Maier, I give my apologies — no human should have to endure as many puns as I produce. I also give my thanks, for his guidance over the past five years, but most of all, for creating this family that we call Datalab. I can only hope that my work will help carry on this legacy of which we are all so proud. My profound apologies also go to Andrew Black and Rob Bertini, members of my committee who have my thanks for having to read the many tables of formalism con- tained in this dissertation, and whose input have been invaluable. Len Shapiro has a unique ability to ask piercing questions and provide logical coun- terexamples for what seems like hours on end, even when it becomes clear that he ac- tually fully agrees with you — all because every opportunity to defend an idea is an opportunity to explore its boundaries. I will always be grateful for my conversations iii with him. For five years, I have had the privilege of working with an outstanding team of database researchers. To Dave Archer, Nick Rayner, Susan Price, Jin Li, Bill Howe, Sun Murthy, Vassilis Papadimos, Laura Bright, and Kristin Tufte, I give my thanks for our friendly discussions over reading group and for being a sounding board for ideas. To my good friend and cube mate Rafael de Jesus Fernandez Moctezuma, thanks for showing me that the best way forward is full speed, regardless of whether I must leave a James-shaped hole in the wall to do it. To the students of Portland State University, thank you for letting me be your teacher. Six times have I had the privilege to work with you, and six times have I had the oppor- tunity to learn what it is like to see the same new idea from so many different vantage points. To Judy Logan, Jennifer Holub, Nora Mattek, Reid Keil, Chris Newcombe, and the rest of the staff at the Clinical Outcomes Research Initiative, I give my profound thanks for letting me be a part of their team and conduct research by actually performing software development on their live code. A special thanks to Judy for being part advisor, part friend, and part wake-up call if an idea was just too far out there. Over the nearly three years since the first lines of Guava code were written, I’ve had the privilege of working with a number of Masters’ students. Thanks to Priya Chavan, Sutheera Hengcharoen, Shiyan Tao, Akkshayaa Venkatram, Parvathy Subramanian, Raji Lakshmi, Karthika Kothapally, Supraja Samudrala, Jagriti Agrawal, and Madhura Rama for all of their hard work, and their ability to work near the cutting edge of programming tools. A special thanks goes to Jeremy Steinhauer, whose contributions to Guava are still iv growing and whose talents astound all around him. The biggest thanks of all go to my family, without whom I would have never been born. They also insisted that I reach beyond my grasp and to never be afraid to take risks. Thanks to both my grandmothers, who insisted that I keep music in my life at any expense. Thanks to both my grandfathers, who showed me what incredible things can be built using only your hands, your will, and your imagination. Thanks to my dad, who taught me that the campsite rule is not good enough — to always leave things better than what I find them. Thanks to my mom, who is equal parts whimsy and professional, and is always whichever one is necessary. Thanks to my daughter, Kathleen, through whom I get to see the joy of simple things. And most importantly, thanks to my wife, Allison, who teaches me every day what partnership is, and reminds me that every day is a new chance. Funding for this research was provided by Collins Medical Trust, by DHHS NIH National Institute of Diabetes Digestive and Kidney Diseases No. 5-R33-DK061778- 03 awarded to Oregon Health & Science University (OHSU), and by NSF grant No. 0534762. v CONTENTS Acknowledgements :::::::::::::::::::::::::::::::: ii List of Tables :::::::::::::::::::::::::::::::::::: ix List of Figures ::::::::::::::::::::::::::::::::::: xi 1 Introduction :::::::::::::::::::::::::::::::::: 1 1.1 Data-Entry Applications . 4 1.2 Research Goals and Contributions . 7 1.2.1 Query Interfaces . 7 1.2.2 Application Middleware . 9 1.2.3 Application Evolution . 16 1.3 Case Study . 19 1.4 Guava: GUI-As-View . 22 1.5 Outline . 24 2 Creating a Relational Schema and a Query Interface from a User Interface 27 2.1 G-Trees and Natural Schemas . 33 2.2 Queries in Guava . 47 2.3 Implementation Notes . 53 2.3.1 Reflection . 54 2.3.2 Interfaces . 54 2.3.3 Query Results and Query Interface . 56 2.4 Case Study 1: Modeling an Existing User Interface Using Guava . 57 2.4.1 Adapting Controls to Work With Guava . 58 2.4.2 Adapting an Entire UI to Use Guava . 63 2.4.3 Additional Results . 65 2.5 Case Study 2: Guava as an Addressing Scheme . 68 2.6 Related Work . 74 2.7 Summary . 79 vi 3 Transformations and the Channel :::::::::::::::::::::: 80 3.1 The Guava Data Model . 83 3.1.1 Queries . 84 3.1.2 Updates to Data and Schema . 85 3.1.3 Generalized Referential Integrity Constraints . 88 3.1.4 Additional Statements . 99 3.2 The Channel . 99 3.2.1 Seven Channel Transformations . 105 3.2.2 Transactions and Transactional Semantics .