Framework for Interactive Applications

Slides:



Advertisements
Similar presentations
Software Development Languages and Environments. Programming languages High level languages are problem orientated contain many English words are easier.
Advertisements

Visual Basic: An Object Oriented Approach 2 – Designing Software Systems.
ABSTRACT The goal of this project was to create a more realistic and interactive appliance interface for a Usability Science class here at Union. Usability.
SEERE, Neum 2009 Runtime verification of Java programs using ITL Vladimir Valkanov, Damyan Mitev Plovdiv, Bulgaria.
Java Software Solutions Foundations of Program Design Sixth Edition by Lewis & Loftus Chapter 9: Polymorphism Coming up: Binding.
CS 178: Programming with Multimedia Objects Aditya P. Mathur Professor of Computer Sciences Purdue University, West Lafayette Sept 9, 2004 Last update:
Slides prepared by Rose Williams, Binghamton University Chapter 17 Swing I.
© 2009 Research In Motion Limited Methods of application development for mobile devices.
I.1 ii.2 iii.3 iv.4 1+1=. i.1 ii.2 iii.3 iv.4 1+1=
I.1 ii.2 iii.3 iv.4 1+1=. i.1 ii.2 iii.3 iv.4 1+1=
Context related Endorsements Aseel Addawood. Amal al-Qahtani Profile.
Chapter 7 Improving the User Interface
Introduction to Java Swing “We are the sultans of swing” – Mark Knopfler.
Problems with reuse – Increased maintenance costs; lack of tool support; not-invented- here syndrome; creating, maintaining, and using a component library.
Evaluation IMD07101: Introduction to Human Computer Interaction Brian Davison 2010/11.
MVC and MVP. References enter.html enter.html
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
Automated GUI testing How to test an interactive application automatically?
Capstone Design A Pedagogical Tool for Usability Science Susan Beckhardt Advisors: Chris Fernandes Aaron Cass James Hedrick.
Chapter 14 Part II: Architectural Adaptation BY: AARON MCKAY.
Slides prepared by Rose Williams, Binghamton University ICS201 Lecture 13 : Swing I King Fahd University of Petroleum & Minerals College of Computer Science.
Automated GUI testing How to test an interactive application automatically?
Dale Roberts Introduction to Visual Programming Dale Roberts, Lecturer Computer Science, IUPUI Department of Computer and.
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
Software Production Chapter 2: Identifying Software Development Activities.
Creating a Qt Widget Based Application From Qt Creator Manual.
QT Programming QT Programming Ruku Roychowdhury. Background QT is a cross platform application framework. Widely used to develop GUI applications. Originally.
Framework for Interactive Applications Matthew Korchinsky Advisor: Aaron Cass Senior Project – Computer Engineering – 2006 Abstract The Java language was.
Java Software Solutions Lewis and Loftus Chapter 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 1 Software Development Process.
GUIs Basic Concepts. GUI GUI : Graphical User Interface Window/Frame : a window on the screen Controls/Widgets : GUI components.
Data gathering (Chapter 7 Interaction Design Text)
Testing OO Software Encapsulation means modeling and storing with an object the parts and the operations. Interactions become implicit in code. Makes difficult.
Survey on quality and usage of public e-services.
12-Jun-16 Event loops. 2 Programming in prehistoric times Earliest programs were all “batch” processing There was no interaction with the user Input Output.
An AV Control Method Using Natural Language Understanding Author : M. Matsuda, T. Nonaka, and T. Hase Date : Speaker : Sian-Lin Hong IEEE Transactions.
September 24th 2006, aKademy The Design and Implementation of KJSEmbed Richard Moore,
CSC 205 Programming II Lecture 5 AWT - I.
Geospatial Research & Solutions GIS.ASU.EDU
Unit 2 Technology Systems
Web Routing Designing an Interface
ATM OO Design and Implementation Case Study
Event Loops and GUI Intro2CS – weeks
Event loops 16-Jun-18.
Thesis Defense Institute for Software Research Software Engineering
Chapter Eleven Handling Events.
Software Life Cycle Models
Miscellaneous Topics #6: Polygons GUI Components and Event Handlers
Chap 7. Building Java Graphical User Interfaces
Graphical User Interfaces -- Introduction
Event Driven Programming
Developing Applications
Introduction to Struts
CS102 – Bilkent University
Event loops.
Reusability 11/29/2018© 2006 ITT Educational Services Inc.
Custom Widgets & Events
Java Tutorial – Application Building
Rational Rose 2018/12/30.
Event Driven Systems and Modeling
Using Functions
Programming.
Event loops 17-Jan-19.
Event loops 17-Jan-19.
The Ergonomics of Programming
Event loops 8-Apr-19.
Solving Equations 3x+7 –7 13 –7 =.
Tonga Institute of Higher Education
Object Oriented Design
Event loops.
Event loops 19-Aug-19.
Presentation transcript:

Framework for Interactive Applications Matt Korchinsky Advisor: Aaron Cass

Agenda Problem Statement Background and Current Work Design and Implementation Issues Evaluation Future Work

Problems to Solve Java's Listening event system is sometimes difficult to understand for beginners. Java has a wide array of classes for use with interactive applications Creating large scale applications can be difficult when both of these factors are combined

Background & Current Work Different event system already implemented for use with C++ Learned how to use QT framework while employed this summer (www.trolltech.com) C++ version uses code generation script Decided to replicate the event system using Java to replace the current listening system.

Example

New Event System

Design & Implementation I Designed for use with Java events as well as user defined events One simple class manages all connections and handles listening for Java events

Design & Implementation II Event system uses connect method to connect a “signal” to a “slot” Slots are implemented methods signals are not When connecting Java events, listeners must be used

Design & Implementation III Emit method allows users to emit their own signals when appropriate Looks up the correct slot and calls it

Design & Implementation IV Uses Java Reflection to correctly implement “Signal – Slot” relationship instead of interfaces When correct slot is found, the method is called using the invoke method

Coding Problems Need to listen to handle Java events Connecting Java events to emit user defined events Invoking user defined methods when events occur

Data Structures Problem Java HashMap can only relate two objects, the key and the value Four objects are involved in one connection

Evaluation Gave three experienced students the framework source code Asked them to create a simple application containing two buttons using the framework Asked them to create the same type of application using Java listeners Gave them a questionnaire to evaluate the effectiveness of the new event system

Future Work Larger set of custom widgets for interactive applications Test this framework in “Large Scale Software Design” class to evaluate effectiveness for event programming beginners

Questions?