Java State Explorer by: Richard Sherman Stephanie Taylor.

Slides:



Advertisements
Similar presentations
What is Computer Software?. Hardware vs Software Got to have both to get the job done!
Advertisements

What is a Computer Program? For a computer to be able to do anything (multiply, play a song, run a word processor), it must be given the instructions.
An Overview Of Virtual Machine Architectures Ross Rosemark.
J-Interop Open Source Java COM Bridge. Contents What is it ? Comparison with Java Native interface Comparison with J-Integra® for COM Benefits of using.
Review What is a virtual function? What can be achieved with virtual functions? How to define a pure virtual function? What is an abstract class? Can a.
P5, M1, D1.
Dr. Ken Hoganson, © August 2014 Programming in R COURSE NOTES 2 Hoganson Language Translation.
Programming Basic Concepts © Juhani Välimäki 2003.
Supporting Simulations on the Cloud using Workflows & Virtual Machines Gary Polhill Macaulay Land Use Research Institute Edoardo Pignotti Computing Science,
Copyright © 2002 W. A. Tucker1 Chapter 1 Lecture Notes Bill Tucker Austin Community College COSC 1315.
Brief Introduction to Java and C# Dahai Guo Oracle Certified Java Programmer (SCJP) Associate Professor and Program Director Software Engineering Program.
MC697 Object-Oriented Programming Using Java. In this class, we will cover: How the class will be structured Difference between object-oriented programming.
Java.  Java is an object-oriented programming language.  Java is important to us because Android programming uses Java.  However, Java is much more.
got ? Research Project – April 1998 Hang Xia, Mark Wang, Richard S. Chang Updated: R Norman, August 1999.
Java: History and Introduction (Lecture # 1). History… Java – Based on C and C++ – Developed in 1991 for intelligent consumer electronic devices – Green.
T-diagrams “Mommy, where do compilers come from?” Adapted from:
01 Introduction to Java Technology. 2 Contents History of Java What is Java? Java Platforms Java Virtual Machine (JVM) Java Development Kit (JDK) Benefits.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Computer Programming I Hour 1-Getting Started. Word of Day —Chinese proverb A journey of a thousand miles is started by taking the first step. —Aristophanes.
Interactive Biochemistry JavaLab.chem.virginia.edu Charles M. Grisham University of Virginia.
CSCI 224 Introduction to Java Programming. Course Objectives  Learn the Java programming language: Syntax, Idioms Patterns, Styles  Become comfortable.
M1G Introduction to Programming 2 4. Enhancing a class:Room.
I. Pribela, M. Ivanović Neum, Content Automated assessment Testovid system Test generator Module generators Conclusion.
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
1 8/29/05CS360 Windows Programming Professor Shereen Khoja.
Marcelo de Paiva Guimarães Bruno Barberi Gnecco Marcelo Knorich Zuffo
LINUX System : Lecture 3 Vmware, Cygwin, LINUX installation Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang University.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
An intro to programming. The purpose of writing a program is to solve a problem or take advantage of an opportunity Consists of multiple steps:  Understanding.
A Spring 2005 CS 426 Senior Project By Group 15 John Studebaker, Justin Gerthoffer, David Colborne CSE Dept., University of Nevada, Reno Advisors (CSE.
CHAPTER FOUR COMPUTER SOFTWARE.
Introduction to Interactive Media Interactive Media Tools: Software.
Why Java? A brief introduction to Java and its features Prepared by Mithat Konar.
Chapter 1 What is Programming? Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition) by S.N. Kamin, D. Mickunas, E.
Operating Systems TexPREP Summer Camp Computer Science.
Java Introduction to JNI Prepared by Humaira Siddiqui.
Versus JEDEC STAPL Comparison Toolkit Frank Toth February 20, 2000.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Java Tutorial Ethan New York University.
Welcome to / Bienvenue à A Introduction to Computing II Instructor: William Renner TA: TBA Course website: Fall Session.
McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 4 Computer Software.
Module 4 Part 2 Introduction To Software Development : Programming & Languages Introduction To Software Development : Programming & Languages.
Open Source Software JAVA Sean Thompson Itec 400 4/5/07.
Getting started with Programming using IDE. JAVA JAVA IS A PROGRAMMING LANGUAGE AND A PLATFORM. IT CAN BE USED TO DELIVER AND RUN HIGHLY INTERACTIVE DYNAMIC.
The course. Description Computer systems programming using the C language – And possibly a little C++ Translation of C into assembly language Introduction.
Introducing Moon the Next Generation Java TM Processor Core VULCAN MACHINES’ MOON PROCESSOR CORE.
Copyright © Mohamed Nuzrath Java Programming :: Syllabus & Chapters :: Prepared & Presented By :: Mohamed Nuzrath [ Major In Programming ] NCC Programme.
Performance of New the ACL Cesar Cavazos Accounting Information Technology (AIT)
Computer Software Types Three layers of software Operation.
1 Software. 2 What is software ► Software is the term that we use for all the programs and data on a computer system. ► Two types of software ► Program.
A compiler is a computer program that translate written code (source code) into another computer language Associated with high level languages A well.
D R A T D R A T ABSTRACT Every semester each department at Iowa State University has to assign its faculty members and teaching assistants (TAs) to the.
1 Chapter 1 Programming Languages Evolution of Programming Languages To run a Java program: Java instructions need to be translated into an intermediate.
By: Cheryl Mok & Sarah Tan. Java is partially interpreted. 1. Programmer writes a program in textual form 2. Runs the compiler, which converts the textual.
What is Computer Software?. Hardware vs Software Got to have both to get the job done!
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
ArgoUML Peterson Lorins Chi-Hwa John Marcos Dawid Trawczynski Leticia Izquierdo EEL5881 Software Engineering I Spring 2002 – Dr. Schiavone.
Psychophysics Software Suite Yearly project for Dr. Karen Banai.
ITP 109 Week 2 Trina Gregory Introduction to Java.
Chapter 1 An Overview of Computers and Programming Languages.
20-753: Fundamentals of Web Programming Copyright © 1999, Carnegie Mellon. All Rights Reserved. 1 Lecture 15: Java Basics Fundamentals of Web Programming.
Introduction of Wget. Wget Wget is a package for retrieving files using HTTP and FTP, the most widely-used Internet protocols. Wget is non-interactive,
PROGRAMMING (1) LECTURE # 1 Programming and Languages: Telling the Computer What to Do.
CopperDroid Logan Horton. Android - Background Android is complicated to analyse due to having 2 places to check for code execution Normally, code is.
Sung-Dong Kim, Dept. of Computer Engineering, Hansung University Java - Introduction.
Basic 1960s It was designed to emphasize ease of use. Became widespread on microcomputers It is relatively simple. Will make it easier for people with.
Done By: Ashlee Lizarraga Ricky Usher Jacinto Roches Eli Gomez
Hardware and Software Hardware refers to the physical devices of the computer system e.g. monitor, keyboard, printer, RAM etc. Software is a set of programs,
TexPREP Summer Camp Computer Science
Presentation transcript:

Java State Explorer by: Richard Sherman Stephanie Taylor

Project Goals Ultimate goal - Rewrite Dr. Chow’s SETOOL in Java. Wanted a solution that allows users to run it from other Operating Systems besides UNIX Semester goal - Understand the reachability analysis software better, design the new classes & objects in Java, and begin implementation

Description SETOOL is a program that performs reachability analyses. It was written in C and makes calls to Openwin/Xview for its GUI. We designed the new version in Java The new tool is called the Java State Explorer (JSE).

SETOOL Recap Two machines we want to generate a reachability graph from

Machine M

Protocol Diagram

Analysis Examined the structures in the current code Determined objects and classes for JSE Examined Xview calls for mapping to Java Swing –unfortunately, no 1-1 mapping

Implementation Challenges Time constraints –At initial examination, SETOOL looked easy to port or rewrite –Needed to learn Swing before initial implementation could be done Reachability Analysis Algorithm –SETOOL’s C code hard to follow (many pointers)

Why Not Use JNI? Java Native Interface (JNI) allows programmers to utilize platform- specific functionality outside the Java Virtual Machine Code should be platform independent to reach project goal

Why Rewrite In Java? Pure Java solution Compile once, run anywhere Object-oriented design lends to increased readability & maintainability

Class Diagram

JSE 1.0

Load Machine Dialog

Protocol Dialog

Future Work Still much coding to be done –Interactive Drawing of Machines using GUI Interface –Reachability Analysis –Saving Machines to Disk File