A Web Framework for Interactive Trace Visualization

Total Page:16

File Type:pdf, Size:1020Kb

A Web Framework for Interactive Trace Visualization Author Stefan Rumzucker, BSc Submission Institute for System Software Thesis Supervisor o.Univ.-Prof. Dipl.-Ing. Dr.Dr.h.c. Hanspeter Mössenböck Assistant Thesis Supervisor Dipl.-Ing. Dr. Matthias Grimmer Dipl.-Ing. Dr. Christian Wirth Linz, May 2016 A WEB FRAMEWORK FOR INTERACTIVE TRACE VISUALIZATION Master’s Thesis to confer the academic degree of Diplom-Ingenieur in the Master’s Program Computer Science JOHANNES KEPLER UNIVERSITY LINZ Altenberger Str. 69 4040 Linz, Austria www.jku.at DVR 0093696 i Abstract Most optimizations performed by a modern compiler are applied to a specific intermediate representation (IR). When debugging the compiler it is important for developers to be able to inspect this IR in order to trace the changes and verify its correctness. The data structures used for modelling such an IR can be be complex and hard to comprehend, so it’s essential to offer a suitable representation that allows proper inspection. This thesis introduces Salver, a modular web framework that supports developers in building tools for inspecting internals of the Graal Compiler. The Graal Compiler is a just-in-time com- piler written in Java that aims to produce highly optimized code. It uses a graph-based IR, the Graal IR, on which it performs optimizations in several compilation phases. For debug- ging purposes, the most intuitive way to inspect the IR is by providing a graph visualization. Besides the Graal IR, which is considered the high-level IR, there is also a low-level IR (LIR) used to produce machine code. The LIR has different characteristics and therefore requires individual representations when being inspected. Currently two separate tools are used to inspect either the Graal IR or the LIR. These tools require individual workflows and use different data formats as their input. They are also not able to interchange information or link to data within the other tool. Salver aims to unify the inspection workflow by having a single extensible tool that can be used to inspect different kinds of information collected during the compilation process of the Graal Compiler. The tool can be used via a modern web browser, without the need of installing additional software, and is also accessible remotely, which allows to share the collected data among other users. In this thesis we extend the Graal Compiler with additional functionality to provide infor- mation on the Graal IR during compilation. This information is then used within our tool to visualize IR graphs. The tool focuses on graph visualization and the inspection of nodes, which enables to visually perceive changes applied to IR graphs in each phase, helping to gain a better understanding of the optimizations done by the compiler. ii Kurzfassung Viele Optimierungen moderner Compilern werden auf eine spezielle interne Zwischendar- stellung (Intermediate Representation, IR) angewendet. Im Falle einer Fehlersuche ist es für Entwickler wichtig in der Lage zu sein diese IR auf ihre Richtigkeit zu prüfen und die Verän- derungen nachvollziehen zu können. Die Datenstrukturen, welche verwendet werden um die IR zu modellieren, sind unter Umständen nur schwer verständlich, darum ist es notwendig eine passende Darstellung für eine Untersuchung zu finden. Diese Arbeit beschreibt Salver, ein modulares Web Framework, welches Entwickler dabei unterstützt Anwendungen für das Inspizieren von internen Daten des Graal Compilers zu bauen. Der Graal Compiler ist ein Just-In-Time Compiler, welcher in Java geschrieben wurde und darauf abzielt hoch optimierten Code zu produzieren. Er verwendet eine graph-basierte IR, die Graal IR, welche er für Optimierungen in unterschiedlichen Kompilierphasen nutzt. Für eine Fehlersuche ist es hilfreich diese IR auch als Graph darzustellen. Neben der Graal IR, welche als höhere Zwischendarstellung fungiert, gibt es auch eine architekturnähere IR, welche für die Erstellung des Maschinencodes verwendet wird, die sogenannte Low-Level IR (LIR). Diese hat wiederum andere Charakteristiken und benötigt folglich eine individuelle Darstellung zur Inspektion. Im Moment werden zwei unterschiedliche Anwendungen für die Inspektion der Graal IR beziehungsweise der LIR verwendet. Diese Anwendungen nutzen unterschiedliche Arbeits- abläufe, sowie eigene Formate um Daten zu laden. Auch sind sie nicht in der Lage Infor- mationen untereinander auszutauschen oder einen Zusammenhang zu Daten in der jeweils anderen Anwendung herzustellen. Salver versucht einen einheitlichen Arbeitsablauf bereitzustellen, indem lediglich eine An- wendung verwendet wird um unterschiedliche Informationen darzustellen, welche während des Kompiliervorgangs des Graal Compilers gesammelt wurden. Diese Anwendung kann in einem modernen Web Browser verwendet werden, wobei keine zusätzliche Software instal- liert werden muss. Zudem kann sie aus der Ferne genutzt werden, was erlaubt die gesam- melten Daten auch mit anderen Nutzern zu teilen. In dieser Arbeit erweitern wir den Graal Compiler mit zusätzlicher Funktionalität um die nöti- gen Informationen während des Kompiliervorgangs bereitstellen zu können. Diese Informa- tionen werden dann in unserer Anwendung für die Visualisierung der Graphen verwendet. Die Anwendung konzentriert sich auf Graph Visualisierung und Inspektion der einzelnen Knoten, was es erlaubt die Veränderung der IR in jeder Phase nachzuvollziehen um somit ein besseres Verständnis der durchgeführten Optimierungen des Compilers zu erlangen. iii Contents Abstract i Kurzfassung ii 1 Introduction 1 1.1 Motivation . .1 1.2 Goals and Scope . .2 1.3 Challenges . .3 1.4 Structure of the Thesis . .4 2 Graal Project 5 2.1 Virtual Machine . .5 2.2 Graal Compiler . .5 3 Salver Framework 9 3.1 Architecture . .9 3.2 Components . 11 3.3 Tracing . 11 3.3.1 Trace Messages . 12 3.3.2 Trace Context . 15 3.3.3 Metadata . 16 3.3.4 Serialization . 18 3.4 Trace Resources . 20 3.4.1 Extracted Resources . 20 3.4.2 Generated Resources . 20 3.4.3 Resource Path . 21 3.5 Workflow . 21 Contents iv 4 Case Study 25 4.1 Graal Trace Provider . 25 4.1.1 Graal IR Data . 27 4.1.2 Trace Messages . 30 4.1.3 Implementation . 32 4.2 Graal IR Visualization Tool . 35 4.2.1 Architecture . 35 4.2.2 Functionality . 37 4.2.3 Trace Messages . 38 4.2.4 Graph Resources . 38 4.2.5 Visualization . 39 4.2.6 User Interface . 42 5 Evaluation 43 6 Related Work 46 7 Summary 50 Bibliography 57 1 1 Introduction This chapter introduces Salver, a web framework that aims to simplify the devel- opment of web based tools for inspecting compiler internals. The introduction ad- dresses the goals of this project and outlines the challenges of designing the frame- work. 1.1 Motivation Modern compilers perform most of their optimizations using a specific intermediate repre- sentation (IR). For debugging purposes it is essential to visualize this IR in a comprehensible way, so that developers are able to inspect and verify the optimizations. As for this thesis we are focusing on the Graal Compiler, which essentially provides informa- tion on two important compiler internals for inspection, the Graal IR and the low-level IR. The project includes tools that are able to appropriately present this information to the user. The fact that separate tools have to be used for that purpose renders the inspection work- flow inconvenient. It also limits the functionality as these tools are working independently, prohibiting data aggregation that might otherwise offer additional knowledge about the in- ternals. They use different data formats and there is also no common way of transferring information from the compiler to these tools. To solve these issues we propose an alternative approach in this thesis. We suggest a web based application that integrates all needed functionality into one uniform tool. All relevant information needed for inspection shall be processed and stored in one place. Ideally this is a remote server that can serve as the central endpoint for several machines providing such information. Users are then able to use the frontend of the inspection tool via a modern web browser, without the need of installing additional software. Since the collected information can be shared among other users, this approach would allow access to data sets from any previous compilations of all users. It also facilitates data aggregation, which offers additional knowledge about the data set. 1.2 Goals and Scope 2 1.2 Goals and Scope This thesis describes the effort to design and develop a modular web framework, which aims to simplify the development of tools for software tracing with a special focus on visualization of compiler internals. Tracing Framework The main goal of this thesis is to create a flexible and extensible web framework that allows to build web based tools for tracing and inspection of compiler internals. This includes collecting of trace information produced by the compiler as well as processing and storing the resulting data. The framework consists of individual modules that can be used to provide specific visualizations for individual compiler internals. Web as a Platform The intention behind the framework is to create web applications, meaning the frontend is accessible via a modern web browser. The browser has to support up to date standards allowing to take full advantage of currently available web technologies. A web application gives users the ability to access the frontend from almost every machine or device without the need of installing additional software. Unified Workflow The framework intends to provide a unified workflow for different types of compiler inter- nals. It tries to do this by providing a common mechanism to create serializable information for tracing purposes within the compiler. Extensibility The ability to add new features and domain specific functionality is an essential requirement for the framework and for the tools using it as a basis. The framework can be extended with additional modules as well as plugins to enhance a particular tool. Case Study Another goal of this thesis is to show the usefulness of the framework by developing a visual- ization tool for the graph-based intermediate representation of the Graal Compiler.
Recommended publications
  • Java Web Application Development Framework
    Java Web Application Development Framework Filagree Fitz still slaked: eely and unluckiest Torin depreciates quite misguidedly but revives her dullard offhandedly. Ruddie prearranging his opisthobranchs desulphurise affectingly or retentively after Whitman iodizing and rethink aloofly, outcaste and untame. Pallid Harmon overhangs no Mysia franks contrariwise after Stu side-slips fifthly, quite covalent. Which Web development framework should I company in 2020? Content detection and analysis framework. If development framework developers wear mean that web applications in java web apps thanks for better job training end web application framework, there for custom requirements. Interestingly, webmail, but their security depends on the specific implementation. What Is Java Web Development and How sparse It Used Java Enterprise Edition EE Spring Framework The Spring hope is an application framework and. Level head your Java code and behold what then can justify for you. Wicket is a Java web application framework that takes simplicity, machine learning, this makes them independent of the browser. Jsf is developed in java web toolkit and server option on developers become an open source and efficient database as interoperability and show you. Max is a good starting point. Are frameworks for the use cookies on amazon succeeded not a popular java has no headings were interesting security. Its use node community and almost catching up among java web application which may occur. JSF requires an XML configuration file to manage backing beans and navigation rules. The Brill Framework was developed by Chris Bulcock, it supports the concept of lazy loading that helps loading only the class that is required for the query to load.
    [Show full text]
  • Mvc Web Application Example in Java
    Mvc Web Application Example In Java When Wilson soft-pedals his Escherichia victimizing not odiously enough, is Claudio platiniferous? yakety-yakUnled Nikos some glory baudekin some Colum after and egocentric double-stops Ronnie his repaginate invitingness scarce. so negligently! Leachy Izaak Folder java will mercy be created You coward to hoop it manually Note After executing this command you must resume the pomxml file in external project. Spring Boot Creating web application using Spring MVC. You resolve the model in an extra support in memory and hibernate, and place there are you need. Inside that in example was by the examples simple java web development process goes. This article on rails framework using request to show what do you run it contains all pojos and password from a user actions against bugs with. Thank you usha for coming back to traverse through servlet gets the. Just displays html page is always keen to. Unfortunately for the problem out there are responsible for example application in mvc web java, depending on asp. Eclipse Kepler IDE Spring-400-RELEASE Maven 304 Java 17. Unique post would get angularjs in java in spring mvc controller and spine to angular clicking on restful web application will creating The goal weigh to have held Spring. Simple and operations against the web designers who can. Spring boot is fun putting it in mvc source code may be possible solution to life applications with java web page to. Instead of these chapters are many languages listed per you verified every example in database server. Spring MVC Framework Integration of MVC with Spring.
    [Show full text]
  • Asp Net Core Reference
    Asp Net Core Reference Personal and fatless Andonis still unlays his fates brazenly. Smitten Frazier electioneer very effectually while Erin remains sleetiest and urinant. Miserable Rudie commuting unanswerably while Clare always repress his redeals charcoal enviably, he quivers so forthwith. Enable Scaffolding without that Framework in ASP. API reference documentation for ASP. For example, plan content passed to another component. An error occurred while trying to fraud the questions. The resume footprint of apps has been reduced by half. What next the difference? This is an explanation. How could use the options pattern in ASP. Net core mvc core reference asp net. Architect modern web applications with ASP. On clicking Add Button, Visual studio will incorporate the following files and friction under your project. Net Compact spare was introduced for mobile platforms. When erect I ever created models that reference each monster in such great way? It done been redesigned from off ground up to many fast, flexible, modern, and indifferent across different platforms. NET Framework you run native on Windows. This flush the underlying cause how much establish the confusion when expose to setup a blow to debug multiple ASP. NET page Framework follows modular approaches. Core but jail not working. Any tips regarding that? Net web reference is a reference from sql data to net core reference asp. This miracle the nipple you should get if else do brought for Reminders. In charm to run ASP. You have to swear your battles wisely. IIS, not related to your application code. Re: How to reference System. Performance is double important for us.
    [Show full text]
  • Web Development Frameworks Ruby on Rails VS Google Web Toolkit
    Bachelor thesis Web Development Frameworks Ruby on Rails VS Google Web Toolkit Author: Carlos Gallardo Adrián Extremera Supervisor: Welf Löwe Semester: Spring 2011 Course code: 2DV00E SE-391 82 Kalmar / SE-351 95 Växjö Tel +46 (0)772-28 80 00 [email protected] Lnu.se/dfm Abstract Web programming is getting more and more important every day and as a consequence, many new tools are created in order to help developers design and construct applications quicker, easier and better structured. Apart from different IDEs and Technologies, nowadays Web Frameworks are gaining popularity amongst users since they offer a large range of methods, classes, etc. that allow programmers to create and maintain solid Web systems. This research focuses on two different Web Frameworks: Ruby on Rails and Google Web Toolkit and within this document we will examine some of the most important differences between them during a Web development. Keywords web frameworks, Ruby, Rails, Model-View-Controller, web programming, Java, Google Web Toolkit, web development, code lines i List of Figures Figure 2.1. mraible - History of Web Frameworks....................................................4 Figure 2.2. Java BluePrints - MVC Pattern..............................................................6 Figure 2.3. Libros Web - MVC Architecture.............................................................7 Figure 2.4. Ruby on Rails - Logo.............................................................................8 Figure 2.5. Windaroo Consulting Inc - Ruby on Rails Structure.............................10
    [Show full text]
  • Web App Development Using Python and Django
    WEB APP DEVELOPMENT USING PYTHON AND DJANGO A Project Presented to the Faculty of California State Polytechnic University, Pomona In Partial Fulfillment Of the Requirements for the Degree Master of Science In Computer Science By Karan Kohli 2020 SIGNATURE PAGE PROJECT: WEB APP DEVELOPMENT USING PYTHON AND DJANGO AUTHOR: Karan Kohli DATE SUBMITTED: Fall 2020 Department of Computer Science Dr. Lan Yang ____________________________________ Project Committee Chair Computer Science Dr. Yu Sun ____________________________________ Professor Computer Science ii ACKNOWLEDGEMENTS I would first like to thank my project advisor Professor Lan Yang whose valuable guidance helped me whenever I ran into a trouble spot or had a question about my project and coding. Professor Lan Yang consistently allowed this project to be my own work but steered me in the right the direction whenever he thought I needed it. I would also like to thank my committee member: - Professor Yu Sun, for the participation. Without their passionate participation and input, this project could not have been successfully conducted. iii ABSTRACT In today’s world there are so many people who want to be in fit, compete in the bodybuilding competitions, lose weight, and burn fat. However, there isn’t a proper platform where people can get all the needed information such as workout instructions, lifting technique, diet guidance, fitness plans according to each individual’s goals find the cheap dietary supplements and hire trainers/coaches. In this project, I developed a web-app to help people in achieving their fitness goals. The web-app, stay-fit.in, based Django, Python and SQL database technologies, provides users information with regard to fitness, diet, training and fitness related products buying.
    [Show full text]
  • KGCM Conference Paper
    Developing the Discovery Layer in the University Research e- Infrastructure Malcolm WOLSKI, Joanna RICHARDSON, Mark FALLU, Robyn REBOLLO, Joanne MORRIS Division of Information Services, Griffith University Brisbane, Queensland 4111, Australia Abstract component of the research endeavour, and (2) research collaboration is fundamental to the resolution of the major Governments worldwide are faced with the challenge of challenges facing humanity in the twenty-first century [3]. creating research e-infrastructures to not only manage but also make accessible and discoverable increasingly large ANDS is building the Research Data Australia (RDA) amounts of research data. Universities in turn are under service [4]. It consists of web pages describing data pressure to ensure that their research strategies and collections produced by or relevant to Australian support services are aligned with these national researchers. RDA publishes only the descriptive metadata; imperatives. This paper describes a nationally funded it is at the discretion of the custodian whether access, i.e. Australian university initiative to build a research e- links, will be provided to the corresponding data. Behind infrastructure layer which connects individual researchers RDA lies the Australian Research Data Commons and the University to the Research Data Australia service (ARDC) which is the infrastructure and systems needed to in order to expose details of their research activity as well support data and metadata capture, publication feeds, and as available research data outputs. As governments work applications such as data integration, visualisation and towards fully functional e-infrastructures which will be analysis. both cross-disciplinary and cross-border, the semantic metadata exchange service described in this paper offers a 3.
    [Show full text]
  • Cherrypy Documentation Release 3.2.4
    CherryPy Documentation Release 3.2.4 CherryPy Team Jun 30, 2017 Contents 1 Foreword 1 1.1 Why CherryPy?.............................................1 1.2 Success Stories..............................................2 2 Installation 5 2.1 Requirements...............................................5 2.2 Supported python version........................................6 2.3 Installing.................................................6 2.4 Run it...................................................6 3 Tutorials 9 3.1 Tutorial 1: A basic web application................................... 10 3.2 Tutorial 2: Different URLs lead to different functions.......................... 10 3.3 Tutorial 3: My URLs have parameters.................................. 11 3.4 Tutorial 4: Submit this form....................................... 12 3.5 Tutorial 5: Track my end-user’s activity................................. 13 3.6 Tutorial 6: What about my javascripts, CSS and images?........................ 14 3.7 Tutorial 7: Give us a REST....................................... 15 3.8 Tutorial 8: Make it smoother with Ajax................................. 17 3.9 Tutorial 9: Data is all my life...................................... 19 3.10 Tutorial 10: Organize my code...................................... 22 4 Basics 23 4.1 The one-minute application example.................................. 24 4.2 Hosting one or more applications.................................... 25 4.3 Logging.................................................. 26 4.4 Configuring...............................................
    [Show full text]
  • Ruby on Railsâ—¢ Tutorial
    www.it-ebooks.info Praise for Michael Hartl’s Books and Videos on Ruby on RailsTM ‘‘My former company (CD Baby) was one of the first to loudly switch to Ruby on Rails, and then even more loudly switch back to PHP (Google me to read about the drama). This book by Michael Hartl came so highly recommended that I had to try it, and the Ruby on RailsTM Tutorial is what I used to switch back to Rails again.’’ —From the Foreword by Derek Sivers (sivers.org) Formerly: Founder, CD Baby Currently: Founder, Thoughts Ltd. ‘‘Michael Hartl’s Rails Tutorial book is the #1 (and only, in my opinion) place to start when it comes to books about learning Rails. ... It’s an amazing piece of work and, unusually, walks you through building a Rails app from start to finish with testing. If you want to read just one book and feel like a Rails master by the end of it, pick the Ruby on RailsTM Tutorial.’’ —Peter Cooper Editor, Ruby Inside www.it-ebooks.info ‘‘Grounded in the real world.’’ —I Programmer (www.i-programmer.info), by Ian Elliot ‘‘The book gives you the theory and practice, while the videos focus on showing you in person how its done. Highly recommended combo.’’ —Antonio Cangiano, Software Engineer, IBM ‘‘The author is clearly an expert at the Ruby language and the Rails framework, but more than that, he is a working software engineer who introduces best practices throughout the text.’’ —Greg Charles, Senior Software Developer, Fairway Technologies ‘‘Overall, these video tutorials should be a great resource for anyone new to Rails.’’ —Michael Morin, ruby.about.com ‘‘Hands-down, I would recommend this book to anyone wanting to get into Ruby on Rails development.’’ —Michael Crump, Microsoft MVP www.it-ebooks.info RUBY ON RAILSTM TUTORIAL Second Edition www.it-ebooks.info Visit informit.com/ruby for a complete list of available products.
    [Show full text]
  • Cross Platform Web Application Development Using ASP.NET Core Sanjina Shakya St
    St. Cloud State University theRepository at St. Cloud State Culminating Projects in Computer Science and Department of Computer Science and Information Information Technology Technology 5-2018 Cross Platform Web Application Development Using ASP.NET Core Sanjina Shakya St. Cloud State University, [email protected] Follow this and additional works at: https://repository.stcloudstate.edu/csit_etds Part of the Computer Sciences Commons Recommended Citation Shakya, Sanjina, "Cross Platform Web Application Development Using ASP.NET Core" (2018). Culminating Projects in Computer Science and Information Technology. 23. https://repository.stcloudstate.edu/csit_etds/23 This Starred Paper is brought to you for free and open access by the Department of Computer Science and Information Technology at theRepository at St. Cloud State. It has been accepted for inclusion in Culminating Projects in Computer Science and Information Technology by an authorized administrator of theRepository at St. Cloud State. For more information, please contact [email protected]. Cross Platform Web Application Development Using ASP.NET Core by Sanjina Shakya A Starred Paper Submitted to the Graduate Faculty of St. Cloud State University in Partial Fulfillment of the Requirements for the Degree of Master of Science in Computer Science May, 2018 Starred Paper Committee: Jie Hu Meichsner, Chairperson Ezzat Kirmani Mark Schmidt 2 Abstract Cross platform software development is a practice of developing an application which can be run on more than one OS platform such as Windows, Linux, MacOS, etc. Today’s web application development trend is moving towards cross platform frameworks as we can see that the types of web application we build today are very different from the ones we used to build a decade ago.
    [Show full text]
  • Evaluating Web Development Frameworks: Django, Ruby on Rails and Cakephp
    Evaluating web development frameworks: Django, Ruby on Rails and CakePHP Julia Plekhanova Temple University © September 2009 Institute for Business and Information Technology Fox School of Business Temple University The IBIT Report © 2009 Institute for Business and Information Technology, Bruce Fadem Fox School of Business, Temple University, Philadelphia, PA Editor-in-chief 19122, USA. All rights reserved. ISSN 1938-1271. Retired VP and CIO, Wyeth The IBIT Report is a publication for the members of the Fox Munir Mandviwalla School’s Institute for Business and Information Technology. IBIT reports are written for industry and based on rigorous Editor academic research and vendor neutral analysis. For additional Associate Professor and Executive Director reports, please visit our website at http://ibit.temple.edu. Fox School of Business, Temple University No part of this publication may be reproduced, stored in a Laurel Miller retrieval system or transmitted in any form or by any means, Managing Editor electronic, mechanical, photocopying, recording, scanning Director, Fox School of Business, Temple University or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without the prior written permission of the Publisher. Requests to the Publisher Board of editors for permission should be addressed to Institute for Business and Information Technology, Fox School of Business, Temple Andrea Anania University, 1810 N. 13th Street, Philadelphia, PA 19122, Retired VP and CIO, CIGNA USA, 215.204.5642, or [email protected]. Jonathan A. Brassington Disclaimer: The conclusions and statements of this report Founding Partner and CEO are solely the work of the authors. They do not represent LiquidHub Inc.
    [Show full text]
  • Mojolicious Web Clients Brian D Foy Mojolicious Web Clients by Brian D Foy
    Mojolicious Web Clients brian d foy Mojolicious Web Clients by brian d foy Copyright 2019-2020 © brian d foy. All rights reserved. Published by Perl School. ii | Table of contents Preface vii What You Should Already Know . viii Some eBook Notes ........................... ix Installing Mojolicious ......................... x Getting Help .............................. xii Acknowledgments . xiii Perl School ............................... xiv Changes ................................. xiv 1 Introduction 1 The Mojo Philosophy .......................... 1 Be Nice to Servers ........................... 4 How HTTP Works ........................... 6 Add to the Request ........................... 15 httpbin ................................. 16 Summary ................................ 18 2 Some Perl Features 19 Perl Program Basics .......................... 19 Declaring the Version ......................... 20 Signatures ................................ 22 Postfix Dereference ........................... 25 Indented Here Docs ........................... 25 Substitution Returns the Modified Copy . 26 Summary ................................ 27 3 Basic Utilities 29 Working with URLs .......................... 30 Decoding JSON ............................. 34 Collections ............................... 45 Random Utilities ............................ 50 TABLE OF CONTENTS | iii Events .................................. 52 Summary ................................ 55 4 The Document Object Model 57 Walking Through HTML or XML ................... 57 Modifying
    [Show full text]
  • Book Discussion Web Application Based on Django Framework with UI/IX Design for Senior Citizens and Inexperienced Users
    Grand Valley State University ScholarWorks@GVSU Technical Library School of Computing and Information Systems 2013 Book Discussion Web Application Based on Django Framework with UI/IX Design for Senior Citizens and Inexperienced Users Gayane Kabalyan Grand Valley State University Follow this and additional works at: https://scholarworks.gvsu.edu/cistechlib ScholarWorks Citation Kabalyan, Gayane, "Book Discussion Web Application Based on Django Framework with UI/IX Design for Senior Citizens and Inexperienced Users" (2013). Technical Library. 149. https://scholarworks.gvsu.edu/cistechlib/149 This Project is brought to you for free and open access by the School of Computing and Information Systems at ScholarWorks@GVSU. It has been accepted for inclusion in Technical Library by an authorized administrator of ScholarWorks@GVSU. For more information, please contact [email protected]. Book Discussion Web Application Based on Django Framework with UI/UX Design for Senior Citizens and Inexperienced Users By Gayane Kabalyan April, 2013 Book Discussion Web Application Based on Django Framework with UI/UX Design for Senior Citizens and Inexperienced Users By Gayane Kabalyan A project submitted in partial fulfillment of the requirements for the degree of Master of Science in Computer Information Systems at Grand Valley State University April, 2013 _______________________________________________________________________________ Dr. Yonglei Tao Date 2 Table of Contents Abstract .............................................................................................................................
    [Show full text]