UI Tools, Techniques and Technologies
|
|
- Rudolph Barker
- 6 years ago
- Views:
Transcription
1 UI Tools, Techniques and Technologies CS4HC3 / SE4HC3/ SE6DO3 Fall 2011 Instructor: Kevin Browne brownek@mcmaster.ca
2 UI Tools Some tools for building user interfaces... Content Management Systems (CMS) In-code library / API calls GUI builders User interface markup languages Constraint-based tools User interface modeling languages
3 UI Tools Distinctions between the different tools not black and white e.g. GUI builders may just graphically represent a user interface markup language Tool choice is not an issue of better or worse - different tools for different tasks A UI specified and generated by a CMS may be sufficient for an ecommerce website, a blog But the UI for a system of public transportation terminals may require advanced tools
4 UI Building Tool Concerns Level of abstraction... Targeting multiple platforms with same specification of the UI? Safety e.g. Java, modeling\constraint languages, CMS Typically comes at a cost.. Run-time slowdown Range of what can be specified Modelling language may allow one to detect bugs Economics How much time\money\resources do you have?
5 UI Building Tool Concerns Handling I/O How does the specification of the interface handle I/O? How much does the user control I/O? I/O handling largely automated? Event-driven functions are called when I/O events occur? Or must I/O be recognized and handled manually in the code by a loop searching for input? Economics How much time\money\resources do you have? Learning time? Extensibility? Modularity?
6 Content Management System Systems that manage workflow content... Repository of documents, pages Revising, publishing, storing documentation Supports collaboration User accounts Roles Typically handles security, backing up data, other housekeeping duties Make managing a system of documents easier
7 Content Management System UI separated from content database Front-end UI of CMS specified using the backend of the CMS Themes are typical... Can be customized Communities of users which develop themes CMS takes theme + settings + data and generates the UI automatically
8 Content Management Systems Great for non-technical or non-expert users Input/output handled automatically by CMS Explosive popularity on the web Economics likely a driving factor Database of managed content allows targeting of multiple platforms e.g. CMS built for web can target mobile devices Hamilton-area startup Weever Apps has built such a solution e.g. CMS Wordpress, Joomla!
9 GUI builder WYSIWYG editor for GUI creation Allow developer to drag-and-drop standard UI elements or widgets into the UI Widget parameters can be specified Actions and I/O involving widgets can be tied to event-handling functions Event-driven programming typical with GUI builders Often GUI builder is a nice front-end to a markup language or other interface representation
10 In-code library / API calls Creating the UI programmatically at run-time... Run-time environment such as OS creates standard GUI widgets given appropriate function calls e.g. Win32 API Graphics generated or displayed from standard library calls e.g. OpenGL Very often required to do non-standard GUI widgets in dynamic, graphically intensive software (i.e. Games, simulations)
11 In-code library / API calls Handling I/O When creating GUI widgets, may specify functions to handle widget events e.g. Interface actions mapped to function calls In case of standard graphics library, may have to handle I/O manually e.g. Game Engine style loop Debate when to use API calls vs GUI builder? If you require thousands of different dynamically customized pages... GUI builder tool likely to be impractical
12 User Interface Markup Language Markup language that specifies and renders GUI Most are XML dialects Rendered into GUI by an engine e.g. Interpreted into a document\webpage Meant to prevent re-invention of the wheel UI can be scripted Separates UI from function
13 User Interface Markup Language Examples: XML User Interface Language XUL Portable definition of common widgets for Mozilla applications User Interface Markup Language - UIML Doesn't describe how UI will look Instead specify UI widgets, how they should behave Attempts to be multi-platform, multi-language solution PDAs to websites
14 Constraint-based Tools Expressing a UI through constraints Constraint is a relationship that must be maintained Don't specify sequence of execution steps, but instead the properties of a UI solution to be found (i.e. what, but not how ) Static and temporal constraints Constraints can be maintained during execution and checked for error conditions beforehand e.g. Constraint-based Object-oriented Relations and Language (CORAL) Carnegie-Mellon
15 Constraint-based Tools Constraints can be used to... (Rozna, 1994) maintain consistency between underlying data and a graphical depiction of data on the screen to maintain consistency among multiple views on data to specify how information is to be formatted on the screen to specify animation events that are to occur when a given event occurs in the underlying system to specify attributes of objects in an animation, such as speed and trajectory
16 User Interface Modelling Language Need: good, standard notations for discussing design options English specification? Lengthy Vague Ambiguous Expression may be convenient for... Prove properties of the UI Completeness Correctness Consistency Checking for UI errors
17 User Interface Modelling Language Representation of UI, user actions with the software, how the software reacts User Interface Models: Capture requirements Avoid early commitment to particular designs Make roles, parts, relationships explicit Models are about specification, but techniques exist to automatically translate model into a UI UML? Can be done, but not really the intention of UML...
18 UMLi Extension of UML with better support for UI MB-UIDEs Model based user interface development environments Can design interfaces, but not applications UMLi combines UML + MB-UIDE Example:
19 Backus Normal Form (BNF) Non-terminals: high level components Terminals: specific strings <symbol> ::= expression expression... <symbol> is a non-terminal expression is a sequence of one or more symbols Sequences separated by, choice of possible substitution Symbols that never appear on left are terminals
20 Backus Normal Form (BNF) e.g. can specify user input... <character> = A B C D E... <string> = <character> <character><string> <lastname> = <string> <firstname> = <string>
21 Backus Normal Form (BNF) e.g. Can specify text oriented command sequences with multiparty grammars (Schneiderman, 2005) <session> ::= <U: Opening> <C:Responding> <U: Opening> ::= LOGIN <U: Name> <U: Name> ::= <U: string> <C: Responding> ::= Welcome [<U: Name>] Non-terminals which indicate the party that produces the string, square brackets indicate output In this case, U-user, C-computer
22 UI Prototyping Tools Paper mock-ups... Graphics editing programs... Photoshop, etc. Purpose built UI prototyping tools Often build what people will call the horizontal prototype of the system Confirm UI requirements, demo system to customers\investors Built to be quick, skinnable to different systems e.g. MockUp Screens (mockupscreens.com)
23 Game Loop Central to every video game Reasoning applicable to scientific simulations and other UI scenarios Video game UI executes and changes continuously and dynamically, as opposed to say a blog or Microsoft Excel while (not game over) Check for user input Update game state Display game
24 Game Loop Update game state involves: Artificial intelligence Movement of player, enemy units Resolving collisions Etc. Many things can be done in separate threads: User input may be done by separate thread, eventdriven style Sounds may be handled in different threads
25 Game Loop Implementation issue: Console titles (Xbox, etc.), earlier ios\smartphone software can assume virtually all computational power and resources are available Not so much for PCs, new multicore\multithread smartphone and tablets Frame Per Second number of times that the game loop executes (and displays the game) per second Problem: loop doesn't give indication of how we handle time
26 Game Loop One timing solution: fixed frames per second define FPS 30 while (not game over) starttime = getcurrentsystemtime() check for input update game state (time change (s) = 1 / FPS) display game starttime = starttime + (1 / FPS) sleep for ( max(0, starttime - getcurrentsystemtime() )
27 Game Loop Constant FPS solution Simple implementation! Always know exactly how much time should have changed since last update Problem... slow hardware Timing becomes variable Problem... fast hardware Could be executing at a higher FPS! If battery life is a concern, limiting CPU use to that required could be important i.e. Mobile, tablet devices
28 Game Loop Another timing solution: let game execute as fast as possible, update with time difference from previous loop execution while (not game over) check for input prevtime = currenttime currenttime = getcurrentsystemtime() update game state (currenttime - prevtime) display game
29 Game Loop Now the update function must account for variable lengths of times More difficult to implement, but not impossible... Problem: collision detection When any time difference is theoretically possible, how to detect collisions? Result: Objects going through walls, etc. Problem: using more resources than what is required for the game
30 Game Loop Other solutions: Set a minimum and maximum range for difference of time Only have to handle a specified range Makes handling collision detection easier Separate updating of game state from updating of display
31 Collision Detection Problem: detecting the collision of two or more objects Typically found in video games, scientific simulations of physics problems Range of design choices, sophistication levels Discrete vs. Continuous? Contact manifold? (set of intersecting points) Do objects have mass, acceleration? Other forces involved in the collision? (i.e. gravity) Computational geometry, linear algebra
32 Collision Detection Scientific simulations... Must simulate real-world or some specified system as precisely as possible Not necessarily in real-time... Low error rates are of paramount importance Video games... Must simulate physics in some reasonably acceptable way, in real-time Subjective player satisfaction is of paramount importance
33 Collision Detection Discrete collision detection Advance simulation by small steps Each time check for intersecting objects Or are close enough that we can reasonably say they are intersecting If objects are intersecting, then we account for the collision by modifying the position and trajectories of the objects a posteriori - we identify the collision after it occur
34 Collision Detection Continuous Compute trajectories of the objects Derive from this the instants that objects will collide Account for collision by modifying the position and trajectories of the objects a priori - we identify collision before it occurs
35 Collision Detection Discrete Algorithm is simpler, doesn't need to deal with time But intersections detected after collision has already occurred, must be fixed to improve accuracy Collisions can go undetected, objects can pass through one another, if they are moving fast enough! Checking for collisions must be relative to object speed Continuous Increased fidelity, stability More difficult to implement
36 Event-driven Programming Programming paradigm Widely adopted paradigm Control flow is determined by events events could be actions performed by the user, or messages from other threads Main Loop (aka Event Loop) Event selection Waits for event messages (typically blocks) to arrive, selects an event to handle Event handling Typically operates asynchronously in its own thread
37 Event-driven Programming Event handler Functions or subroutines Handle events after called by main loop Somehow (usually automatically by the IDE) are bound to an event Functions themselves are usually created automatically by IDE, developer just has to insert code Sometimes an event object is provided where the developer can access properties of the event e.g. The event might be that a key was pressed, event.keypressed() will return the key character
38 References Designing the User Interface: Strategies for Effective Human-Computer Interaction / 5 th edition, by Ben Schneiderman & Catherine Plaisant (2010) Chapman, Roger. An Instructor's Outline of Designing the User Interface 4 th Edition (2004) by Ben Schneiderman & Catherine Plaisant. (slides) Paperin, Greg. Intersection Testing in 3D Graphics. (2006) University of Hamburg, Germany. paperin.org P. Pinheiro da Silva, N. W. Paton. User Interface Modeling in UMLi. (2003) Stanford University / University of Manchester. Rozsa, Eniko Ilona. Design and constraint visualization in computer-aided design. (1994) Simon Frasier University. M.A.Sc. Thesis Witter, Koen. DeWiTTERS Game Loop.(2009)
Chapter 5. Software Tools
Chapter 5 Software Tools 1 Introduction The demands of modern life require user-interface architects to build reliable, standard, safe, inexpensive, effective, and widely acceptable user interfaces on
More informationGame keystrokes or Calculates how fast and moves a cartoon Joystick movements how far to move a cartoon figure on screen figure on screen
Computer Programming Computers can t do anything without being told what to do. To make the computer do something useful, you must give it instructions. You can give a computer instructions in two ways:
More informationAli Khan < Project Name > Design Document. Version 1.0. Group Id: S1. Supervisor Name: Sir.
< Project Name > Design Document Version 1.0 Group Id: S1. Supervisor Name: Sir. Revision History Date Version Description Author Table of Contents 1. Introduction of Design Document 2. Entity Relationship
More informationCS 4300 Computer Graphics
CS 4300 Computer Graphics Prof. Harriet Fell Fall 2011 Lecture 8 September 22, 2011 GUIs GUIs in modern operating systems cross-platform GUI frameworks common GUI widgets event-driven programming Model-View-Controller
More informationCS260. UI Toolkits. Björn Hartmann University of California, Berkeley EECS, Computer Science Division Fall 2010
CS260 UI Toolkits Björn Hartmann University of California, Berkeley EECS, Computer Science Division Fall 2010 In the beginning cryptonomicon.com/beginning.html The Xerox Alto (1973) Event-Driven UIs Old
More informationUser Stories Report. Project. Statistics: Name Start End Weather Forecaster 5/2/ /7/2005
User Stories Report Project Name Start End Weather Forecaster 5/2/2005 10/7/2005 Statistics: User Stories Count: 4 Tasks Count: 8 Bugs Count: 6 Total Spent Time: 70 1. Heat Measurement Device 1.1. Scope
More informationAnaglym: A Graphics Engine Providing Secure Execution of Applications
Grand Valley State University ScholarWorks@GVSU Masters Projects Graduate Research and Creative Practice 12-2009 Anaglym: A Graphics Engine Providing Secure Execution of Applications Josh Holtrop Grand
More information<Insert Picture Here> JavaFX 2.0
1 JavaFX 2.0 Dr. Stefan Schneider Chief Technologist ISV Engineering The following is intended to outline our general product direction. It is intended for information purposes only,
More informationEtanova Enterprise Solutions
Etanova Enterprise Solutions Server Side Development» 2018-06-28 http://www.etanova.com/technologies/server-side-development Contents.NET Framework... 6 C# and Visual Basic Programming... 6 ASP.NET 5.0...
More informationImproved Database Development using SQL Compare
Improved Database Development using SQL Compare By David Atkinson and Brian Harris, Red Gate Software. October 2007 Introduction This white paper surveys several different methodologies of database development,
More informationSOLO NETWORK. Adobe Flash Catalyst CS5.5. Create expressive interfaces and interactive content without writing code
(11) 4062-6971 (21) 4062-6971 (31) 4062-6971 (41) 4062-6971 (48) 4062-6971 (51) 4062-6971 (61) 4062-6971 Adobe Flash Catalyst CS5.5 Create expressive interfaces and interactive content without writing
More informationBottlenose developer s guide
Bottlenose developer s guide Copyright 2005 Simon Woodside. CC-BY-SA 2.0. Version 0.1a, 2005-09-15. Introduction Bottlenose is a system to enable HTML/CSS/Javascript ( JHC ) designers to create the user
More informationIdeas Gallery - Sai Kishore MV (Kishu)
Ideas Gallery - Sai Kishore MV (Kishu) All Ideas are for LS 2.0 Idea: # 1: Theme / Template Framework Develop a theme / template framework similar to one in jquery ( http://jqueryui.com/themeroller/) and
More informationSoftware Tools. Scott Klemmer Autumn 2009
stanford hci group http://cs147.stanford.edu Software Tools Scott Klemmer Autumn 2009 It accomplishes an important task (for better and for worse) You don t have to make it yourself, and it abstracts a
More informationJAVASCRIPT AND JQUERY: AN INTRODUCTION (WEB PROGRAMMING, X452.1)
Technology & Information Management Instructor: Michael Kremer, Ph.D. Class 1 Professional Program: Data Administration and Management JAVASCRIPT AND JQUERY: AN INTRODUCTION (WEB PROGRAMMING, X452.1) WHO
More informationInteractive Scientific Visualization of Polygonal Knots
Interactive Scientific Visualization of Polygonal Knots Abstract Dr. Kenny Hunt Computer Science Department The University of Wisconsin La Crosse hunt@mail.uwlax.edu Eric Lunde Computer Science Department
More informationCS248 Lecture 2 I NTRODUCTION TO U NITY. January 11 th, 2017
CS248 Lecture 2 I NTRODUCTION TO U NITY January 11 th, 2017 Course Logistics Piazza Staff Email: cs248-win1617-staff@lists.stanford.edu SCPD Grading via Google Hangouts: cs248.winter2017@gmail.com Homework
More informationMaking use of other Applications
AppGameKit 2 Collision Using Arrays Making use of other Applications Although we need game software to help makes games for modern devices, we should not exclude the use of other applications to aid the
More informationNew Applications Lesson Objectives
New Applications Lesson Unit 1: THE WORLD WIDE WEB: HISTORY AND DEFINITIONS History of the Web in a Nutshell Explain how deconstructing the past can help project future possibilities within a rapidly emerging
More informationDesign of Embedded Systems
Design of Embedded Systems José Costa Software for Embedded Systems Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2015-01-02 José Costa (DEI/IST) Design of Embedded Systems 1
More informationCS354R: Game Technology
CS354R: Game Technology Tools Pipeline Fall 2018 Game as Media Games require art assets and design decisions Artists and designers may not have technical skills (We can t all be Daisuke Amaya) 2 Off the
More informationUNIVERSITY OF CALIFORNIA AT BERKELEY. Name:
UNIVERSITY OF CALIFORNIA AT BERKELEY COMPUTER SCIENCE DIVISION - EECS CS160 Second Midterm Examination Prof L.A. Rowe Spring 2001 Name: Score: Question Possible Points 1 (50 points) 2 (10 points) 3 (20
More informationHow HP is implementing an Omnichannel support experience
How HP is implementing an Omnichannel support experience Fulvio Marfoni HP What Omni-Channel Customer Support Experience means Omni-channel is a multichannel approach that seeks to provide the customer
More informationAbout Me Specialize in performance last 15 years Currently performance testing and optimization of Hyperion products at Oracle Blog at
WebPerfDays Load Testing: Use a Right Approach to Mitigate Performance Risks Alexander Podelko alex.podelko@oracle.com alexanderpodelko.com/blog @apodelko June 28, 2012 1 About Me Specialize in performance
More informationIntroduction. Software tools and implementation support. Shneiderman ch. 5, Dix chs. 6, 8
Software tools and implementation support Shneiderman ch. 5, Dix chs. 6, 8 I VP R 1 Introduction How does HCI affect programmer? Programming focus hardware interaction-technique Layers of development tools
More informationUnit A: Computer and Internet Basics
Unit A: Computer and Internet Basics TRUE/FALSE 1. Cars and appliances include digital electronics. ANS: T PTS: 1 REF: Concepts 2 2. Usually when people talk about computers, they are talking about a PC.
More informationOverview. Rationale Division of labour between script and C++ Choice of language(s) Interfacing to C++ Performance, memory
SCRIPTING Overview Rationale Division of labour between script and C++ Choice of language(s) Interfacing to C++ Reflection Bindings Serialization Performance, memory Rationale C++ isn't the best choice
More information#12 - The art of UI prototyping
1 of 5 1/30/2007 12:02 PM #12 - The art of UI prototyping By Scott Berkun, November 2000 Even the brightest people make mistakes. This is especially true for teams of people. Somehow, as a project moves
More informationFlint - Eclipse Based IDE User Manual
1 E M B I E N T E C H N O L O G I E S Flint - Eclipse Based IDE User Manual Embien Technologies No 3, Sankarapandian Street, Madurai, India 625017 www.embien.com 2 3 Table of Contents 1 Introduction...
More informationCM0256 Pervasive Computing
CM0256 Pervasive Computing Lecture 17 Software Development Approaches Tom Goodale t.r.goodale@cs.cardiff.ac.uk Lecture Outline In this lecture we: J2ME applications Palm. Device Limitations Limited Power
More information9 th CA 2E/CA Plex Worldwide Developer Conference 1
1 Introduction/Welcome Message Organizations that are making major changes to or replatforming an application need to dedicate considerable resources ot the QA effort. In this session we will show best
More informationChannels & Keyframes. CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2017
Channels & Keyframes CSE69: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 27 Animation Rigging and Animation Animation System Pose Φ... 2 N Rigging System Triangles Renderer Animation When
More informationLow fidelity: omits details High fidelity: more like finished product. Breadth: % of features covered. Depth: degree of functionality
Fall 2005 6.831 UI Design and Implementation 1 Fall 2005 6.831 UI Design and Implementation 2 Paper prototypes Computer prototypes Wizard of Oz prototypes Get feedback earlier, cheaper Experiment with
More informationCreate-A-Page Design Documentation
Create-A-Page Design Documentation Group 9 C r e a t e - A - P a g e This document contains a description of all development tools utilized by Create-A-Page, as well as sequence diagrams, the entity-relationship
More informationBasics of Web. First published on 3 July 2012 This is the 7 h Revised edition
First published on 3 July 2012 This is the 7 h Revised edition Updated on: 03 August 2015 DISCLAIMER The data in the tutorials is supposed to be one for reference. We have made sure that maximum errors
More informationUser Centered Design Process. Prototyping II. What is a prototype? Prototyping phases Oct 11, 2017
User Centered Design Process Prototyping II Oct 11, 2017 Produce something tangible Identify challenges Uncover subtleties 2 What is a prototype? A prototype is defined less by form, and more by its function:
More informationOS structure. Process management. Major OS components. CSE 451: Operating Systems Spring Module 3 Operating System Components and Structure
CSE 451: Operating Systems Spring 2012 Module 3 Operating System Components and Structure Ed Lazowska lazowska@cs.washington.edu Allen Center 570 The OS sits between application programs and the it mediates
More informationProduct Features. Web-based e-learning Authoring
Web-based e-learning Authoring Product Features Composica Enterprise is an advanced web-based e-learning authoring system offering high flexibility and an abundance of features to collaboratively create
More informationComparative Assessment
Danny Hussey IS: 590 Web Development using CMS University of Tennessee School of Information Science Hamilton Parks Public Library Comparative Assessment Content Management Systems Wordpress, Joomla, and
More informationErlang. Joe Armstrong.
Erlang Joe Armstrong joe.armstrong@ericsson.com 1 Who is Joe? Inventor of Erlang, UBF, Open Floppy Grid Chief designer of OTP Founder of the company Bluetail Currently Software Architect Ericsson Current
More informationA 2D Game Engine Using Bitmaps
A 2D Game Engine Using Bitmaps Rahul Deore 1, Prathamesh Mujumdar 2, Rohan Gulik 3, Prof. Savita Sangam 4 1 Rahul.deore@hotmail.com, 2 prathamesh.22@gmail.com, 3 rohan.gulik@hotmail.com, 4 savita.sangam@gmail.com
More informationAdapted from: The Human Factor: Designing Computer Systems for People, Rubinstein & Hersh (1984) Designers make myths. Users make conceptual models.
User Interface Guidelines UI Guidelines 1 Adapted from: The Human Factor: Designing Computer Systems for People, Rubinstein & Hersh (1984) Know your users - they are not you Designers make myths. Users
More informationRecalling the definition of design as set of models let's consider the modeling of some real software.
Software Design and Architectures SE-2 / SE426 / CS446 / ECE426 Lecture 3 : Modeling Software Software uniquely combines abstract, purely mathematical stuff with physical representation. There are numerous
More informationIntegrated Software Environment. Part 2
Integrated Software Environment Part 2 Operating Systems An operating system is the most important software that runs on a computer. It manages the computer's memory, processes, and all of its software
More information+1 (646) (US) +44 (20) (UK) Blog. for Magento 2. ecommerce.aheadworks.com/magento-2-extensions
Blog for Magento 2 Table of contents: Table of contents:... 2 Reference table... 3 Getting started... 4 Sidebar... 5 SEO... 6 Related Products... 6 Wordpress Import... 7 Blog categories... 7 Blog posts...
More informationIntroduction to Programming
Introduction to Programming session 3 Instructor: Reza Entezari-Maleki Email: entezari@ce.sharif.edu 1 Fall 2010 These slides are created using Deitel s slides Sahrif University of Technology Outlines
More informationCE881: Mobile & Social Application Programming
CE881: Mobile & Social Application Programming, s, s and s Jialin Liu Senior Research Officer Univerisity of Essex 6 Feb 2017 Recall of lecture 3 and lab 3 :) Please download Kahoot or open a bowser and
More informationA Case Study Webinar: How Wiley-Blackwell Accelerated Digital Production by 75% webinar. aptaracorp.com
webinar Q&A A Case Study Webinar: How Wiley-Blackwell Accelerated Digital Production by 75% How would you characterize the capabilities of Wiley's solution...were they primarily due to (a) out-of-the-box
More informationOrganization of User Interface Software
Organization of User Interface Software Administration Questions about assignments due and assignments assigned 2 What we will talk about Ways to organize UI code Different models of user interfaces as
More informationFront-End Web Developer Nanodegree Syllabus
Front-End Web Developer Nanodegree Syllabus Build Stunning User Experiences Before You Start You've taken the first step toward becoming a web developer by choosing the Front End Web Developer Nanodegree
More information<Insert Picture Here> JavaFX Overview April 2010
JavaFX Overview April 2010 Sébastien Stormacq Sun Microsystems, Northern Europe The following is intended to outline our general product direction. It is intended for information
More informationSSQA Seminar Series. Server Side Testing Frameworks. Sachin Bansal Sr. Quality Engineering Manager Adobe Systems Inc. February 13 th, 2007
SSQA Seminar Series Server Side Testing Frameworks Sachin Bansal Sr. Quality Engineering Manager Adobe Systems Inc. February 13 th, 2007 1 Agenda Introduction Drivers for Server Side Testing Challenges
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 informationData/Thread Level Speculation (TLS) in the Stanford Hydra Chip Multiprocessor (CMP)
Data/Thread Level Speculation (TLS) in the Stanford Hydra Chip Multiprocessor (CMP) A 4-core Chip Multiprocessor (CMP) based microarchitecture/compiler effort at Stanford that provides hardware/software
More informationOperating Systems. Operating System Structure. Lecture 2 Michael O Boyle
Operating Systems Operating System Structure Lecture 2 Michael O Boyle 1 Overview Architecture impact User operating interaction User vs kernel Syscall Operating System structure Layers Examples 2 Lower-level
More informationCS/ISE 5714 Spring 2013
CS/ISE 5714 Spring 2013 Chapter 11. Prototyping Chapter 10. UX Goals, Metrics, Targets Introduction A way to evaluate design before it s too late and too expensive Copyright MKP. All rights reserved. 2
More informationSoftware Design and Analysis CSCI 2040
Software Design and Analysis CSCI 2040 Summarize UML Deployment and Component notation. Design a framework with the Template Method, State, and Command patterns. Introduce issues in object-relational (O-R)
More informationShort Test Cycles for Performance Testing with TruClient Technology
White Paper Application Development, Test & Delivery Short Test Cycles for Performance Testing with TruClient Technology Table of Contents page Keeping Up in a Complex Era... 1 Riding the Web 2.0 Wave...
More informationSoftware Specification of MERTIS: Modifiable, Extensible Real-Time Interactive Simulation System
Software Specification of MERTIS: Modifiable, Extensible Real-Time Interactive Simulation System Frederick C. Harris, Jr., Leandro Basallo, Ryan Leigh, Regan Snyder, and Sam Talaie Department of Computer
More informationTES Guiliani + BLU on Renesas Rx63N Embedded GUI Solution Kit - Introduction
TES Guiliani + BLU on Renesas Rx63N Embedded GUI Solution Kit - Introduction Thomas Hase Business Development Manager Graphics & IP thomas.hase@tes-dst.com +49 176 10111874 TES OVERVIEW Electronic Product
More information1. Introduction to Operating Systems
Principles of Operating Systems CS 446/646 1. Introduction to Operating Systems René Doursat Department of Computer Science & Engineering University of Nevada, Reno Fall 2005 Principles of Operating Systems
More informationGame Programming with. presented by Nathan Baur
Game Programming with presented by Nathan Baur What is libgdx? Free, open source cross-platform game library Supports Desktop, Android, HTML5, and experimental ios support available with MonoTouch license
More informationWhy testing and analysis. Software Testing. A framework for software testing. Outline. Software Qualities. Dependability Properties
Why testing and analysis Software Testing Adapted from FSE 98 Tutorial by Michal Young and Mauro Pezze Software is never correct no matter what developing testing technique is used All software must be
More information1 Introduction. 2 Web Architecture
1 Introduction This document serves two purposes. The first section provides a high level overview of how the different pieces of technology in web applications relate to each other, and how they relate
More information3 A Model for Stream Based Interactive Storytelling
3 A Model for Stream Based Interactive Storytelling In this chapter, a Model for Stream Based Interactive Storytelling is presented. This model uses a distributed strategy, removing the need of having
More informationHow to Get a Website Up and Running
How to Get a Website Up and Running Nowadays almost all of the businesses got a website, and it is getting really important and even mandatory to get online. Bill Gates mentioned in a conference that "if
More informationGetting started with WebSphere Portlet Factory V7.0.0
Getting started with WebSphere Portlet Factory V7.0.0 WebSphere Portlet Factory Development Team 29 September 2010 Copyright International Business Machines Corporation 2010. All rights reserved. Abstract
More informationCS102 Unit 2. Sets and Mathematical Formalism Programming Languages and Simple Program Execution
1 CS102 Unit 2 Sets and Mathematical Formalism Programming Languages and Simple Program Execution 2 Review Show how "Hi!\n" would be stored in the memory below Use decimal to represent each byte Remember
More informationRapid Prototyping. Sketches, storyboards, mock-ups and scenarios
Rapid Prototyping Sketches, storyboards, mock-ups and scenarios Agenda Dimensions and terminology Non-computer methods Computer methods 2 Your Project Group 3 An Essential Concept of UCD Requirements for
More informationWhat Is NetBeans? Free and open-source based > Open source since June, 2000 > Large community of users and developers
Page 1 Slide 1: title and presenter's name Slide 2: topic intro - what product/technology is Slide 3: topic intro - who is the target market (be very as specific as possible: e.g. geo, developer type,
More informationJumpstarting the Semantic Web
Jumpstarting the Semantic Web Mark Watson. Copyright 2003, 2004 Version 0.3 January 14, 2005 This work is licensed under the Creative Commons Attribution-NoDerivs-NonCommercial License. To view a copy
More informationKyle Rainville Littleton Coin Company
Kyle Rainville Littleton Coin Company What is JSON? Javascript Object Notation (a subset of) Data Interchange Format Provides a way for communication between platforms & languages Derived from Javascript
More informationA massive challenge: The cross-platform approach of the mobile MMO TibiaME Benjamin Zuckerer Product Manager, CipSoft GmbH
A massive challenge: The cross-platform approach of the mobile MMO TibiaME Benjamin Zuckerer Product Manager, CipSoft GmbH 1 / 31 What is this session about? Introduction to CipSoft and TibiaME TibiaME's
More informationSoftware Quality. Richard Harris
Software Quality Richard Harris Part 1 Software Quality 143.465 Software Quality 2 Presentation Outline Defining Software Quality Improving source code quality More on reliability Software testing Software
More informationSpring 2009 Prof. Hyesoon Kim
Spring 2009 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on
More informationWelcome to. Instructor Marc Pomplun CS 470/670. Introduction to Artificial Intelligence 1/26/2016. Spring Selectivity in Complex Scenes
Welcome to CS 470/670 Introduction to Artificial Intelligence Office: Lab: Instructor Marc Pomplun S-3-171 S-3-135 Office Hours: Tuesdays 4:00pm 5:30pm Thursdays 7:00pm 8:30pm Spring 2016 Instructor: Marc
More informationEnterprise Architect. User Guide Series. Domain Models
Enterprise Architect User Guide Series Domain Models What support for modeling domains? Sparx Systems Enterprise Architect supports a range of modeling languages, technologies and methods that can be used
More informationAutomated Validation of T&E Instrumentation Systems
Automated Validation of T&E Instrumentation Systems Austin Whittington Benefiting government, industry and the public through innovative science and technology 1/30/2017 Copyright 2017 SwRI. All rights
More informationOutline. Threads. Single and Multithreaded Processes. Benefits of Threads. Eike Ritter 1. Modified: October 16, 2012
Eike Ritter 1 Modified: October 16, 2012 Lecture 8: Operating Systems with C/C++ School of Computer Science, University of Birmingham, UK 1 Based on material by Matt Smart and Nick Blundell Outline 1 Concurrent
More informationPrototyping. Oct 3, 2016
Prototyping Oct 3, 2016 Announcements A1 marks available A2 due Wednesday Questions? What is a prototype? In interaction design a prototype can be (among other things): a series of screen sketches a storyboard,
More informationIntroduction to Concurrent Software Systems. CSCI 5828: Foundations of Software Engineering Lecture 08 09/17/2015
Introduction to Concurrent Software Systems CSCI 5828: Foundations of Software Engineering Lecture 08 09/17/2015 1 Goals Present an overview of concurrency in software systems Review the benefits and challenges
More informationCS3205 HCI IN SOFTWARE DEVELOPMENT PROTOTYPING STRATEGIES. Tom Horton. * Material from: Floryan (UVa) Klemmer (UCSD, was at Stanford)
CS3205 HCI IN SOFTWARE DEVELOPMENT PROTOTYPING STRATEGIES Tom Horton * Material from: Floryan (UVa) Klemmer (UCSD, was at Stanford) WHAT WILL WE BE TALKING ABOUT? Specific Prototyping Strategies! Low-Fidelity
More informationLesson 7 Software Fundamentals
Software Fundamentals Computer Literacy BASICS: A Comprehensive Guide to IC 3, 3 rd Edition 1 Objectives Identify the fundamental concepts of wordprocessing software. Identify the fundamental concepts
More informationFoundational Design Patterns for Moving Beyond One Loop
Foundational Design Patterns for Moving Beyond One Loop Raja Pillai Technical Consultant Agenda Why move beyond one loop? What is a design pattern? Why learn communication mechanisms? Functional global
More informationCOURSE SYLLABUS ANDROID. Industrial Training (4 MONTHS) PH : , Vazhoor Road Changanacherry-01.
COURSE SYLLABUS ANDROID Industrial Training (4 MONTHS) PH : 0481 2411122, 09495112288 E-Mail : info@faithinfosys.com www.faithinfosys.com Marette Tower Near No. 1 Pvt. Bus Stand Vazhoor Road Changanacherry-01
More informationReal Time Cloth Simulation
Real Time Cloth Simulation Sebastian Olsson (81-04-20) Mattias Stridsman (78-04-13) Linköpings Universitet Norrköping 2004-05-31 Table of contents Introduction...3 Spring Systems...3 Theory...3 Implementation...4
More informationTHOMAS LATOZA SWE 621 FALL 2018 DESIGN ECOSYSTEMS
THOMAS LATOZA SWE 621 FALL 2018 DESIGN ECOSYSTEMS LOGISTICS HW5 due today Project presentation on 12/6 Review for final on 12/6 2 EXAMPLE: NPM https://twitter.com/garybernhardt/status/1067111872225136640
More informationA Guide to Using WordPress + RAVEN5. v 1.4 Updated May 25, 2018
+ v 1.4 Updated May 25, 2018 Table of Contents 1. Introduction...................................................................................3 2. Logging In.....................................................................................4
More informationCS123. Programming Your Personal Robot. Part 2: Event Driven Behavior
CS123 Programming Your Personal Robot Part 2: Event Driven Behavior You Survived! Smooth Sailing Topics 2.1 Event Driven Programming Programming Paradigms and Paradigm Shift Event Driven Programming Concept
More informationIJSRD - International Journal for Scientific Research & Development Vol. 3, Issue 02, 2015 ISSN (online):
IJSRD - International Journal for Scientific Research & Development Vol. 3, Issue 02, 2015 ISSN (online): 2321-0613 Intelligent Script Editor: An Interactive Parallel Programming Tool Susmita Abhang 1
More informationUsing Scala for building DSL s
Using Scala for building DSL s Abhijit Sharma Innovation Lab, BMC Software 1 What is a DSL? Domain Specific Language Appropriate abstraction level for domain - uses precise concepts and semantics of domain
More informationChapter 9. Introduction to High-Level Language Programming. INVITATION TO Computer Science
Chapter 9 Introduction to High-Level Language Programming INVITATION TO Computer Science 1 Objectives After studying this chapter, students will be able to: Explain the advantages of high-level programming
More informationCircuit Schematic Software Mac Os X 10.6 Snow Leopard Upgrade
Circuit Schematic Software Mac Os X 10.6 Snow Leopard Upgrade Description. xdiagram application could help you make nice diagram graphic documents or UML documents quickly by keeping lines connected to
More informationModern and Responsive Mobile-enabled Web Applications
Available online at www.sciencedirect.com ScienceDirect Procedia Computer Science 110 (2017) 410 415 The 12th International Conference on Future Networks and Communications (FNC-2017) Modern and Responsive
More informationSpring 2011 Prof. Hyesoon Kim
Spring 2011 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on
More informationFall UI Design and Implementation 1
Fall 2005 6.831 UI Design and Implementation 1 1 Suggested by Daniel Swanton Fall 2005 6.831 UI Design and Implementation 2 2 Suggested by Robert Kwok Fall 2005 6.831 UI Design and Implementation 3 3 Input
More informationMay 22, 2013 Ronald Reagan Building and International Trade Center Washington, DC USA
May 22, 2013 Ronald Reagan Building and International Trade Center Washington, DC USA 1 Introduction to MapViewer & Tools for Your Business Apps and Mobile Devices Albert Godfrind Oracle Spatial Architect
More informationPrinciples of Software Construction: Objects, Design and Concurrency. Introduction to Design. toad
Principles of Software Construction: Objects, Design and Concurrency Introduction to Design 15-214 toad Christian Kästner Charlie Garrod School of Computer Science 2012-14 C Kästner, C Garrod, J Aldrich,
More informationOxygen Xsd From Xml File Visual Studio Generate Sample
Oxygen Xsd From Xml File Visual Studio Generate Sample This topic describes how to create a new XML Schema (XSD) file and then add content In Visual Studio, open the File menu and select New and then File.
More informationIntroduction to Concurrent Software Systems. CSCI 5828: Foundations of Software Engineering Lecture 12 09/29/2016
Introduction to Concurrent Software Systems CSCI 5828: Foundations of Software Engineering Lecture 12 09/29/2016 1 Goals Present an overview of concurrency in software systems Review the benefits and challenges
More information