# The Technology Behind a Graphical User Interface for an Equational Reasoning Assistant

Save this PDF as:

Size: px
Start display at page:

Download "The Technology Behind a Graphical User Interface for an Equational Reasoning Assistant"

## Transcription

1 The Technology Behind a Graphical User Interface for an Equational Reasoning Assistant Andy Gill Department of Computing Science, University of Glasgow Abstract The Haskell Equational Reasoning Assistant (HERA) is an application written in Haskell that helps users construct and present equational reasoning style proofs[1]. In this paper we discuss the technology behind the user interface. 1 Introduction HERA is an equational reasoning assistant. It assists the user by taking requests for actions to be performed on partially complete proofs. Typical requests that the user might make include: Use this specific lemma, on this specific sub-expression. Perform case analysis on a formula, splitting it into a set of formulas. Specify a new lemma to prove. Request a reminder of the exact form of a lemma. HERA itself looks after the book-work, like what lemmas remain unproven, performing -conversions, etc. A first prototype of HERA was constructed with a straightforward ascii interface. This highlighted two significant problems: The first and most important shortcoming of this interface was the problem of sub-expression selection. It was unclear how the user could say, in a straightforward manner, inside this sub-expression. Furthermore, it was difficult to get a clear overall picture of the direction of a proof within an ascii interface. An ascii screen is too small to hold both the proof in progress, and respond to the requests for available lemmas. To address both these problems we have implemented a multi-window implementation, with a point-and-click style of sub-expression selection. Figure 1 gives picture of an equational proof in action. When assisting with a proof, HERA gives the operator two windows, one giving derivations starting at the left hand side, and other derivations from the right hand side. When the two sides meet, the proof is complete. The rest of this paper explains the internals of this graphical user interface. Figure 2 gives an overview of the main components of HERA. In this paper we are concerned with the components that connect HERA to the display. TK/TCL and XLib is a separate process, running the TK/TCL shell, wish. The component Wish I/O links the implementation of HERA with wish. We talk about these components in Section 2. The Widget Library is layer of abstraction on top of Wish I/O. We talk about this in Section 3. In Section 4 we discuss how we manage to pretty print with colours and different fonts. In Section 5 we present the algorithm for sub-expression selection that we use in HERA. Functional Programming, Glasgow

2 Figure 1: HERA in use Functional Programming, Glasgow

3 tk/tcl UNIX Wish I/O Widget Library Main Haskell Parser PIPES Command Parser XLib Script Parser Substitution Engine Haskell Typechecker Prelude Script Knowledge Mangler Figure 2: The internal structure of HERA 2 Talking to X via TK/TCL TK/TCL is a simple scripting language that interfaces with X to provide high level commands for building graphical interfaces. Here is a simple example of TK/TCL program to print a button widget on the screen: button.hello -text "Press Me" -command { puts stdout "someone pressed me" } pack.hello This displays a button: When this button is pressed, the program says someone pressed me. HERA is written in Haskell 1.3. Rather than use a graphical interface that would be tied into a particular implementation, we use a system of UNIX pipes into a process running TK/TCL [3] which handles the interaction with X. We use a simplified version of the model used in [4] with only two pipes, one for requests, and one for responses, both feeding directly into TK/TCL. The three key Haskell functions have the types: > initwish :: IO Wish > sendcommand :: Wish -> String -> IO () > waitforevent :: Wish -> IO String initwish sets up the pipes, giving us the Wish handle. sendcommand sends a command to TK/TCL, and waitforevent waits for something to happen, returning the response from TK/TCL. To execute the above program in Haskell, we could write: Functional Programming, Glasgow

4 > main = > initwish >>= \ wish -> > sendcommand wish ("button.hello -text \"Press Me\" " ++ > "-command { puts stdout\ "someone pressed me\" }") >> > sendcommand wish "pack.hello" >> > waitforevent >>= \ resp -> > putstr resp 3 Our Widget Library The model used by TK/TCL is an imperative one. We build onto this imperative base a widget library that provides functional combinators for building widget hierarchies. For example, our function for creating a button widget has the type: > buttonw > :: String -- label > -> String -- what you reply > -> Widget This function models itself on the TK/TCL button command, but provides a functional interface. We place the widget onto the screen using a monadic function addwidget: > addwidget :: Wish -> WidgetName -> Widget -> IO () So rewriting our button program using our widget library gives: > main = > initwish >>= \ wish -> > let > button_widget = buttonw "Press Me" "someone pressed me" > in > addwidget wish defaultwname button_widget >> > waitforevent >>= \ resp -> > putstr resp We still use waitforevent to wait for something to happen, but the construction of our widget is much neater. In the widget library we also provide combinators for joining smaller widgets to make larger widgets. For example: > abovew :: Widget -> Widget -> Widget > besidew :: Widget -> Widget -> Widget > stackofw :: [Widget] -> Widget > rowofw :: [Widget] -> Widget So if we wanted two buttons, side by side we could write: > buttons_widget = > buttonw "Press Me" "someone pressed me" > besidew > buttonw "Or Press Me" "someone pressed button 2" Using this straightforward widget library, we build the necessary pictures to provide our interactive interface. Functional Programming, Glasgow

5 4 Printing more that Ascii The TK/TCL system supports extended and alternative character sets, along with various fonts, underlining, and colours. We wanted to use these to aid the presentation of our proofs and lemmas. The current technology for printing abstract syntax trees, called pretty-printers, output ascii pictures. We augmented one pretty printer [2] to support our extended styles of characters. This pretty printer has the following interface: > data Doc =... > text :: [Char] -> Doc -- Basic Word > (\$\$) :: Doc -> Doc -> Doc -- Vertical composition > (<>) :: Doc -> Doc -> Doc -- Horizontal composition > pretty :: Int -> Int -> Doc -> [Char] -- Building final String Using this library it is straightforward to construct clear and easy to read ascii representations of abstract syntax. There is no support, however, for the extensions that we want to use, like colour, fonts, and emphasis. To allow this, inside HERA we have abstracted our pretty-printing library over the characters that the library outputs. We use type classes to do this. First we define a class Pretty: > class Pretty a where > blank_space :: a The idea behind this class is that for anything that we supply an instance of Pretty, we can use our augmented prettyprinting library. By simply teaching the library what we mean by white-space, our characters can be any datatype. To provide backwards compatability we provide an instance for Char: > instance Pretty Char where > blank_space = Now our library has the following interface: > data Doc a =... > text :: Pretty a => [a] -> Doc a > (\$\$) :: Pretty a => Doc a -> Doc a -> Doc a > (<>) :: Pretty a => Doc a -> Doc a -> Doc a > picture :: Pretty a => Int -> Int -> Doc a -> [[a]] We have replaced pretty, which outputed a 1-dimensional list of Char (including newlines), with picture that outputs a 2-dimensional array of our arbitrary characters. So what do our new characters look like inside HERA? We use the definition: > data HyperChar -- our special version of Char > = HyperChar > Char -- the char a / b / c /etc > [HyperCharStyle] -- Which Font/Boldness/Colour/etc > (Maybe ExpAddress) -- the address of *this* expression > -- on the original syntax tree Inside each HyperChar there is a real ascii Char, as well as information about how to display this char, for example what font to use, what colour to use, etc. Using this technology we can provide both boldness and alternative fonts, as well as support characters like, as Figure 1 demonstrates. In the next section we explain the (Maybe ExpAddress) component of HyperChar, as it is used to allow selection of sub-expressions. Functional Programming, Glasgow

6 5 Selection of Sub-expressions When we perform a proof interactively, we need a way of selecting an expression or sub-expression for substitution. We use the mouse to select appropriate expressions: and HERA selects reverse (x : []) and underlines it, indicating that this is the currently selected sub-expression. Now this selected expression can have substitutions performed on it. Notice also that an exact match was not required, but the sub-expression selection algorithm deduced the correct selected expression. So how can this be implemented? TK/TCL can be instructed to send a string like newdefaultexpression rev_of_singleton left when a new sub-expression is selected. But the problem of identifying the sub-expression inside the original abstract syntax tree remains. We will explain our algorithm by using an example. Consider this simple expression tree, bar choo This tree, when pretty printed, becomes: foo (bar choo) Now, with each component of the original tree we associate an address. Functional Programming, Glasgow

8 References [1] Richard S. Bird and Philip Wadler. Introduction to Functional Programming. International Series in Computer Science. Prentice-Hall, [2] R. J. M. Hughes. The design of a pretty-printing library. In Johan Jeuring and Erik Meijer, editors, Proceedings of the First International Spring School on Advanced Functional Programming Techniques, Båstad, Sweden, volume 925 of LNCS. Springer-Verlag, May [3] John K. Ousterhout. Tcl and the Tk Toolkit. Addison-Wesley, [4] Duncan Sinclair. Graphical user interfaces for Haskell. In John Launchbury and Patrick M. Sansom, editors, Glasgow Workshop on Functional Programming, Ayr, Scotland, Workshops in Computing, pages Springer- Verlag, July Functional Programming, Glasgow

### THE CERN/SL XDATAVIEWER: AN INTERACTIVE GRAPHICAL TOOL FOR DATA VISUALIZATION AND EDITING

THE CERN/SL XDATAVIEWER: AN INTERACTIVE GRAPHICAL TOOL FOR DATA VISUALIZATION AND EDITING Abstract G. Morpurgo, CERN As a result of many years of successive refinements, the CERN/SL Xdataviewer tool has

### A prettier printer Philip Wadler

A prettier printer Philip Wadler Joyce Kilmer and most computer scientists agree: there is no poem as lovely as a tree. In our love affair with the tree it is parsed, pattern matched, pruned and printed.

### Infinite Pretty-printing in exene

Infinite Pretty-printing in exene Allen Stoughton Kansas State University Manhattan, KS 66506, USA allen@cis.ksu.edu http://www.cis.ksu.edu/~allen/home.html Abstract. We describe the design and implementation

### JMulTi/JStatCom - A Data Analysis Toolkit for End-users and Developers

JMulTi/JStatCom - A Data Analysis Toolkit for End-users and Developers Technology White Paper JStatCom Engineering, www.jstatcom.com by Markus Krätzig, June 4, 2007 Abstract JStatCom is a software framework

### Software documentation systems

Software documentation systems Basic introduction to various user-oriented and developer-oriented software documentation systems. Ondrej Holotnak Ondrej Jombik Software documentation systems: Basic introduction

### Firewall Builder Architecture Overview

Firewall Builder Architecture Overview Vadim Zaliva Vadim Kurland Abstract This document gives brief, high level overview of existing Firewall Builder architecture.

### RTAP Database Lifecycle Management

SYSTEMS INC. RTAP Database Lifecycle Management Abstract: This paper will describe the typical RTAP database lifecycle and how the tessernet Systems Inc. tools can make this process easier to manage and

### The Clean programming language. Group 25, Jingui Li, Daren Tuzi

The Clean programming language Group 25, Jingui Li, Daren Tuzi The Clean programming language Overview The Clean programming language first appeared in 1987 and is still being further developed. It was

### Project 2: Bejeweled

Project 2: Bejeweled Project Objective: Post: Tuesday March 26, 2013. Due: 11:59PM, Monday April 15, 2013 1. master the process of completing a programming project in UNIX. 2. get familiar with command

### SAPScript. A Standard Text is a like our normal documents. In Standard Text, you can create standard documents like letters, articles etc

SAPScript There are three components in SAPScript 1. Standard Text 2. Layout Set 3. ABAP/4 program SAPScript is the Word processing tool of SAP It has high level of integration with all SAP modules STANDARD

### Enterprise Web Developer : Using the Emprise Javascript Charting Widgets.

Version 4.0.682.2 Background Enterprise Web Developer Using the Emprise Javascript Charting Widgets As of build 4.0.682, Enterprise Web Developer (EWD) includes advanced functionality that allows you to

### Overcoming the Multiplicity of Languages and Technologies for Web-based Development Using a Multi-paradigm Approach

Overcoming the Multiplicity of Languages and Technologies for Web-based Development Using a Multi-paradigm Approach Sameh El-Ansary 1, Donatien Grolaux 2, Peter Van Roy 2 and Mahmoud Rafea 1 1 Swedish

### Module One: Getting Started... 6. Opening Outlook... 6. Setting Up Outlook for the First Time... 7. Understanding the Interface...

2 CONTENTS Module One: Getting Started... 6 Opening Outlook... 6 Setting Up Outlook for the First Time... 7 Understanding the Interface...12 Using Backstage View...14 Viewing Your Inbox...15 Closing Outlook...17

### PRODUCING AN EDUCATIONALLY EFFECTIVE AND USABLE TOOL FOR LEARNING, THE CASE OF JELIOT FAMILY

PRODUCING AN EDUCATIONALLY EFFECTIVE AND USABLE TOOL FOR LEARNING, THE CASE OF JELIOT FAMILY Andrés Moreno and Niko Myller, University of Joensuu Introduction Jeliot Family is a group of program visualization

### How to access some of the frameworki reports to help manage workload

How to access some of the frameworki reports to help manage workload To access the standard reports within frameworki: Click on Reports >> Reports Library This will open the Report Treeview. The path to

### Proxima 2.0: WYSIWYG generic editing for Web 2.0

Proxima 2.0: WYSIWYG generic editing for Web 2.0 dr Martijn M. Schrage Dept. of Computing Sciences, Utrecht University martijn@cs.uu.nl Abstract In line with the Web 2.0 trend, an increasing number of

### The countdown problem

JFP 12 (6): 609 616, November 2002. c 2002 Cambridge University Press DOI: 10.1017/S0956796801004300 Printed in the United Kingdom 609 F U N C T I O N A L P E A R L The countdown problem GRAHAM HUTTON

### SDT: A Programming Language for Debugging (Working Paper)

SDT: A Programming Language for Debugging (Working Paper) Steven P. Reiss Department of Computer Science Brown University Providence, RI 02912 spr@cs.brown.edu (401) 863-7641 January, 1989 Abstract This

### ScreenMatch: Providing Context to Software Translators by Displaying Screenshots

ScreenMatch: Providing Context to Software Translators by Displaying Screenshots Geza Kovacs MIT CSAIL 32 Vassar St, Cambridge MA 02139 USA gkovacs@mit.edu Abstract Translators often encounter ambiguous

### Tips for clear websites

Plain English Campaign: Tips for clear websites Copyright Plain English Campaign Tips for clear websites This is only a basic guide. If you have any suggestions, corrections or improvements, please contact

### Content Author's Reference and Cookbook

Sitecore CMS 6.2 Content Author's Reference and Cookbook Rev. 091019 Sitecore CMS 6.2 Content Author's Reference and Cookbook A Conceptual Overview and Practical Guide to Using Sitecore Table of Contents

### ML for the Working Programmer

ML for the Working Programmer 2nd edition Lawrence C. Paulson University of Cambridge CAMBRIDGE UNIVERSITY PRESS CONTENTS Preface to the Second Edition Preface xiii xv 1 Standard ML 1 Functional Programming

### Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Eastern Washington University Department of Computer Science Questionnaire for Prospective Masters in Computer Science Students I. Personal Information Name: Last First M.I. Mailing Address: Permanent

### GUI application set up using QT designer. Sana Siddique. Team 5

GUI application set up using QT designer Sana Siddique Team 5 Introduction: A very important part of the Team 5 breakout board project is to develop a user friendly Graphical User Interface that is able

### Monads for functional programming

Monads for functional programming Philip Wadler, University of Glasgow Department of Computing Science, University of Glasgow, G12 8QQ, Scotland (wadler@dcs.glasgow.ac.uk) Abstract. The use of monads to

### Guile Present. version 0.3.0, updated 21 September 2014. Andy Wingo (wingo@pobox.com)

Guile Present version 0.3.0, updated 21 September 2014 Andy Wingo (wingo@pobox.com) This manual is for Guile Present (version 0.3.0, updated 21 September 2014) Copyright 2014 Andy Wingo Permission is granted

### 1998. (R. Bird and P. Wadler, Introduction to Functional Programming, Prentice

Mathematical Structures in Programs 15 Algebra) The Shorter Oxford English Dictionary): the reunion of broken parts a calculus of symbols combined according to defined laws Haskell 3 4 Richard Bird. Introduction

### Tera Term Telnet. Introduction

Tera Term Telnet Introduction Starting Telnet Tera Term is a terminal emulation program that enables you to log in to a remote computer, provided you have a registered account on that machine. To start

### Software Documentation Guidelines

Software Documentation Guidelines In addition to a working program and its source code, you must also author the documents discussed below to gain full credit for the programming project. The fundamental

### Making Visio Diagrams Come Alive with Data

Making Visio Diagrams Come Alive with Data An Information Commons Workshop Making Visio Diagrams Come Alive with Data Page Workshop Why Add Data to A Diagram? Here are comparisons of a flow chart with

### Module 9. User Interface Design. Version 2 CSE IIT, Kharagpur

Module 9 User Interface Design Lesson 21 Types of User Interfaces Specific Instructional Objectives Classify user interfaces into three main types. What are the different ways in which menu items can be

### bbc Creating a Purchase Order Form Adobe LiveCycle Designer ES2 November 2009 Version 9

bbc Adobe LiveCycle Designer ES2 November 2009 Version 9 2009 Adobe Systems Incorporated. All rights reserved. Adobe LiveCycle Designer ES2 (9.0) for Microsoft Windows November 2009 This tutorial is licensed

### A Comparison of Programming Languages for Graphical User Interface Programming

University of Tennessee, Knoxville Trace: Tennessee Research and Creative Exchange University of Tennessee Honors Thesis Projects University of Tennessee Honors Program 4-2002 A Comparison of Programming

### 2. Compressing data to reduce the amount of transmitted data (e.g., to save money).

Presentation Layer The presentation layer is concerned with preserving the meaning of information sent across a network. The presentation layer may represent (encode) the data in various ways (e.g., data

### GETTING STARTED WITH DIALux (A Very Rough Guide) Rev. 6

1. Scaling your project drawing for import into DIALux using AutoCAD 2004 OR DraftSight, (procedure is similar in AutoCAD 2014 but you will need to access the commands through the ribbon interface): a)

### Introduction to ROOT and data analysis

Introduction to ROOT and data analysis What is ROOT? Widely used in the online/offline data analyses in particle and nuclear physics Developed for the LHC experiments in CERN (root.cern.ch) Based on Object

[Format] [Range] [Default] [Description] The name of the command. The code sequence. [ ]k indicates the contents of the [ ] should be repeated k times. Gives the allowable ranges, if any, for the arguments.

### Project #2: Secure Email System Due: Tues, November 29 th in class

Project #2: Secure Email System Due: Tues, November 29 th in class (CAETE students may email their project to Martin) As advertised, in this project you will provide a secure email system for use within

### Integrated Open-Source Geophysical Processing and Visualization

Integrated Open-Source Geophysical Processing and Visualization Glenn Chubak* University of Saskatchewan, Saskatoon, Saskatchewan, Canada gdc178@mail.usask.ca and Igor Morozov University of Saskatchewan,

### 1 Using CWEB with Microsoft Visual C++ CWEB INTRODUCTION 1

1 Using CWEB with Microsoft Visual C++ CWEB INTRODUCTION 1 1. CWEB Introduction. The literate programming technique is described by Donald Knuth in Literate Programming and The CWEB System for Structured

### Microsoft Access 2010 Overview of Basics

Opening Screen Access 2010 launches with a window allowing you to: create a new database from a template; create a new template from scratch; or open an existing database. Open existing Templates Create

### Internet Technologies_1. Doc. Ing. František Huňka, CSc.

1 Internet Technologies_1 Doc. Ing. František Huňka, CSc. Outline of the Course 2 Internet and www history. Markup languages. Software tools. HTTP protocol. Basic architecture of the web systems. XHTML

### Task Force on Technology / EXCEL

Task Force on Technology EXCEL Basic terminology Spreadsheet A spreadsheet is an electronic document that stores various types of data. There are vertical columns and horizontal rows. A cell is where the

### What is An Introduction

What is? An Introduction GenICam_Introduction.doc Page 1 of 14 Table of Contents 1 SCOPE OF THIS DOCUMENT... 4 2 GENICAM'S KEY IDEA... 4 3 GENICAM USE CASES... 5 3.1 CONFIGURING THE CAMERA... 5 3.2 GRABBING

### Taboret Management Application Builder

Taboret Management Application Builder INTRODUCTION Management Application Builders allow network-knowledgeable people to build their own solutions to management problems. More important, these new tools

### ICS 351: Today's plan

ICS 351: Today's plan routing protocols linux commands Routing protocols: overview maintaining the routing tables is very labor-intensive if done manually so routing tables are maintained automatically:

### caqtdm Tutorial Jim Stevens APS Controls Group October 9, 2014

caqtdm Tutorial Jim Stevens APS Controls Group October 9, 2014 Based on 2004 Medm lecture by Kenneth Evans Jr. 2013 Abridged version by Tim Mooney for SSG class 1 caqtdm Tutorial Introduction Introduction:

### Modeling the User Interface of Web Applications with UML

Modeling the User Interface of Web Applications with UML Rolf Hennicker,Nora Koch,2 Institute of Computer Science Ludwig-Maximilians-University Munich Oettingenstr. 67 80538 München, Germany {kochn,hennicke}@informatik.uni-muenchen.de

### The Design of a Graphical User Interface for a Network Management Protocol

Session 1626 The Design of a Graphical User Interface for a Network Management Protocol Xiaoan Hou, Youlu Zheng Science Application International Corporation / University of Montana 1.1 GUI and X-Window

### Lecture 9 Chrome Extensions

Lecture 9 Chrome Extensions 1 / 22 Agenda 1. Chrome Extensions 1. Manifest files 2. Content Scripts 3. Background Pages 4. Page Actions 5. Browser Actions 2 / 22 Chrome Extensions 3 / 22 What are browser

### A system is a set of integrated components interacting with each other to serve a common purpose.

SYSTEM DEVELOPMENT AND THE WATERFALL MODEL What is a System? (Ch. 18) A system is a set of integrated components interacting with each other to serve a common purpose. A computer-based system is a system

### Management Information Systems 260 Web Programming Fall 2006 (CRN: 42459)

Management Information Systems 260 Web Programming Fall 2006 (CRN: 42459) Class Time: 6:00 8:05 p.m. (T,Th) Venue: WSL 5 Web Site: www.pbvusd.net/mis260 Instructor Name: Terrell Tucker Office: BDC 127

### Type Classes with Functional Dependencies

Appears in Proceedings of the 9th European Symposium on Programming, ESOP 2000, Berlin, Germany, March 2000, Springer-Verlag LNCS 1782. Type Classes with Functional Dependencies Mark P. Jones Department

### IE Class Web Design Curriculum

Course Outline Web Technologies 130.279 IE Class Web Design Curriculum Unit 1: Foundations s The Foundation lessons will provide students with a general understanding of computers, how the internet works,

### Search and Replace in SAS Data Sets thru GUI

Search and Replace in SAS Data Sets thru GUI Edmond Cheng, Bureau of Labor Statistics, Washington, DC ABSTRACT In managing data with SAS /BASE software, performing a search and replace is not a straight

### Ovation Operator Workstation for Microsoft Windows Operating System Data Sheet

Ovation Operator Workstation for Microsoft Windows Operating System Features Delivers full multi-tasking operation Accesses up to 200,000 dynamic points Secure standard operating desktop environment Intuitive

### Programming in Access VBA

PART I Programming in Access VBA In this part, you will learn all about how Visual Basic for Applications (VBA) works for Access 2010. A number of new VBA features have been incorporated into the 2010

### Excel 2007: Basics Learning Guide

Excel 2007: Basics Learning Guide Exploring Excel At first glance, the new Excel 2007 interface may seem a bit unsettling, with fat bands called Ribbons replacing cascading text menus and task bars. This

### Honoring a Tradition of Simplicity. The Foundation. Getting Started

Run BASIC A Breakthrough Web Application Server Web programming for people who really like to program! http://www.runbasic.com Carl Gundel, carlg@libertybasic.com Run BASIC allows you to apply your desktop

### Hypercosm. Studio. www.hypercosm.com

Hypercosm Studio www.hypercosm.com Hypercosm Studio Guide 3 Revision: November 2005 Copyright 2005 Hypercosm LLC All rights reserved. Hypercosm, OMAR, Hypercosm 3D Player, and Hypercosm Studio are trademarks

### The Helios Microsoft Windows Server

The Helios Microsoft Windows Server COPYRIGHT This document Copyright 1992 Distributed Software Limited. All rights reserved. This document may not, in whole or in part, be copied, photocopied, reproduced,

### A Graphical User Interface Testing Methodology

A Graphical User Interface Testing Methodology Ellis Horowitz and Zafar Singhera Department of Computer Science University of Southern California Los Angeles, California 90089-0781 USC-CS-93-550 Abstract

### Teaching London Computing

Teaching London Computing A Level Computer Science Programming GUI in Python William Marsh School of Electronic Engineering and Computer Science Queen Mary University of London Outline A first program

### DATA MINING TOOL FOR INTEGRATED COMPLAINT MANAGEMENT SYSTEM WEKA 3.6.7

DATA MINING TOOL FOR INTEGRATED COMPLAINT MANAGEMENT SYSTEM WEKA 3.6.7 UNDER THE GUIDANCE Dr. N.P. DHAVALE, DGM, INFINET Department SUBMITTED TO INSTITUTE FOR DEVELOPMENT AND RESEARCH IN BANKING TECHNOLOGY

### Architectural Design

Software Engineering Architectural Design 1 Software architecture The design process for identifying the sub-systems making up a system and the framework for sub-system control and communication is architectural

### CE 490 Transportation Engineering Network Analysis

CE 490 Transportation Engineering Network Analysis The purpose of this assignment is to conduct a network analysis and gain some experience in emerging microcomputer analysis techniques. 1) Select a network

### Webpage maker Manual. 2. General structure. 3. List of elements. 4. Inserting elements 4.1 Image 4.2 Text 4.3 Buttons 4.4 Information 4.

Webpage maker Manual 1. What is Webpage Maker? 2. General structure 3. List of elements 4. Inserting elements 4.1 Image 4.2 Text 4.3 Buttons 4.4 Information 4.5 Contact 4.6 Description 5. Eliminating elements

### Using MindManager 14

Using MindManager 14 Susi Peacock, Graeme Ferris, Susie Beasley, Matt Sanders and Lindesay Irvine Version 4 September 2014 2011 Queen Margaret University 1. Navigating MindManager 14... 3 Tool Bars and

### What is UNIX? A Little Bit about UNIX and User Interfaces

What is UNIX? A Little Bit about UNIX and User Interfaces Copyright 2006 Stewart Weiss What is UNIX? It is a multi-user, multi-tasking operating system. An operating system is a program or collection of

### COS 333: Advanced Programming Techniques

COS 333: Advanced Programming Techniques How to find me bwk@cs, www.cs.princeton.edu/~bwk 311 CS Building 609-258-2089 (but email is always better) TA's: Stephen Beard, Chris Monsanto, Srinivas Narayana,

### PaperlessPrinter. Version 3.0. User s Manual

Version 3.0 User s Manual The User s Manual is Copyright 2003 RAREFIND ENGINEERING INNOVATIONS All Rights Reserved. 1 of 77 Table of Contents 1. 2. 3. 4. 5. Overview...3 Introduction...3 Installation...4

### Object-Oriented Software Specification in Programming Language Design and Implementation

Object-Oriented Software Specification in Programming Language Design and Implementation Barrett R. Bryant and Viswanathan Vaidyanathan Department of Computer and Information Sciences University of Alabama

### Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Eastern Washington University Department of Computer Science Questionnaire for Prospective Masters in Computer Science Students I. Personal Information Name: Last First M.I. Mailing Address: Permanent

### This process contains five steps. You only need to complete those sections you feel are relevant.

PebblePad: Webfolio What is this tool for? A Webfolio is an evidence-based web site that is used to present stories about yourself or stories about your learning. They can contain any number of pages which

### Information and Communication Technology Skills. QQI Level 4

Information and Communication Technology Skills QQI Level 4 1 Table of Contents Introduction:... 3 Course Duration:... 3 Investment:... 4 Course Purpose:... 4 Who is it for?:... 4 Course Benefits:... 4

### Your first C program. Which one is best?

Your first C program #include void main(void) { printf( Hello, world!\n ); } #include void main(void) { printf( Hello, ); printf( world! ); printf( \n ); } Which one is best? #include

### How the Session Works

How the Session Works Outline Practical on arrival Talk 1 Reflect on practical Clarify concepts Practical exercises at your own pace Talk 2: Further concepts Overall reflection Continue practical exercises

### Visual Basic Programming. An Introduction

Visual Basic Programming An Introduction Why Visual Basic? Programming for the Windows User Interface is extremely complicated. Other Graphical User Interfaces (GUI) are no better. Visual Basic provides

### TUTORIAL FOR INITIALIZING BLUETOOTH COMMUNICATION BETWEEN ANDROID AND ARDUINO

TUTORIAL FOR INITIALIZING BLUETOOTH COMMUNICATION BETWEEN ANDROID AND ARDUINO some pre requirements by :-Lohit Jain *First of all download arduino software from www.arduino.cc *download software serial

### So you want to create an Email a Friend action

So you want to create an Email a Friend action This help file will take you through all the steps on how to create a simple and effective email a friend action. It doesn t cover the advanced features;

### Generating Automated Test Scripts for AltioLive using QF Test

Generating Automated Test Scripts for AltioLive using QF Test Author: Maryam Umar Contents 1. Introduction 2 2. Setting up QF Test 2 3. Starting an Altio application 3 4. Recording components 5 5. Performing

### Switching from PC SAS to SAS Enterprise Guide Zhengxin (Cindy) Yang, inventiv Health Clinical, Princeton, NJ

PharmaSUG 2014 PO10 Switching from PC SAS to SAS Enterprise Guide Zhengxin (Cindy) Yang, inventiv Health Clinical, Princeton, NJ ABSTRACT As more and more organizations adapt to the SAS Enterprise Guide,

### Introduction to IBM SPSS Statistics

CONTENTS Arizona State University College of Health Solutions College of Nursing and Health Innovation Introduction to IBM SPSS Statistics Edward A. Greenberg, PhD Director, Data Lab PAGE About This Document

### Application Software

Application Software Application Software Application software consists of programs designed to make users more productive and/or assist them with personal tasks. Users can create documents, develop presentations,

### by Jonathan Kohl and Paul Rogers 40 BETTER SOFTWARE APRIL 2005 www.stickyminds.com

Test automation of Web applications can be done more effectively by accessing the plumbing within the user interface. Here is a detailed walk-through of Watir, a tool many are using to check the pipes.

### Software User's Guide

Software User's Guide Brother QL-series The contents of this guide and the specifications of this product are subject to change without notice. Brother reserves the right to make changes without notice

### Steven Wood Software, 2 Harksome Hill, West Hunsbury Northampton. NN4 9YF. United Kingdom

The Time Location Chart originates from a project management system known as Line of Balance or Elemental Trend Analysis, which is used on projects which are repetitive and require strict trade sequencing,

### Implementação. Interfaces Pessoa Máquina 2010/11. 2009-11 Salvador Abreu baseado em material Alan Dix. Thursday, June 2, 2011

Implementação Interfaces Pessoa Máquina 2010/11 2009-11 baseado em material Alan Dix 1 Windowing systems Architecture Layers Higher level Tool UI Toolkit (Widgets) Window System OS Application Hardware

### Integration of C++ digital processing libraries and VTK through Tcl/Tk dynamic loadable extensions

Visualization Development Environments 2000 Proceedings Integration of C++ digital processing libraries and VTK through Tcl/Tk dynamic loadable extensions Javier Suárez-Quirós, Daniel Gayo-Avello, Juán

### Avery DesignPro 2000 User Guide

Avery DesignPro 2000 User Guide Creating labels and cards for your personal needs is easy with Avery DesignPro 2000 Avery DesignPro 2000 User Guide First edition of the condensed user manual for Avery

### Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Eastern Washington University Department of Computer Science Questionnaire for Prospective Masters in Computer Science Students I. Personal Information Name: Last First M.I. Mailing Address: Permanent

### 2010 Document Template Administration. User Guide. Document Template Administration

User Guide Document Template Administration Page 1 Document Template Administration and Related Features: Features and Related Topics: 1 Document Template Administration:...3 2 Creating a New E-Mail Document

### AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping 3.1.1 Constants, variables and data types Understand what is mean by terms data and information Be able to describe the difference

### HOUR 3 Creating Our First ASP.NET Web Page

HOUR 3 Creating Our First ASP.NET Web Page In the last two hours, we ve spent quite a bit of time talking in very highlevel terms about ASP.NET Web pages and the ASP.NET programming model. We ve looked

### PowerPoint PowerPoint 2010 for Academic Posters. IT Services

IT Services PowerPoint 2010 PowerPoint 2010 for Academic Posters University Templates Page Layout Text Images Position and Alignment Tables and Charts Print your Poster Further Help UNIVERSITY OF LEICESTER

### THE WHIM WINDOW MANAGER

1 Introduction THE WHIM WINDOW MANAGER Steve Redler IV, SCSE SR Technology New Jersey U.S.A George Peter Staplin Abstract Whim is a window manager written for the X11 graphical windowing system that has

### Visualization SIMATIC. Visualization. Present sample project. HMI configuration. Insert HMI device from libraries 3. Configuring HMI connection 4

Present sample project 1 HMI configuration 2 SIMATIC Getting Started Insert HMI device from libraries 3 Configuring HMI connection 4 Configuring system diagnostics 5 Simulating an HMI device 6 05/2014