Wireless Internet Tutoring System Design Document. Nadya Belov, Dmitriy Bespalov, Ilya Braude, Immanuel Comer, Daniel Lapadat, Andrew Ragone
|
|
- Kristopher Gilbert
- 6 years ago
- Views:
Transcription
1 Wireless Internet Tutoring System Design Document Nadya Belov, Dmitriy Bespalov, Ilya Braude, Immanuel Comer, Daniel Lapadat, Andrew Ragone
2 Contents Introduction 4. Goals and Guidelines Usability Testing General 4 2. Canvas Services Network Message Parser Client 5 3. ClientCanvas GUI WitsClient ClientSessionManager ClientServiceManager Server 6 4. ServerCanvas Session ServerServiceManager ServiceDescription User ServerSessionManager Client-Server Communication Protocol 7 6 UML Design 8 2
3 List of Figures Top-Level System Architecture General Architecture Client Architecture Server Architecture Data Flow Diagram
4 Introduction The Wireless Internet Tutoring System WITS, overcomes the problems of text-based messaging by allowing for an environment where text, symbols, and graphics can be manipulated and transmitted by persons involved in the tutoring session. WITS is the integration of special software with bleeding-edge hardware available today. WITS allows a tutor to help a student while being geographically separated. It provides the tools which allow a tutor to quickly and efficiently convey his knowledge about a particular math subject to his tutee using textual and graphical representations. This document presents the architectural design of WITS. The design outlines the high-level and low-level architecture specifying all of the objects that are necessary in WITS as well as their interaction with each other and the flow of information in the system. The architectural diagrams are presented using UML and provide detailed class headers along with several message protocols that are used for inter-component interaction. The proposed design is lightly coupled, modular and extensible. The overall architecture of WITS can be described as a client-server architecture, however, a notion of services is introduced. These services need not be specifically tailored to WITS and may be stand-alone applications that will service WITS along with other systems. A significant push in the light coupling design of the WITS system was done by the fast-paced technological advancement in the current world of computing.. Goals and Guidelines In assuring that the WITS is delivered on-time and satisfies all of the original requirements specified in the Requirements Document and reinforced in this document, careful outlining of development schedules and procedures as well as testing must be implemented. In order to assure that our system will be delivered on-time, our team has established development and testing guidelines. We plan on developing our client and server components concurrently. In developing each of those components, we will implement an evolutionary model to ensure that rudimentary functionality has been established before any complex features are implemented. At the completion of each of the development phases which will include a new set of functionalities, extensive testing will be implemented to make sure that the system as it currently stands can run on the chosen hardware (Treo 600) and a demonstration with a basic scenario can be accomplished..2 Usability Testing Usability of a particular system can augment the user in accomplishing a set task. In order to insure that WITS is usable by users of all skill levels (beginner, intermediate and expert), computational and heuristic usability testing methods will be employed at the final stage of testing. This effort will furthermore assist us in the creation of final documentation which will include user manuals and tutorials. 2 General 2. Canvas This is an abstract class that both ServerCanvas and ClientCanvas implement. Canvas provides and interface to receive and provide information into the chat, graphics and caption logs. 2.2 Services Services provide the system with additional capabilities that would not be included otherwise. Reasons may include CPU speeds, memory, complexity, or intensive calculations. Our client system is limited by the device that it is running on. Services allow the client to perform tasks that it otherwise would not have the power to 4
5 do. An example of this is LATEX rendering. The application that does the latex rendering is several Megabytes in size and would be processed slowly if rendered on the client. Services allow the clients to render the latex independently. They are autonomous and know nothing about the WITS system. They can implement their own protocols and even be distributed throughout the network or run locally. The modular design approach used in making the services and independent and non-critical components allows for a significant amount of freedom in the range of systems the WITS system can run on. If clients are on opposite ends of the world they can have their local services render the latex for them, hardware and software capabilities permitting. It must be noted that services are not limited to just rendering latex or even rendering capabilities. As our system evolves and becomes more sophisticated, so will the services that may be associated with our system that will provide WITS clients with certain capabilities. As shown in the UML diagram depicting the architecture of the WITS Server, the WitsServer object will contain a ServiceManager object that will be responsible for providing the services to the server. If the client, however, already knows about the available services, it will be able to use these services without accessing the WitsServer. This modular design also allow the services to provide other systems with their service. The services may have capabilities to make themselves known. Given such capabilities, both the client and server side of our architecture will be allowed to utilize these services simultaneously and independently. 2.3 Network The Network object sends and receives data from the network. Because of the time-critical nature of data exchanged between the server and client, our Network layer uses the TCP protocol as it s underlying transport format. TCP guarantees that data is received in the order that it was sent, and that it does not get corrupted along the way. WITS uses it s own protocol, described in Section 5 to handle client-server communications. Translation between Java objects and our protocol is handled by the Parser (Section 2.3.2). The Network object contains a Java Socket that it uses to communicate with the physical network. The exact Java code for establishing and maintaining a Java Socket will vary on the server and client platforms, but the function and interface are the same Message The Message class represents all messages that are passed throughout our system. Specific instances of this class can express information such as shape additions and deletions, chat messages, and session management directives Parser The Parser translates between the Message class and the WITS communications protocol. Received data gets transformed into a Message object and propagated upwards in the system. Conversely, Message objects are translated into a representation consistent with our protocol and sent through the network. 3 Client 3. ClientCanvas The ClientCanvas implements the Canvas object discussed prior in this document. The ClientCanvas object is customized specifically for the client-side of the WITS system and is responsible for providing the user-interface with which a user will interact with. ClientCanvas is a member of the GUI object. Together, the ClientCanvas 5
6 object and the GUI object provide a complete graphical user interface to the user. Specifically, the WITS system contains a notion of modes which are specific screen arrangements each providing a specific task for the user. For example, there are Draw and SplitScreen modes. ClientCanvas provides the user interface for the modes and augments the GUI object in capturing all of the changes made by the local user as well as the changes made by the other users in the same session. 3.2 GUI The GUI object, briefly mentioned in the description of the ClientCanvas object is a major component of the userinterface part of the WITS Client. The GUI object, contains a ClientCanvas object and uses it to create several modes which a user may use to enter and view information while using the WITS system. The modes are Draw, Text, SplitScreen and Options modes. For example, the SplitScreen mode provides the functionality of both the Draw and Text modes by displaying both and separating them via a divider. While the ClientCanvas is used to compose the modes, the GUI object will be responsible for acting on user-generated events such as various button presses or drawings and will furthermore provide the user with updates that were generated by the WitsServer object in an effort to bring all members of a session up-to date. 3.3 WitsClient This is placeholder class that has access to all objects on the client side. This is needed in case threading is not implemented on the client operating system. If it is not, a scheduling algorithm will be placed here that will poll the appropriate classes 3.4 ClientSessionManager The ClientSessionManger object contains information about the WitsServer. This information includes the IP address and port of the server, the user name, and the current session that the user is in. This will enable the client to automatically reconnect, should the connection be severed, and help in identifying the client when it initiates communications. 3.5 ClientServiceManager The ClientServiceManager object maintains a list of services available to the client. When an object cannot be serviced or rendered by the GUI and Canvas, it is passed to the Service Manager. The Service Manager tries to satisfy the request by using one of the services that are available to it. The output of the service or failure are returned back to the user. For an example, consider a LATEX string as input. The GUI and Canvas are not able to render the math formula due to device limitations. Therefore, the latex code is sent to a LATEX rendering service through the Service Manager. A JPEG image is then returned back to the GUI. 4 Server 4. ServerCanvas The ServerCanvas object implements the Canvas object described earlier in this document. The server component of the WITS system does not contain any graphical components or a user-interface because the server does not have a single user. ServerCanvas keeps an up-to-date representation of the session, including the shape modification and captions history, and the chat history. This will allow for new users to a session to instantly receive the current state for that tutoring session. A similar technique will be applied to users who reconnect 6
7 after a dropped connection. Updates to the canvas by a client will be propagated to the rest of the clients in the same session. 4.2 Session A Session objects describes a session between a tutor and several tutees. Each Session consists of a name, list of Users ( 4.4) in the session, and a ServerCanvas object. The Session object is responsible for propagation changes from a single client to the rest of the users in the session. 4.3 ServerServiceManager The ServerServiceManager handles all of the services present to the network. Only descriptive information about the services is stored within the Server list of ServiceDescriptions. The implementation of each service is hidden from the Server. Clients can obtain information about the available services on the network from this component. The server will be able to use these services as well if that is needed ServiceDescription The ServiceDescription object contains a host name, a port number, a service name, and a description of the service that it provides. 4.4 User The User object holds a user name, and the Network object that the user is using to communicate with the server. 4.5 ServerSessionManager The Session Manager handles all sessions that exist on the server. This is the object that users will initially establish a connection with before being given to a Session. The ServerSessionManager also handles the creation, removal of Sessions, the addition of users to a Session and the removal of users from a Session. 5 Client-Server Communication Protocol The main task of the Network Component is to interpret messages from the components above it and transfer them into a message suitable for transfer across the network. This message should contain any updates, additions and deletions done to the current state of the world in the session. The message that will carry all of this information must be very flexible, modular and extensible. The message format, the protocol of which is described below, will be passed onto the network component as a string. The message will consist of the following format: Magic String Version Number Message Class Message Type Message Message Body Length wits 8 bits 4 bits 4 bits 8 bits Message Length bytes As can be seen from above, a concept of a magic number specified in our protocol as Magic String is used as a means of authentication to assuring that the message originated from a WITS client or server. Furthermore, a version number is used to allow flexibility in the WITS system where it may be necessary to run a client and a server that are of different versions. Each version may have more or less capabilities and needs and by specifying the version number, the server will be able to service that particular client accordingly, or vice versa. Message 7
8 Class and Message Type are used to specify the exact operation and message that this particular message is used to carry. That is, for example, an update of a shape will have to have to specify that the Message Class is an update and Message Type is shape. Using these two concepts we can make the message protocol flexible enough to allow for additions and updates to the protocol without having to change the format of the message and thus allowing for multiple versions. The last two components of the message, Message Length and Message Body are used to specify the specifics that would come with the given Message Class and Message Type. To continue with the example presented above (shape update), the specific shape object description is saved and placed in the Message Body. Let us for example suppose, that the particular shape is a triangle. The Message Body would incorporate the length of each side and the angles of the triangle. The message protocol is flexible in allowing for variable length messages that can be composed of different information in the Message Body. Bandwidth is limited on the hardware platform, Treo, and it is impractical to pad some messages that will not necessarily need to be as large as others that may need to be significantly larger in size. The details of the actual identifiers used to specify the specific type of Message Class and Message Type are left to implementation and will be specified in the final documentation. 6 UML Design WitsServer propagate update update from a client propagate update WitsClient WitsClient WitsClient... Figure : Top-Level System Architecture 8
9 ServerCanvas ClientCanvas -socket: Socket -parser: Parser Network +getdata(): byte[] +senddata(byte[]): void -chatlog: Vector -figures: Vector -caption: String Canvas +drawjpeg(obj:witjpeg): void +drawcircle(obj:witcircle): void +drawrectangle(obj:witrect): void +drawline(obj:witline): void +drawtriangle(obj:wittriangle): void +drawtext(obj:string): void +drawfreehand(coordinates:vector): void +addchattext(text:string): void Parser +parse(data:byte[]): Message +encode(msg:message): byte[] Message +magic_str: String +version: int +class: String +type: String +message: String[] -name: String -network: Network -service_type: String Service LatexService +renderlatex(in latexcommand:string,out RenderedLatex:JPEG) Figure 2: General Architecture 9
10 data that GUI can not handle (service) data that GUI can handle -services_list: Vector -established_services: Vector ClientServiceManager +processmessage(message:message): Object WitsClient -session_manager: ClientSessionManager -gui: GUI -network: Network -service_manager: ClientServiceManager +processmessage(message:message): void -socket: Socket -parser: Parser Network +getdata(): byte[] +senddata(byte[]): void -name: String -network: Network -service_type: String * Service -name: String -server_ip: String -port: int ClientSessionManager +connect(): void +disconnect(): void -freehandbutton: JButton -linewidthbutton: JButton -linecolorbutton: JButton -shapesbutton: JButton -circlebutton: JButton -rectbutton: JButton -linebutton: JButton -arttextbutton: JButton -captionbutton: JButton -symbolbutton: JButton -drawmodebutton: JButton -chatmodebutton: JButton -splitmodebutton: JButton -preferencemodebutton: JButton -sendbutton: JButton -donecaptionbutton: JButton -chattext: JText -chatscrollbar: JScrollbar -userchattext: JText -captiontext: JText -drawpanel: JPanel -chatpane: JPanel -currentpanel: JPanel -splitmodepanel: JPanel -preferncemodepanel: JPanel +handlebuttonclick(button:jbutton): void +handlemouseclick(x:int,y:int,): void +handlemousemove(x:int,y:int,): void +handlekeyboard(letter:char): void +handlefreehandbutton(): void +handlelinewidthbutton(): void +handlelinecolorbutton(): void +handleshapesbutton(): void +handlecirclebutton(): void +handlerectbutton(): void +handlelinebutton(): void +handlearttextbutton(): void +handlecaptionbutton(): void +handlesymbolbutton(): void +handledrawmodebutton(): void +handlechatmodebutton(): void +handlesplitmodebutton(): void +handlepreferencemodebutton(): void +handlesendbutton(): void +handledonecaptionbutton(): void +eventmovesliptmode(): void GUI ClientCanvas Figure 3: Client Architecture 0
11 WitsServer -session_manager: SessionManager -service_manager: ServiceManager -sessions: Vector ServerSessionManager +addsession(): void +adduser(user:user,session:session): void +removesession(session:session): void +removeuser(user:user,session:session): void -service_list: Vector +getservicelist(): Vector +removeservice(name:string): void +addservice(service_description:servicedescription): void ServerServiceManager update from user stores update -canvas: ServerCanvas -users: Vector -name: String Session +processmessage(in message:message): void * +name: String +IP: String +port: int +service_type: String ServiceDescription * ServerCanvas propagate update User -name: String -network: Network -session: Session * list of services -socket: Socket -parser: Parser Network +getdata(): byte[] +senddata(byte[]): void Figure 4: Server Architecture GUI ClientServiceManager Service Network(for the service) ServiceServer Network(for WitsServer) Network(on WitsServer) User Session Users processmsg( msg ) sends data to sends data to be network sends msg according to Service Protocol passes JPG back returns JPG processes message passes JPG back passes JPG back draws JPG on Canvas sends data to sends data to passes msg to calls processmessage sends message to all users returns returns returns returns returns Figure 5: Data Flow Diagram
Assignment 2 Team Project: Distributed System and Application
Assignment 2 Team Project: Distributed System and Application Dr. Rajkumar Buyya and Dr. Maria Sossa Cloud Computing and Distributed Systems (CLOUDS) Laboratory School of Computing and Information Systems
More informationEducational Fusion. Implementing a Production Quality User Interface With JFC
Educational Fusion Implementing a Production Quality User Interface With JFC Kevin Kennedy Prof. Seth Teller 6.199 May 1999 Abstract Educational Fusion is a online algorithmic teaching program implemented
More informationInternational Journal of Current Research and Modern Education (IJCRME) ISSN (Online): ( Volume I, Issue II, 2016
A CASE STUDY OF IMPLEMENTING A GDB INTERFACE BETWEEN AN ARM BASED IC SIMULATOR AND GNU DEBUGGER H. S. Sachin Kumar* & Trisila Devi Nagavi** Department of Computer Science & Engineering, Sri Jaya Chamarajendra
More informationAn Example. Unified Modelling Language - 2 ITNP090 - Object Oriented Software Design. Class diagram. Class diagram. Dr Andrea Bracciali
An Example We are going to look at a small example where we input information and then ask questions about an er and their pet. Requirements are that we will be able to Unified Modelling Language - 2 ITNP090
More informationCPS221 Lecture: Threads
Objectives CPS221 Lecture: Threads 1. To introduce threads in the context of processes 2. To introduce UML Activity Diagrams last revised 9/5/12 Materials: 1. Diagram showing state of memory for a process
More informationDiscover Robotics & Programming CURRICULUM SAMPLE
OOUTLINE 5 POINTS FOR EDP Yellow Level Overview Robotics incorporates mechanical engineering, electrical engineering and computer science - all of which deal with the design, construction, operation and
More informationTitle Core TIs Optional TIs Core Labs Optional Labs. All None 1.1.6, 1.1.7, and Network Math All None None 1.2.5, 1.2.6, and 1.2.
CCNA 1 Plan for Academy Student Success (PASS) CCNA 1 v3.1 Instructional Update # 2006-1 This Instructional Update has been issued to provide guidance on the flexibility that Academy instructors now have
More informationA Study on Information Connection Model using Rulebased Connection Platform
A Study on Information Connection Model using Rulebased Connection Platform Heeseok Choi, Jaesoo Kim NTIS Center, Korea Institute of Science and Technology Information, Daejeon, Korea Abstract - National
More informationHigher National Unit Specification. General information for centres. Unit code: DH3J 34
Higher National Unit Specification General information for centres Unit code: DH3J 34 Unit purpose: This Unit is designed to develop a broad knowledge of the concepts, principles, boundaries and scope
More informationWireless Data Efficiency Get the Most Megabytes for Your Buck Mobile Explosion 08 Las Vegas, January 25, 2008
Wireless Data Efficiency Get the Most Megabytes for Your Buck Mobile Explosion 08 Las Vegas, January 25, 2008 Peter Rysavy Rysavy Research http://www.rysavy.com 1 Copyright 2006-2008 Rysavy Research Agenda
More informationMarking Scheme for the Sample Exam Paper
INFORMATION SYSTEMS EXAMINATION BOARD BUSINESS SYSTEMS DEVELOPMENT CERTIFICATE IN INFORMATION AND COMMUNICATION TECHNOLOGY for the Sample Exam Paper As this is a sample paper, both the paper and the marking
More informationOperating- System Structures
Operating- System Structures 2 CHAPTER Practice Exercises 2.1 What is the purpose of system calls? Answer: System calls allow user-level processes to request services of the operating system. 2.2 What
More informationChapter 1: Distributed Information Systems
Chapter 1: Distributed Information Systems Contents - Chapter 1 Design of an information system Layers and tiers Bottom up design Top down design Architecture of an information system One tier Two tier
More informationSan José State University Department of Computer Science CS151, Section 04 Object Oriented Design Spring 2018
San José State University Department of Computer Science CS151, Section 04 Object Oriented Design Spring 2018 Course and Contact Information Instructor: Vidya Rangasayee Office Location: MH 213 Telephone:
More informationMobile and Heterogeneous databases Distributed Database System Query Processing. A.R. Hurson Computer Science Missouri Science & Technology
Mobile and Heterogeneous databases Distributed Database System Query Processing A.R. Hurson Computer Science Missouri Science & Technology 1 Note, this unit will be covered in four lectures. In case you
More informationGustavo Alonso, ETH Zürich. Web services: Concepts, Architectures and Applications - Chapter 1 2
Chapter 1: Distributed Information Systems Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ Contents - Chapter 1 Design
More informationCS 2112 Lecture 20 Synchronization 5 April 2012 Lecturer: Andrew Myers
CS 2112 Lecture 20 Synchronization 5 April 2012 Lecturer: Andrew Myers 1 Critical sections and atomicity We have been seeing that sharing mutable objects between different threads is tricky We need some
More informationSplitting the pattern into the model (this stores and manipulates the data and executes all business rules).
Tutorial 3 Answers Comp319 Software Engineering Object patterns Model View Controller Splitting the pattern into the model (this stores and manipulates the data and executes all business rules). View Controller
More informationSRD User Manual. Table of contents: Overview
SRD User Manual Table of contents: 1. Overview 2. First use of SRD 3. The Sequence Information Script File format 4. The Sequence Links Script File format 5. Import new data to visualize 6. Intra-category
More informationIntroduction - SENG 330. Object-Oriented Analysis and Design
Introduction - SENG 330 Object-Oriented Analysis and Design SENG 330 Fall 2006 Instructor: Alex Thomo Email: thomo@cs.uvic.ca Office hours: Office Hours: TWF 12:30-1:30 p.m. Location: ECS 556 Objective:
More informationCS 307: Software Engineering. Lecture 10: Software Design and Architecture
CS 307: Software Engineering Lecture 10: Software Design and Architecture Prof. Jeff Turkstra 2017 Dr. Jeffrey A. Turkstra 1 Announcements Discuss your product backlog in person or via email by Today Office
More informationAbout Netscape Composer
An About Netscape Composer The pictures and directions in this handout are for Netscape Composer that comes with the Netscape Communicator 4.7 package available for free from Netscape s web site at http://www.netscape.com.
More informationVoluntary Product Accessibility Template (VPAT)
Voluntary Product Accessibility Template (VPAT) Date 2017-02-06 Name of Product Top Hat Lecture - Student - Android App Version Contact Steve Pascoe steve.pascoe+vpat@tophat.com Summary Table Criteria
More informationWelcome. Web Authoring: HTML - Advanced Topics & Photo Optimisation (Level 3) Richard Hey & Barny Baggs
Welcome Web Authoring: HTML - Advanced Topics & Photo Optimisation (Level 3) Richard Hey & Barny Baggs Health and Safety Course Information General Information Objectives To understand the need for photo
More informationDesign Patterns in C++
Design Patterns in C++ Structural Patterns Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa March 23, 2011 G. Lipari (Scuola Superiore Sant Anna) Structural patterns March
More informationCAMERA User s Guide. They are most easily launched from the main menu application. To do this, all the class files must reside in the same directory.
CAMERA User s Guide 1 Quick Start CAMERA is a collection of concise, intuitive and visually inspiring workbenches for cache mapping schemes and virtual memory. The CAMERA workbenches are standalone applications
More informationeswt Requirements and High-Level Architecture Abstract Document Information Change History
eswt Requirements and High-Level Architecture Abstract There is a need for a standardized UI API fit for embedded devices having fewer resources and smaller screen sizes than a desktop computer. The goal
More informationKF5008 Program Design & Development. Lecture 1 Usability GUI Design and Implementation
KF5008 Program Design & Development Lecture 1 Usability GUI Design and Implementation Types of Requirements Functional Requirements What the system does or is expected to do Non-functional Requirements
More informationGeneralized Document Data Model for Integrating Autonomous Applications
6 th International Conference on Applied Informatics Eger, Hungary, January 27 31, 2004. Generalized Document Data Model for Integrating Autonomous Applications Zsolt Hernáth, Zoltán Vincellér Abstract
More information[MS-RDPECLIP]: Remote Desktop Protocol: Clipboard Virtual Channel Extension
[MS-RDPECLIP]: Remote Desktop Protocol: Clipboard Virtual Channel Extension Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications
More informationIntroduction to User Stories. CSCI 5828: Foundations of Software Engineering Lecture 05 09/09/2014
Introduction to User Stories CSCI 5828: Foundations of Software Engineering Lecture 05 09/09/2014 1 Goals Present an introduction to the topic of user stories concepts and terminology benefits and limitations
More informationPeer entities. Protocol Layering. Protocols. Example
Peer entities Protocol Layering An Engineering Approach to Computer Networking Customer A and B are peers Postal worker A and B are peers Protocols A protocol is a set of rules and formats that govern
More informationHigher National Unit specification: general information
Higher National Unit specification: general information Unit code: FR23 35 Superclass: CB Publication date: August 2011 Source: Scottish Qualifications Authority Version: 01 Unit purpose The purpose of
More informationRoombots Robot-User 3D Interface
Roombots Robot-User 3D Interface Project Specifications Sébastien GAY Department of Computer Science Institute of applied sciences (INSA) Lyon A document submitted for the degree of Engineer diploma Yet
More informationTable of Contents. Cisco Introduction to EIGRP
Table of Contents Introduction to EIGRP...1 Introduction...1 Before You Begin...1 Conventions...1 Prerequisites...1 Components Used...1 What is IGRP?...2 What is EIGRP?...2 How Does EIGRP Work?...2 EIGRP
More informationSt. Catherine s High School
St. Catherine s High School Annual June 2015 Class: Senior 4 Subject: Computer Studies Total: Duration: 2 hrs Final Total: /100 MAKE SURE TO CHECK THAT YOU ARE GIVEN FIVE PRINTED PAGES Calculators may
More informationIntroduction to Object Oriented Analysis and Design
A class note on Introduction to Object Oriented Analysis and Design Definition In general, analysis emphasizes an investigation of the problem and requirements of the domain, rather than a solution. Whereas,
More informationJava Support for developing TCP Network Based Programs
Java Support for developing TCP Network Based Programs 1 How to Write a Network Based Program (In Java) As mentioned, we will use the TCP Transport Protocol. To communicate over TCP, a client program and
More informationfirewalls perimeter firewall systems firewalls security gateways secure Internet gateways
Firewalls 1 Overview In old days, brick walls (called firewalls ) built between buildings to prevent fire spreading from building to another Today, when private network (i.e., intranet) connected to public
More informationChapter 3: Operating-System Structures
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1
More informationAsheville-Buncombe Technical Community College Department of Networking Technology. Course Outline
Course Number: NET 226 Course Title: Routing and Switching II Class Hours: 1 Lab Hours: 4 Credit Hours: 3 Course Description: This course introduces WAN theory and design, WAN technology, PPP, Frame Relay,
More informationWimba Classroom VPAT
Wimba Classroom VPAT The purpose of this Voluntary Product Accessibility Template, or VPAT, is to assist Federal contracting officials and other buyers in making preliminary assessments regarding the availability
More informationInteractr: an interaction diagram drawing tool
Interactr: an interaction diagram drawing tool Software-ontwerp 2017-2018 Iteration 3 Contents 1 Introduction 2 2 General Information 2 2.1 Team Work............................... 2 2.2 Iterations................................
More informationSwing: Building GUIs in Java
Swing: Building GUIs in Java ENGI 5895: Software Design Andrew Vardy Faculty of Engineering & Applied Science Memorial University of Newfoundland February 13, 2017 Outline 1 Introduction 2 Aside: Inner
More informationLecture 2 Operating System Structures (chapter 2)
Bilkent University Department of Computer Engineering CS342 Operating Systems Lecture 2 Operating System Structures (chapter 2) Dr. İbrahim Körpeoğlu http://www.cs.bilkent.edu.tr/~korpe 1 References The
More informationThe World Wide Web is a technology beast. If you have read this book s
What Is a Markup Language and Why Do I Care? The World Wide Web is a technology beast. If you have read this book s introduction, you should have at least a passing familiarity with how the Web started
More informationModel-Based Design for Large High Integrity Systems: A Discussion Regarding Model Architecture
Model-Based Design for Large High Integrity Systems: A Discussion Regarding Model Architecture By Mike Anthony and Jon Friedman MathWorks Inc, Natick, MA, 01760 INTRODUCTION From complex controls problems
More informationModule 3: Operating-System Structures. Common System Components
Module 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1 Common
More informationSPEC Socket Programming
SPEC Socket Programming Logan Daum Department of Physics, Massachusetts Institute of Technology, Cambridge, Massachusetts, 02139 (Dated: August 13, 2010) In this project, a GUI for controlling motors and
More informationTitle Core TIs Optional TIs Core Labs Optional Labs. 1.1 WANs All None None None. All None None None. All None 2.2.1, 2.2.4, 2.2.
CCNA 2 Plan for Academy Student Success (PASS) CCNA 2 v3.1 Instructional Update # 2006-1 This Instructional Update has been issued to provide guidance on the flexibility that Academy instructors now have
More informationGraphical User Interface Canvas Frame Event structure Platform-free GUI operations Operator << Operator >> Operator = Operator ~ Operator + Operator
Graphical User Interface Canvas Frame Event structure Platform-free GUI operations Operator > Operator = Operator ~ Operator + Operator - Operator [] Operator size Operator $ Operator? Operator!
More informationSoftware System/Design & Architecture. Eng.Muhammad Fahad Khan Assistant Professor Department of Software Engineering
Software System/Design & Architecture Eng.Muhammad Fahad Khan Assistant Professor Department of Software Engineering Todays lecture Model View Controller (MVC) Copyright 2012 @ M.Fahad Khan 2 Model-View-Controller
More informationUnit 3: Congruence & Similarity
Approximate Time Frame: 6 weeks Connections to Previous Learning: In previous grades, students made scale drawings of geometric figures and solved problems involving angle measure, surface area, and volume.
More informationSDMX self-learning package No. 3 Student book. SDMX-ML Messages
No. 3 Student book SDMX-ML Messages Produced by Eurostat, Directorate B: Statistical Methodologies and Tools Unit B-5: Statistical Information Technologies Last update of content February 2010 Version
More informationUNIT-IV BASIC BEHAVIORAL MODELING-I
UNIT-IV BASIC BEHAVIORAL MODELING-I CONTENTS 1. Interactions Terms and Concepts Modeling Techniques 2. Interaction Diagrams Terms and Concepts Modeling Techniques Interactions: Terms and Concepts: An interaction
More informationSlide 1 & 2 Technical issues Slide 3 Technical expertise (continued...)
Technical issues 1 Slide 1 & 2 Technical issues There are a wide variety of technical issues related to starting up an IR. I m not a technical expert, so I m going to cover most of these in a fairly superficial
More informationCompiler Theory Introduction and Course Outline Sandro Spina Department of Computer Science
Compiler Theory 001 - Introduction and Course Outline Sandro Spina Department of Computer Science ( course Books (needed during this My slides are based on the three books: Compilers: Principles, techniques
More informationCS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams in UML
CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams in UML Objectives: 1. To introduce the notion of dynamic analysis 2. To show how to create and read Sequence Diagrams 3. To show
More informationIrDA INTEROPERABILITY
Part F:2 IrDA INTEROPERABILITY The IrOBEX protocol is utilized by the Bluetooth technology. In Bluetooth, OBEX offers same features for applications as within the IrDA protocol hierarchy and enabling the
More informationCIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions)
By the end of this course, students should CIS 1.5 Course Objectives a. Understand the concept of a program (i.e., a computer following a series of instructions) b. Understand the concept of a variable
More informationLab 8. An Introduction to Objects
Lab 8 An Introduction to Objects 1 Overview One of the characteristics, perhaps the most important, of a good designer is the ability to deal with abstractions or generalizations. In the process of learning
More informationRouting Basics. What is Routing? Routing Components. Path Determination CHAPTER
CHAPTER 5 Routing Basics This chapter introduces the underlying concepts widely used in routing protocols Topics summarized here include routing protocol components and algorithms In addition, the role
More informationDemonstrations and examples are a key part in most introductory physics student s learning
2 Demonstrations and examples are a key part in most introductory physics student s learning process. Students are well versed in how gravity functions because they have experienced its effects first hand,
More informationJAVA ~ as opposed to Java Script
JAVA ~ as opposed to Java Script STEP ONE: INSTALLING JAVA DEVELOPMENT TOOLS [NetBeans IDE 7.3 ]:- To program with Java, the NetBeans IDE is a wise IDE to use. There are others. https://netbeans.org/downloads/index.html
More informationSoftware Requirements Specification (SRS) Graphical Model Editing Framework (GMEF) Motorola 1
Software Requirements Specification (SRS) Graphical Model Editing Framework (GMEF) Motorola 1 Final Draft Due December 7, 2006 Authors: Greg Heil, Andrew Holder, Karli Lopez, Josh Detwiler Customer: Kabe
More informationComparative analyses for the performance of Rational Rose and Visio in software engineering teaching
Journal of Physics: Conference Series PAPER OPEN ACCESS Comparative analyses for the performance of Rational Rose and Visio in software engineering teaching To cite this article: Zhaojun Yu and Zhan Xiong
More information3D Graphics Programming Mira Costa High School - Class Syllabus,
3D Graphics Programming Mira Costa High School - Class Syllabus, 2009-2010 INSTRUCTOR: Mr. M. Williams COURSE GOALS and OBJECTIVES: 1 Learn the fundamentals of the Java language including data types and
More informationCOMP/ELEC 429/556 Introduction to Computer Networks
COMP/ELEC 429/556 Introduction to Computer Networks Creating a Network Application Some slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang 1 How to Programmatically
More informationCS118 Discussion, Week 6. Taqi
CS118 Discussion, Week 6 Taqi 1 Outline Network Layer IP NAT DHCP Project 2 spec 2 Network layer: overview Basic functions for network layer Routing Forwarding Connection v.s. connection-less delivery
More informationAADL Graphical Editor Design
AADL Graphical Editor Design Peter Feiler Software Engineering Institute phf@sei.cmu.edu Introduction An AADL specification is a set of component type and implementation declarations. They are organized
More informationTRIBHUVAN UNIVERSITY INSTITUTE OF ENGINEERING PULCHOWK CAMPUS DEPARTMENT OF ELECTRONICS AND COMPUTER ENGINEERING. A Report On MARRAIGE
TRIBHUVAN UNIVERSITY INSTITUTE OF ENGINEERING PULCHOWK CAMPUS DEPARTMENT OF ELECTRONICS AND COMPUTER ENGINEERING A Report On MARRAIGE Submitted To: Department of Electronics and Computer Engineering Pulchowk
More informationSwing: Building GUIs in Java
Swing: Building GUIs in Java ENGI 5895: Software Design Andrew Vardy Faculty of Engineering & Applied Science Memorial University of Newfoundland February 13, 2017 Outline 1 Introduction 2 Aside: Inner
More informationLimnor Studio Getting Started
Limnor Studio Getting Started Longflow Enterprises Ltd. Tuesday, October 20, 2009 Contact: info@limnor.com 1 Introduction... 1 1.1 Limnor Studio... 1 1.2 Limnor Codeless Visual Programming... 3 2 Installation...
More informationUNIT- 2 Physical Layer and Overview of PL Switching
UNIT- 2 Physical Layer and Overview of PL Switching 2.1 MULTIPLEXING Multiplexing is the set of techniques that allows the simultaneous transmission of multiple signals across a single data link. Figure
More informationObjectives. Chapter 2: Operating-System Structures. 2.1 Operating System Services
Objectives Chapter 2: Operating-System Structures To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system
More informationMemory Addressing, Binary, and Hexadecimal Review
C++ By A EXAMPLE Memory Addressing, Binary, and Hexadecimal Review You do not have to understand the concepts in this appendix to become well-versed in C++. You can master C++, however, only if you spend
More informationWeb Engineering. Introduction. Husni
Web Engineering Introduction Husni Husni@trunojoyo.ac.id Outline What is Web Engineering? Evolution of the Web Challenges of Web Engineering In the early days of the Web, we built systems using informality,
More informationSan Jose State University - Department of Computer Science
San Jose State University - Department of Computer Science CS 151, Section 4 - Object-Oriented Design Instructor:Cay S. Horstmann Email: cay.horstmann@sjsu.edu Telephone: +1-408-924-5060 Office Hours:
More informationOpen XML Requirements Specifications, a Xylia based application
Open XML Requirements Specifications, a Xylia based application Naeim Semsarilar Dennis K. Peters Theodore S. Norvell Faculty of Engineering and Applied Science Memorial University of Newfoundland November
More informationCourse Design, Representation and Browser for Web Based Education
Course Design, Representation and Browser for Web Based Education KUNAL CHAWLA Department of Information Technology Indian Institute of Information Technology Allahabad, Uttar Pradesh INDIA Abstract: -
More informationMiddleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004
Middleware Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Outline Web Services Goals Where do they come from? Understanding middleware Middleware as infrastructure Communication
More informationIntroduction to MiniSim A Simple von Neumann Machine
Math 121: Introduction to Computing Handout #19 Introduction to MiniSim A Simple von Neumann Machine Programming languages like C, C++, Java, or even Karel are called high-level languages because they
More informationChapter 2 Overview of the Design Methodology
Chapter 2 Overview of the Design Methodology This chapter presents an overview of the design methodology which is developed in this thesis, by identifying global abstraction levels at which a distributed
More informationM.SARAVANA KARTHIKEYAN
PERVASIVE COMPUTING Unit II Part A 1. What is XML? XML stands for EXtensible Markup Language XML is a markup language much like HTML XML was designed to carry data, not to display data XML tags are not
More informationDISTRIBUTED HIGH-SPEED COMPUTING OF MULTIMEDIA DATA
DISTRIBUTED HIGH-SPEED COMPUTING OF MULTIMEDIA DATA M. GAUS, G. R. JOUBERT, O. KAO, S. RIEDEL AND S. STAPEL Technical University of Clausthal, Department of Computer Science Julius-Albert-Str. 4, 38678
More informationTIRA: Text based Information Retrieval Architecture
TIRA: Text based Information Retrieval Architecture Yunlu Ai, Robert Gerling, Marco Neumann, Christian Nitschke, Patrick Riehmann yunlu.ai@medien.uni-weimar.de, robert.gerling@medien.uni-weimar.de, marco.neumann@medien.uni-weimar.de,
More informationMidterm assessment - MAKEUP Fall 2010
M257 MTA Faculty of Computer Studies Information Technology and Computing Date: /1/2011 Duration: 60 minutes 1-Version 1 M 257: Putting Java to Work Midterm assessment - MAKEUP Fall 2010 Student Name:
More informationOpleiding Informatica
Opleiding Informatica A browser-based graphical editor for Reo networks Maarten Smeyers Supervisors: Prof. dr. Farhad Arbab & Kasper Dokter BACHELOR THESIS Leiden Institute of Advanced Computer Science
More informationSequence of Grade 4 Modules Aligned with the Standards
Sequence of Grade 4 Modules Aligned with the Standards Module 1: Place Value, Rounding, and Algorithms for Addition and Subtraction Module 2: Unit Conversions and Problem Solving with Metric Measurement
More informationGrid Computing with Voyager
Grid Computing with Voyager By Saikumar Dubugunta Recursion Software, Inc. September 28, 2005 TABLE OF CONTENTS Introduction... 1 Using Voyager for Grid Computing... 2 Voyager Core Components... 3 Code
More informationWhite Paper. Rose PowerBuilder Link
White Paper Rose PowerBuilder Link Contents Overview 1 Audience...1 The Software Development Landscape...1 The Nature of Software Development...1 Better Software Development Methods...1 Successful Software
More informationSimulation of TCP Layer
39 Simulation of TCP Layer Preeti Grover, M.Tech, Computer Science, Uttrakhand Technical University, Dehradun ABSTRACT The Transmission Control Protocol (TCP) represents the most deployed transport protocol
More informationSystem recommendations for version 17.1
System recommendations for version 17.1 This article contains information about recommended hardware resources and network environments for version 17.1 of Sage 300 Construction and Real Estate. NOTE:
More informationCourse 40045A: Microsoft SQL Server for Oracle DBAs
Skip to main content Course 40045A: Microsoft SQL Server for Oracle DBAs - Course details Course Outline Module 1: Database and Instance This module provides an understanding of the two major components
More informationPHY 351/651 LABORATORY 1 Introduction to LabVIEW
PHY 351/651 LABORATORY 1 Introduction to LabVIEW Introduction Generally speaking, modern data acquisition systems include four basic stages 1 : o o A sensor (or transducer) circuit that transforms a physical
More informationNetwork Communication and Remote Procedure Calls
Network Communication and Remote Procedure Calls CS 240: Computing Systems and Concurrency Lecture 2 Marco Canini Credits: Michael Freedman and Kyle Jamieson developed much of the original material. Context
More informationInfoEd Global SPIN Reference Guide
InfoEd Global SPIN Reference Guide This reference guide will provide short explanations of the functionality available to you in the newest version of SPIN, provided by InfoEd Global. The full user manual
More informationOS and Computer Architecture. Chapter 3: Operating-System Structures. Common System Components. Process Management
Last class: OS and Architecture OS and Computer Architecture OS Service Protection Interrupts System Calls IO Scheduling Synchronization Virtual Memory Hardware Support Kernel/User Mode Protected Instructions
More informationADDENDUM. PRINCIPLES OF DESIGN COURSE Topic YouTube link QR Code
ADDENDUM PRINCIPLES OF DESIGN COURSE Topic YouTube link QR Code Topic 1 Introduction to Graphic Design https://youtu.be/pacrrojlvui This video discussed on essential skills of a graphic design and its
More informationPublisher 2007 Creating Flyers and Brochures
MS Publisher 2007 User Guide Publisher 2007 Creating Flyers and Brochures THE NATURE OF DESKTOP PUBLISHING - INTRODUCTION Publisher is a desktop publishing program. You can create publications that
More information