Framework for Interactive Applications Matthew Korchinsky Advisor: Aaron Cass Senior Project – Computer Engineering – 2006 Abstract The Java language was.

Slides:



Advertisements
Similar presentations
Design, prototyping and construction
Advertisements

Agenda Definitions Evolution of Programming Languages and Personal Computers The C Language.
Programming Paradigms and languages
Representing and Querying Correlated Tuples in Probabilistic Databases
1 Cognitive Walkthrough zEvaluation method based on the idea that… ythe user learns about the interface in an exploratory way, ythe user has goals,  the.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
SDP Languages and Environments. Types of Languages and Environments There are 4 main types of language that you must be able to describe at Higher level.
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.
VBA Modules, Functions, Variables, and Constants
Slides prepared by Rose Williams, Binghamton University Chapter 17 Swing I.
Object Oriented System Development with VB .NET
Chapter 9_3 Following Instructions: Principles of Computer Operation.
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
11 3 / 12 CHAPTER Databases MIS105 Lec14 Irfan Ahmed Ilyas.
Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design Third Edition.
Matthew J Mattia CSC  Cumbersome Code  Consistent/Predictable design (GUEPs #5, CD’s #10)  Display “proper” amount of information  Including.
The chapter will address the following questions:
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Fruitful functions. Return values The built-in functions we have used, such as abs, pow, int, max, and range, have produced results. Calling each of these.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design.
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
Chapter 7 Structuring System Process Requirements
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
Explanation Facility دكترمحسن كاهاني
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
Java Software Solutions Lewis and Loftus Chapter 10 1 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Graphical User Interfaces --
Ways for Improvement of Validity of Qualifications PHARE TVET RO2006/ Training and Advice for Further Development of the TVET.
Week 4 Introduction to Computer Science and Object-Oriented Programming COMP 111 George Basham.
Section 17.1 Add an audio file using HTML Create a form using HTML Add text boxes using HTML Add radio buttons and check boxes using HTML Add a pull-down.
Learning objectives By the end of this lecture you should be able to:  have a well-earned rest! Ch 24 Beyond the second semester.
Design and Programming Chapter 7 Applied Software Project Management, Stellman & Greene See also:
Content The system development life cycle
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Methodologies of the SDLC Traditional Approach to SDLC Object-Oriented Approach to SDLC CASE Tools.
Slides prepared by Rose Williams, Binghamton University ICS201 Lecture 13 : Swing I King Fahd University of Petroleum & Minerals College of Computer Science.
Week 4 Introduction to Computer Science and Object-Oriented Programming COMP 111 George Basham.
Dale Roberts Introduction to Visual Programming Dale Roberts, Lecturer Computer Science, IUPUI Department of Computer and.
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
Computing System Fundamentals 3.1 Language Translators.
1 Lecture 15: Chapter 19 Testing Object-Oriented Applications Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman.
Common Core State Standards in English/Language Arts What science teachers need to know.
JavaScript Introduction and Background. 2 Web languages Three formal languages HTML JavaScript CSS Three different tasks Document description Client-side.
Project Information Abstract Project Objectives The objective of this project is to: Create a visual designer that will allow inexperienced end- users.
Procedural programming Procedural programming is where you specify the steps required. You do this by making the program in steps. Procedural programming.
Learners Support Publications www. lsp4you.com Database Users and Administrator.
Microsoft Visual Basic 2015 CHAPTER ONE Introduction to Visual Basic 2015 Programming.
Part 1 The Basics of Information Systems. Purpose of Information Systems Information systems ◦ Collects, stores and organizes information ◦ Retrieves.
Supporting Literacy for Students with Developmental Disabilities Being a Literacy Partner.
Chapter 1 The Systems Development Environment
Chapter 1 The Systems Development Environment
Dronely: A Visual Block Programming Language for the Control of Drones
Introduction to Visual Basic 2008 Programming
Design and Manufacturing in a Distributed Computer Environment
Java Beans Sagun Dhakhwa.
Chapter 1 The Systems Development Environment
Chapter 1 The Systems Development Environment
Chap 7. Building Java Graphical User Interfaces
Chapter 24 Testing Object-Oriented Applications
Framework for Interactive Applications
Usability Techniques Lecture 13.
Chapter 19 Testing Object-Oriented Applications
Using Functions
Chapter 7 –Implementation Issues
Chapter 19 Testing Object-Oriented Applications
Chapter 1 The Systems Development Environment
Presentation transcript:

Framework for Interactive Applications Matthew Korchinsky Advisor: Aaron Cass Senior Project – Computer Engineering – 2006 Abstract The Java language was written to accomplish many different tasks therefore it is made up of a large number of classes. Although Java is extremely versatile it can be cumbersome to use when one is designing an interactive application, especially for beginners. One negative aspect is the complex listening system Java uses to service events. When one is learning event programming the listening system can be complex and difficult to learn. Another is the large amount of possible classes to use to create an effective Graphical User Interface. Although this allows for many different designs it could overwhelm the programmer. This project seeks to aid both of these problems by creating a new event system and a tailored set of classes that can be used in a wide variety of interactive applications. Inspiration and Background The idea for the new event system comes from a framework called QT which is used for C++ ( This system uses a “Signal – Slot” relationship instead of listeners to respond to events. When the programmer is creating their application, signals are simply “connected” to slots. At runtime, when the signals are emitted in the program, the appropriate slot is retrieved and invoked. QT uses a automatic code generation script for the code to invoke methods, however this piece of the event system was improved upon in the Java version. Evaluation The source code was given to three students. All three students had varying levels of Java knowledge ranging from intermediate event programming experience to expert event programming experience. The students were asked to write a simple application with two buttons that printed out different statements based on what button was pressed. They had to perform this task using the new framework and the old Java listening system. The new event system received mixed reviews and the students stated their previous knowledge of Java listeners as the reason. Connections and Data Structures The connections are managed using a Java HashMap data structure. In each connection there are four objects that must be stored, however a HashMap can only relate two objects. The source and signal had to be packaged together using a new data structure (SourceSignalPair) and the destination and slot were also packaged together (DestSlotPair). This allowed the HashMap to be used to relate a SourceSignalPair to a DestSlotPair. Connect, Emission of Signals, and Reflection To connect a signal to a slot the user must specify the source of the event, the signal name, the object where the slot is defined, and the slot name. The user can also define their own signals and emit them at the appropriate time using the emit method. They can specify the source, signal name, and the required parameters when calling the emit method. To alleviate the problem of an automatic code generation script Java Reflection was used to invoke the slots when the signals were emitted. Future Work More time can be devoted to creating a tailored set of classes that can be used across a wide variety of interactive applications. Also a new evaluation would be helpful among event programming beginners to determine whether the goal of the framework has been truly achieved.