13 Concurrent Programming using Tasks and Services

Size: px
Start display at page:

Download "13 Concurrent Programming using Tasks and Services"

Transcription

1 60 Advanced Java for Bioinformatics, WS 17/18, D. Huson, January 18, Concurrent Programming using Tasks and Services Any programs that you write will be multi-threaded. Modern computers have multiple cores. The Java runtime enviroment uses many threads. How to explicitly use multiple threads? User iteractions are handled in the JavaFX Application Thread. Any computations that you have done in this thread must be very quick, on the order of milliseconds. Any longer calculations must be performed in a separate thread so as to prevent freezing the UI. Example: If you have a multiple alignment of n sequences of length k and you want to compute all n n pairwise distances between them, then this will take O(n 2 k) time, which can be on the order of seconds, for usual problem sizes, and so this should not be done in the JavaFX application thread. We want to be able to: Setup a calculation using the UI Run it in a separate thread Monitor progress of the calculation and be notified when it has completed Retrieve the result and present in the UI Calculation: Atlantic-1.1 cggccttctatctctcttcttctagctcacctagttccgcgttttgtttcacgattttcc Atlantic-1.2 cggccttctatctctcttcttctagcttacctagttccgcgttttgttccacgattttcc Atlantic-1.3 cggccttctatctctcttcttctagctcacctagttccgcgttttctttcacgattttcc Atlantic-1.4 cggccttctatctctcttcttctagttcacctagttctgcgttttgtttcacgatttttc Atlantic-1.5 cggccttctatctctcttcttctagcttacctagttccacgttttgttccacgattttcc Atlantic-2.1 cggccttctatctctcttcttttagcccgtctggttccgcgttttgtttcacgattttcc Atlantic-2.2 cggccttctatctctcttcttttagctcacctagttccgcgttttgttttacgattttcc Atlantic-3 cggccttttatctctcctctcctagcccgtctggttccgcgttttgtttcacgattttcc Atlantic-4 cggccttctgtctctcttcttctagcccacccggttctgcgctttgtttcacgattctcc Atlantic-5 tggccttctgtctctcttcttctagcccacccggttctgcgctttgtttcacgattctcc Atlantic-6 cggccttctatctcttttcttctagcccacctggttccgcgttctgtttcacaatttccc Atlantic-7 cggccttctatctctcctttcctagcccgtctggttccgcgttttgtttcacgattttcc Example: Connect to a webservice, request a service, capture the response and present to user. More concretely, for example, contact the PDB web service, request a list of all available PDB files, receive the list and present list to user. Use can then select a PDB file, have its content downloaded and then displayed in a text area:

2 Advanced Java for Bioinformatics, WS 17/18, D. Huson, January 18, Need to: Contact webservice, request data, download result, all in a separate thread show progress bar and allow cancel enable and disable controls 13.1 The Worker interface The Worker interface allows one to do work in a separate worker thread. It has a state property with the values: WorkerState.READY, SCHEDULED, RUNNING, CANCELED, SUCCEEDED and FAILED, indicting the state of the task. Other properties include: totalwork, workdone and progress. The progress property comunicates the amount of work completed, between 0 and 1, or 1, if unknown. Usually will bind a progress bar to this, thus: ProgressBar bar=new ProgressBar(); bar.progressproperty().bind(worker.progressproperty()); Additional properties: message: messages reporting on progress title: title of the task exception: exception that was thrown during calculation, if the state is FAILED value: value returned by task 13.2 The Task class The JavaFX class Task<V> implements Worker. It has one method that you must override: V call () This method should implement that calculation that you want to do in a separate thread and it should return a value of type V.

3 62 Advanced Java for Bioinformatics, WS 17/18, D. Huson, January 18, 2018 The return value can be retrieved using the method V get(), which blocks until the computation has been completed. The method call() will run in a separate thread, so you cannot directly modify the scene graph from it. Task<V> provides a methods for updating the above mentioned task specific properties from within the thread in which the calculation is running: updatemessage(string message) updateprogress(double workdone, double totalwork) updatetitle(string title) updatevalue(v value) 13.3 Example: prime numbers The following algorithm computes all prime numbers upto n (using the sieve of Eratosthenes ): public s t a t i c BitSet apply ( int n ) { BitSet a=new BitSet ( ) ; a. s e t ( 2, n+1); for ( int i =2; i<=math. s q r t ( n ) ; i ++) { i f ( a. get ( i ) ) { int i 2=i i ; for ( int j=i 2 ; j<=n ; j+=i ) { a. s e t ( j, f a l s e ) ; return a ; Rewrite as task: public class SieveOfEratosthenesTask extends Task<BitSet> { private f i n a l int n ; public SieveOfEratosthenesTask ( int n ) { this. n=n public BitSet c a l l ( ) { BitSet a=new BitSet ( ) ; a. s e t ( 2, n+1); double nsqrt=math. s q r t ( n ) ; updateprogress ( 0, nsqrt ) ; for ( int i =2; i<=nsqrt ; i ++) { i f ( a. get ( i ) ) { int i 2=i i ; for ( int j=i 2 ; j<=n ; j+=i ) { a. s e t ( j, f a l s e ) ; i f ( i s C a n c e l e d ( ) ) return null ; updateprogress ( i, nsqrt ) ; return a ; The task can be run like this:

4 Advanced Java for Bioinformatics, WS 17/18, D. Huson, January 18, SieveOfEratosthenesTask task=new SieveOfEratosthenesTask ( n ) ; Executors. newsinglethreadexecutor ( ). submit ( task ) ; How to monitor progress, update the state of the UI and capture the result during execution of the task? 13.4 Task event handlers A task provides a number of event handlers that correspond to the different worker states: task.setonsucceeded((workerstateevent e)->{...); task.setonfailed(...) task.setonscheduled(...) task.setonrunning(...) task.setoncanceled(...) These methods are called in the JavaFX application thread and so can be used to update the UI. For example, like this: task. setonscheduled ( ( v) >{ outputtextarea. c l e a r ( ) ; progressbar. s e t V i s i b l e ( true ) ; runbutton. s e t D i s a b l e ( true ) ; ) ; task. setonsucceeded ( ( v) >{ S t r i n g B u i l d e r buf=new S t r i n g B u i l d e r ( ) ; for ( int i=task. getvalue ( ). nextsetbit ( 2 ) ; i!= 1; i=task. getvalue ( ). nextsetbit ( i +1)) { i f ( buf. l e n g t h () >0) buf. append (, ) ; buf. append ( i ) ; outputtextarea. settext ( buf. t o S t r i n g ( ) ) ; progressbar. s e t V i s i b l e ( f a l s e ) ; runbutton. d i s a b l e P r o p e r t y ( ). s e t D i s a b l e ( f a l s e ) ; ) ; All this code is placed inside runbutton.setonaction(...) Service class A Task object can only be run once. For running tasks multiple times, JavaFX provides the Service class. The Service class implements the Worker interface and methods refer to the currently running task. It provides a number of additional methods: reset() - reset the service, prepare for running a new task, if state not RUNNING start - start new task, only if in state READY restart() - cancel task, if one is currently running, then start new task

5 64 Advanced Java for Bioinformatics, WS 17/18, D. Huson, January 18, 2018 To use a Service, you need only implement a method that creates a new task: protected Task<V> createtask() Like this: public class S i e v e O f E r a t o s t h e n e s S e r v i c e extends S e r v i c e <BitSet> { private int protected Task<BitSet> createtask ( ) { return new SieveOfEratosthenesTask ( n ) ; public int getn ( ) { return n ; public void setn ( int n ) { this. n = n ; As we saw above, without a service, we have to set the state change event handlers for the task each time a task object is created. This happens inside the onaction() method of the run button. When using a service, we set these handlers once for the service and then the service monitors the tasks for us, e.g.: S i e v e O f E r a t o s t h e n e s S e r v i c e s e r v i c e = new S i e v e O f E r a t o s t h e n e s S e r v i c e ( ) ; progressbar. v i s i b l e P r o p e r t y ( ). bind ( s e r v i c e. runningproperty ( ) ) ; progressbar. p r o g r e s s P r o p e r t y ( ). bind ( s e r v i c e. p r o g r e s s P r o p e r t y ( ) ) ; runbutton. d i s a b l e P r o p e r t y ( ). bind ( inputtextfield. textproperty ( ). isempty ( ). or ( s e r v i c e. runningproperty ( ) ) ) ; s e r v i c e. setonscheduled ( ( v ) > { outputtextarea. c l e a r ( ) ; ) ; s e r v i c e. setonsucceeded ( ( v ) > { f i n a l S t r i n g B u i l d e r buf = new S t r i n g B u i l d e r ( ) ;... The code for the run button needs now only launch the task and does not have to deal with setting up state change handlers and bindings: runbutton. setonaction ( ( e ) > { int n = I n t e g e r. p a r s e I n t ( inputtextfield. gettext ( ) ) ; s e r v i c e. setn ( n ) ; s e r v i c e. r e s t a r t ( ) ; ) ; 13.6 Summary Lengthy computations or connections with large files or remote locations should take place in a separate thread. For this, design a class that extends Service. It will have a number of methods that allow you to configure a task and it will implement the method createtask so as to create new task objects using the set configurations. In your task implementation, you use updateprogress() to allow monitoring of progress. Also, you check for iscanceled() and abort if this returns true. Also, you might use updatemessage() to report on the status, e.g. contacting webservice or waiting for response. Monitor the status of the service so as to enable and disable control items appropriately. For example, disable launching of a task while one is currently being executed:

6 Advanced Java for Bioinformatics, WS 17/18, D. Huson, January 18, runbutton.disableproperty().bind(inputtextfield.textproperty().isempty().or(service.runningproperty()));

SDS developer guide. Develop distributed and parallel applications in Java. Nathanaël Cottin. version

SDS developer guide. Develop distributed and parallel applications in Java. Nathanaël Cottin. version SDS developer guide Develop distributed and parallel applications in Java Nathanaël Cottin sds@ncottin.net http://sds.ncottin.net version 0.0.3 Copyright 2007 - Nathanaël Cottin Permission is granted to

More information

Blocking Synchronization: Streams Vijay Saraswat (Dec 10, 2012)

Blocking Synchronization: Streams Vijay Saraswat (Dec 10, 2012) 1 Streams Blocking Synchronization: Streams Vijay Saraswat (Dec 10, 2012) Streams provide a very simple abstraction for determinate parallel computation. The intuition for streams is already present in

More information

Maps performance tips On server: Maintain DB connections, prepared statements (per thread/request!)

Maps performance tips On server: Maintain DB connections, prepared statements (per thread/request!) Announcements Maps performance tips On server: Maintain DB connections, prepared statements (per thread/request!) Use Spark.before, Spark.after to open and close. Use ThreadLocal, or pass the connection

More information

Android Services. Lecture 4. Operating Systems Practical. 26 October 2016

Android Services. Lecture 4. Operating Systems Practical. 26 October 2016 Android Services Lecture 4 Operating Systems Practical 26 October 2016 This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/.

More information

ST-Links. SpatialKit. Version 3.0.x. For ArcMap. ArcMap Extension for Directly Connecting to Spatial Databases. ST-Links Corporation.

ST-Links. SpatialKit. Version 3.0.x. For ArcMap. ArcMap Extension for Directly Connecting to Spatial Databases. ST-Links Corporation. ST-Links SpatialKit For ArcMap Version 3.0.x ArcMap Extension for Directly Connecting to Spatial Databases ST-Links Corporation www.st-links.com 2012 Contents Introduction... 3 Installation... 3 Database

More information

Heterogenous Parallel Computing with Ada Tasking

Heterogenous Parallel Computing with Ada Tasking Heterogenous Parallel Computing with Ada Tasking Jan Verschelde University of Illinois at Chicago Department of Mathematics, Statistics, and Computer Science http://www.math.uic.edu/ jan jan@math.uic.edu

More information

Design Patterns and Refactoring

Design Patterns and Refactoring Singleton Oliver Haase HTWG Konstanz 1 / 19 Description I Classification: object based creational pattern Puropse: ensure that a class can be instantiated exactly once provide global access point to single

More information

Extracting Interaction-Based Stateful Behavior in Rich Internet Applications

Extracting Interaction-Based Stateful Behavior in Rich Internet Applications Extracting Interaction-Based Stateful Behavior in Rich Internet Applications Yuta Maezawa The University of Tokyo Tokyo, Japan maezawa@nii.ac.jp Hironori Washizaki Waseda University Tokyo, Japan washizaki@waseda.jp

More information

24 Advanced Java for Bioinformatics, WS 17/18, D. Huson, November 9, 2017

24 Advanced Java for Bioinformatics, WS 17/18, D. Huson, November 9, 2017 24 Advanced Java for Bioinformatics, WS 17/18, D. Huson, November 9, 2017 6 Animation JavaFX provides support for animation. In scientific applications, animation should be used to help the user understand

More information

CPU scheduling. CPU Scheduling

CPU scheduling. CPU Scheduling EECS 3221 Operating System Fundamentals No.4 CPU scheduling Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University CPU Scheduling CPU scheduling is the basis of multiprogramming

More information

Graphical User Interfaces for Emittance and Correlation Plot. Henrik Loos

Graphical User Interfaces for Emittance and Correlation Plot. Henrik Loos Graphical User Interfaces for Emittance and Correlation Plot Common GUI Features Overview Files Configs Measure Data Point Export Common GUI Features Save Saves the present data. Auto-generated file name

More information

FACULTY OF SCIENCE ACADEMY OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING OBJECT ORIENTED PROGRAMMING DATE 07/2014 SESSION 8:00-10:00

FACULTY OF SCIENCE ACADEMY OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING OBJECT ORIENTED PROGRAMMING DATE 07/2014 SESSION 8:00-10:00 FACULTY OF SCIENCE ACADEMY OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING MODULE CAMPUS CSC2A10 OBJECT ORIENTED PROGRAMMING AUCKLAND PARK CAMPUS (APK) EXAM JULY 2014 DATE 07/2014 SESSION 8:00-10:00 ASSESOR(S)

More information

GLAS Grond-laag Laser Adaptieve optiek Systeem Ground-layer Laser Adaptive optics System A Rayleigh laser beacon for NAOMI

GLAS Grond-laag Laser Adaptieve optiek Systeem Ground-layer Laser Adaptive optics System A Rayleigh laser beacon for NAOMI GLAS Grond-laag Laser Adaptieve optiek Systeem Ground-layer Laser Adaptive optics System A Rayleigh laser beacon for NAOMI Laser Traffic Control System User Manual Project name Ground-layer Laser Adaptive

More information

Appendix 4 Weather. Weather Providers

Appendix 4 Weather. Weather Providers Appendix 4 Weather Using weather data in your automation solution can have many benefits. Without weather data, your home automation happens regardless of environmental conditions. Some things you can

More information

4D information management system for road maintenance using GIS

4D information management system for road maintenance using GIS icccbe 2010 Nottingham University Press Proceedings of the International Conference on Computing in Civil and Building Engineering W Tizani (Editor) 4D information management system for road maintenance

More information

INTEGRAL. Science Operations Centre. Announcement of Opportunity for Observing Proposals (AO-11) INT/OAG/ /Dc Issue 1.

INTEGRAL. Science Operations Centre. Announcement of Opportunity for Observing Proposals (AO-11) INT/OAG/ /Dc Issue 1. Science Operations Centre Announcement of Opportunity for Observing Proposals (AO-11) INT/OAG/13-0383/Dc Issue 1.0 25 February 2013 Prepared by Miguel Arregui, Emilio Salazar Date: 25 February 2013 Page:

More information

TENANT INSTRUCTOR REFERENCE GUIDE

TENANT INSTRUCTOR REFERENCE GUIDE TENANT INSTRUCTOR REFERENCE GUIDE Contents About This Document... 3 Audience... 3 Overview of Instructor-Led Labs... 4 Launching the Instructor Console... 4 Using the Instructor Console s Options... 5

More information

How to deal with uncertainties and dynamicity?

How to deal with uncertainties and dynamicity? How to deal with uncertainties and dynamicity? http://graal.ens-lyon.fr/ lmarchal/scheduling/ 19 novembre 2012 1/ 37 Outline 1 Sensitivity and Robustness 2 Analyzing the sensitivity : the case of Backfilling

More information

INTEGRAL. Science Operations Centre. Announcement of Opportunity for Observing Proposals (AO-7) Integral AO Tools Software User Manual

INTEGRAL. Science Operations Centre. Announcement of Opportunity for Observing Proposals (AO-7) Integral AO Tools Software User Manual Science Operations Centre Announcement of Opportunity for Observing Proposals (AO-7) Software User Manual INT/OAG/08-0309/Dc Issue 1.0 12 January 2009 Prepared by S. de Castro Authorised by A.N. Parmar

More information

Administrivia. Course Objectives. Overview. Lecture Notes Week markem/cs333/ 2. Staff. 3. Prerequisites. 4. Grading. 1. Theory and application

Administrivia. Course Objectives. Overview. Lecture Notes Week markem/cs333/ 2. Staff. 3. Prerequisites. 4. Grading. 1. Theory and application Administrivia 1. markem/cs333/ 2. Staff 3. Prerequisites 4. Grading Course Objectives 1. Theory and application 2. Benefits 3. Labs TAs Overview 1. What is a computer system? CPU PC ALU System bus Memory

More information

CS Java. Introduction to Java. Andy Mroczkowski Department of Computer Science Drexel University

CS Java. Introduction to Java. Andy Mroczkowski Department of Computer Science Drexel University CS 190 - Java Introduction to Java Andy Mroczkowski uamroczk@cs.drexel.edu Department of Computer Science Drexel University February 18, 2008 / Lecture 5 Outline Course Status Course Information & Schedule

More information

Basic chromatographic parameters and optimization in LC

Basic chromatographic parameters and optimization in LC AM0925 Assignment Basic chromatographic parameters and optimization in LC Introduction This is a computer exercise where you will apply a simulator of reversed phase LC to study the influence of chromatographic

More information

ECEN 651: Microprogrammed Control of Digital Systems Department of Electrical and Computer Engineering Texas A&M University

ECEN 651: Microprogrammed Control of Digital Systems Department of Electrical and Computer Engineering Texas A&M University ECEN 651: Microprogrammed Control of Digital Systems Department of Electrical and Computer Engineering Texas A&M University Prof. Mi Lu TA: Ehsan Rohani Laboratory Exercise #4 MIPS Assembly and Simulation

More information

TECDIS and TELchart ECS Weather Overlay Guide

TECDIS and TELchart ECS Weather Overlay Guide 1 of 24 TECDIS and TELchart ECS provides a very advanced weather overlay feature, using top quality commercial maritime weather forecast data available as a subscription service from Jeppesen Marine. The

More information

Manual for some LCLS Matlab GUIs. Henrik Loos SLAC, 2575 Sand Hill Road, Menlo Park, CA 94025

Manual for some LCLS Matlab GUIs. Henrik Loos SLAC, 2575 Sand Hill Road, Menlo Park, CA 94025 Manual for some LCLS Matlab GUIs Henrik Loos SLAC, 2575 Sand Hill Road, Menlo Park, CA 94025 October 8, 2007 2 Emittance GUI Scope This graphical user interface (Fig. 1) for Matlab enables the measurement

More information

UltraWeatherBug3 HSPI User s Guide A HomeSeer HS3 plug-in to access live local weather conditions, forecasts and severe weather alerts

UltraWeatherBug3 HSPI User s Guide A HomeSeer HS3 plug-in to access live local weather conditions, forecasts and severe weather alerts UltraWeatherBug3 HSPI User s Guide A HomeSeer HS3 plug-in to access live local weather conditions, forecasts and severe weather alerts Copyright 2015 ultrajones@hotmail.com Revised 08/08/2015 This document

More information

Please click the link below to view the YouTube video offering guidance to purchasers:

Please click the link below to view the YouTube video offering guidance to purchasers: Guide Contents: Video Guide What is Quick Quote? Quick Quote Access Levels Your Quick Quote Control Panel How do I create a Quick Quote? How do I Distribute a Quick Quote? How do I Add Suppliers to a Quick

More information

Computer Science Introductory Course MSc - Introduction to Java

Computer Science Introductory Course MSc - Introduction to Java Computer Science Introductory Course MSc - Introduction to Java Lecture 3:,, Pablo Oliveira ENST Outline 1 2 3 Definition An exception is an event that indicates an abnormal condition

More information

Lecture 5: Sep. 23 &25

Lecture 5: Sep. 23 &25 CIS 2168 Data Structures Fall 2014 Lecturer: Anwar Mamat Lecture 5: Sep. 23 &25 Disclaimer: These notes may be distributed outside this class only with the permission of the Instructor. 5.1 Doubly Linked

More information

VIVA ebook Cataloging Training Webinar held on January 30, 2014

VIVA ebook Cataloging Training Webinar held on January 30, 2014 VIVA ebook Cataloging Training Webinar held on January 30, 2014 Our Host Natalie Clewell, Online Learning Librarian at Northern Virginia Community College and VIVA Resources for Users Committee Training

More information

Store User Guide - Forecasting. Jimmy John s

Store User Guide - Forecasting. Jimmy John s Store User Guide - Forecasting Jimmy John s All rights reserved. This publication contains proprietary information of HotSchedules. No part of this publication may be reproduced, stored in a retrieval

More information

Limnor Studio User s Guide

Limnor Studio User s Guide L i m n o r S t u d i o U s e r G u i d e - S c r e e n s a v e r F i l e s 1 Limnor Studio User s Guide Screensaver Contents 1 Create Screensaver Project... 2 2 Distribute Screensaver... 3 3 Test Before

More information

Activities, Fragments and Intents

Activities, Fragments and Intents Mobile App Development 1 2 Design Principles 3 1 2 Design Principles 3 Manifest file Outline AndroidManifest.xml XML file Contains name of the application and a default package, Sets up the various permissions

More information

Assignment 4: Object creation

Assignment 4: Object creation Assignment 4: Object creation ETH Zurich Hand-out: 13 November 2006 Due: 21 November 2006 Copyright FarWorks, Inc. Gary Larson 1 Summary Today you are going to create a stand-alone program. How to create

More information

Simulation of Process Scheduling Algorithms

Simulation of Process Scheduling Algorithms Simulation of Process Scheduling Algorithms Project Report Instructor: Dr. Raimund Ege Submitted by: Sonal Sood Pramod Barthwal Index 1. Introduction 2. Proposal 3. Background 3.1 What is a Process 4.

More information

Lecture 4: Process Management

Lecture 4: Process Management Lecture 4: Process Management Process Revisited 1. What do we know so far about Linux on X-86? X-86 architecture supports both segmentation and paging. 48-bit logical address goes through the segmentation

More information

Mass Asset Additions. Overview. Effective mm/dd/yy Page 1 of 47 Rev 1. Copyright Oracle, All rights reserved.

Mass Asset Additions.  Overview. Effective mm/dd/yy Page 1 of 47 Rev 1. Copyright Oracle, All rights reserved. Overview Effective mm/dd/yy Page 1 of 47 Rev 1 System References None Distribution Oracle Assets Job Title * Ownership The Job Title [list@yourcompany.com?subject=eduxxxxx] is responsible for ensuring

More information

Clojure Concurrency Constructs, Part Two. CSCI 5828: Foundations of Software Engineering Lecture 13 10/07/2014

Clojure Concurrency Constructs, Part Two. CSCI 5828: Foundations of Software Engineering Lecture 13 10/07/2014 Clojure Concurrency Constructs, Part Two CSCI 5828: Foundations of Software Engineering Lecture 13 10/07/2014 1 Goals Cover the material presented in Chapter 4, of our concurrency textbook In particular,

More information

Formal Conformance Testing 2006

Formal Conformance Testing 2006 Formal Conformance Testing 2006 Lecture 1 14th Sep 2006 Welcome! This is T-79.5304: Formal Conformance Testing Lectures from 10 to 12 am, no regular tutorials Cancellations and other notes at the web page

More information

Tutorial. Getting started. Sample to Insight. March 31, 2016

Tutorial. Getting started. Sample to Insight. March 31, 2016 Getting started March 31, 2016 Sample to Insight CLC bio, a QIAGEN Company Silkeborgvej 2 Prismet 8000 Aarhus C Denmark Telephone: +45 70 22 32 44 www.clcbio.com support-clcbio@qiagen.com Getting started

More information

Virtual Beach Making Nowcast Predictions

Virtual Beach Making Nowcast Predictions Virtual Beach 3.0.6 Making Nowcast Predictions In this module you will learn how to: A. Create a real-time connection to Web data services through EnDDaT B. Download real-time data to make a Nowcast prediction

More information

ON SITE SYSTEMS Chemical Safety Assistant

ON SITE SYSTEMS Chemical Safety Assistant ON SITE SYSTEMS Chemical Safety Assistant CS ASSISTANT WEB USERS MANUAL On Site Systems 23 N. Gore Ave. Suite 200 St. Louis, MO 63119 Phone 314-963-9934 Fax 314-963-9281 Table of Contents INTRODUCTION

More information

M E R C E R W I N WA L K T H R O U G H

M E R C E R W I N WA L K T H R O U G H H E A L T H W E A L T H C A R E E R WA L K T H R O U G H C L I E N T S O L U T I O N S T E A M T A B L E O F C O N T E N T 1. Login to the Tool 2 2. Published reports... 7 3. Select Results Criteria...

More information

HELCOM-VASAB Maritime Spatial Planning Working Group Twelfth Meeting Gdansk, Poland, February 2016

HELCOM-VASAB Maritime Spatial Planning Working Group Twelfth Meeting Gdansk, Poland, February 2016 HELCOM-VASAB Maritime Spatial Planning Working Group Twelfth Meeting Gdansk, Poland, 24-25 February 2016 Document title HELCOM database for the coastal and marine Baltic Sea protected areas (HELCOM MPAs).

More information

Complete Faceting. code4lib, Feb Toke Eskildsen Mikkel Kamstrup Erlandsen

Complete Faceting. code4lib, Feb Toke Eskildsen Mikkel Kamstrup Erlandsen Complete Faceting code4lib, Feb. 2009 Toke Eskildsen te@statsbiblioteket.dk Mikkel Kamstrup Erlandsen mke@statsbiblioteket.dk Battle Plan Terminology (geek level: 1) History (geek level: 3) Data Structures

More information

Part 1: Play Purpose: Play! See how everything works before we try to find any relationships.

Part 1: Play Purpose: Play! See how everything works before we try to find any relationships. PhET Gas Law Simulation Name: http://phet.colorado.edu/new/simulations/sims.php?sim=gas_properties If the direct link does not work, use Google, and use the search terms Phet Gas properties. You can download

More information

Extensibility Patterns: Extension Access

Extensibility Patterns: Extension Access Design Patterns and Frameworks Dipl.-Medieninf. Christian Piechnick INF 2080 christian.piechnick@tu-dresden.de Exercise Sheet No. 5 Software Technology Group Institute for SMT Department of Computer Science

More information

Introduction to Computing II (ITI 1121) MIDTERM EXAMINATION

Introduction to Computing II (ITI 1121) MIDTERM EXAMINATION Université d Ottawa Faculté de génie École de science informatique et de génie électrique University of Ottawa Faculty of Engineering School of Electrical Engineering and Computer Science Identification

More information

XR Analog Clock - Manual Setting Model Troubleshooting Guide

XR Analog Clock - Manual Setting Model Troubleshooting Guide Primex XR 72MHz Synchronized Time Solution XR Analog Clock - Manual Setting Model Troubleshooting Guide 2018 Primex. All Rights Reserved. The Primex logo is a registered trademark of Primex. All other

More information

It s Just a Lunar Phase

It s Just a Lunar Phase Science Objectives Students will identify patterns in data associated with the lunar phases. Students will describe how the relative positions of the Earth, the Moon, and the Sun cause lunar phases. Students

More information

Introduction to Portal for ArcGIS

Introduction to Portal for ArcGIS Introduction to Portal for ArcGIS Derek Law Product Management March 10 th, 2015 Esri Developer Summit 2015 Agenda Web GIS pattern Product overview Installation and deployment Security and groups Configuration

More information

Manual Laser Doppler Anemometry Manual remote experiment Project e-xperimenteren+

Manual Laser Doppler Anemometry Manual remote experiment Project e-xperimenteren+ Manual Laser Doppler Anemometry Manual remote experiment Project e-xperimenteren+ J. Snellenburg, J.M.Mulder 19-01-2006 Colofon Manual Laser Doppler Anemometry Manual remote experiment Project e-xperimenteren+

More information

INSPIRE Monitoring and Reporting Implementing Rule Draft v2.1

INSPIRE Monitoring and Reporting Implementing Rule Draft v2.1 INSPIRE Infrastructure for Spatial Information in Europe INSPIRE Monitoring and Reporting Implementing Rule Draft v2.1 Title INSPIRE Monitoring and Reporting Implementing Rule v2.1 Creator DT Monitoring

More information

Migrating Defense Workflows from ArcMap to ArcGIS Pro. Renee Bernstein and Jared Sellers

Migrating Defense Workflows from ArcMap to ArcGIS Pro. Renee Bernstein and Jared Sellers Migrating Defense Workflows from ArcMap to ArcGIS Pro Renee Bernstein and Jared Sellers ArcGIS Desktop Desktop Web Device ArcMap ArcCatalog ArcScene ArcGlobe ArcGIS Pro portal Server Online Content and

More information

Sustainable City Index SCI-2014

Sustainable City Index SCI-2014 Sustainable City Index SCI-2014 Summary Since its successful launch in 2006, the Sustainable Society Index (SSI) still remains the only index that shows in quantitative terms the level of sustainability

More information

B629 project - StreamIt MPI Backend. Nilesh Mahajan

B629 project - StreamIt MPI Backend. Nilesh Mahajan B629 project - StreamIt MPI Backend Nilesh Mahajan March 26, 2013 Abstract StreamIt is a language based on the dataflow model of computation. StreamIt consists of computation units called filters connected

More information

What are the Spatial Data Standards?

What are the Spatial Data Standards? What is SDSFIE? 1992 Army, Navy, Air Force and Marine Corps established the Tri- Service CADD/GIS Technology Center at the US Army Engineer Waterways Experiment Station in Vicksburg, Miss. 1999 name was

More information

Paths Toward CAD and GIS Interoperability

Paths Toward CAD and GIS Interoperability Paths Toward CAD and GIS Interoperability Bo Guo, PhD, PE Gistic Research, Inc Outline CAD and GIS Differences Interoperability Paths UDOT ROW Research Project CAD and GIS: The Difference (I) History Users

More information

Project 3: Hadoop Blast Cloud Computing Spring 2017

Project 3: Hadoop Blast Cloud Computing Spring 2017 Project 3: Hadoop Blast Cloud Computing Spring 2017 Professor Judy Qiu Goal By this point you should have gone over the sections concerning Hadoop Setup and a few Hadoop programs. Now you are going to

More information

European Commission STUDY ON INTERIM EVALUATION OF EUROPEAN MARINE OBSERVATION AND DATA NETWORK. Executive Summary

European Commission STUDY ON INTERIM EVALUATION OF EUROPEAN MARINE OBSERVATION AND DATA NETWORK. Executive Summary European Commission STUDY ON INTERIM EVALUATION OF EUROPEAN MARINE OBSERVATION AND DATA NETWORK Executive Summary by NILOS Netherlands Institute for the Law of the Sea June 2011 Page ii Study on Interim

More information

New Cloud Solutions by My TimeZero

New Cloud Solutions by My TimeZero New Cloud Solutions by My TimeZero 1. TimeZero Products under My TimeZero 2. Creating and Logging into My TimeZero Account 3. Linking My TimeZero Products with Users 3-1 Finding Friends 3-2 Saving Settings

More information

K D A A M P L I F I E R S F I R M W A R E U S E R G U I D E

K D A A M P L I F I E R S F I R M W A R E U S E R G U I D E K D A A M P L I F I E R S F I R M W A R E U S E R G U I D E T A B L E O F C O N T E N T S S E C T I O N 1 : P R E PA R I N G Y O U R F I L E S Via Network Router 3 S E C T I O N 2 : A C C E S S I N G T

More information

CMSC 132, Object-Oriented Programming II Summer Lecture 6:

CMSC 132, Object-Oriented Programming II Summer Lecture 6: CMSC 132, Object-Oriented Programming II Summer 2016 Lecturer: Anwar Mamat Lecture 6: Disclaimer: These notes may be distributed outside this class only with the permission of the Instructor. 6.1 Singly

More information

Using R for Iterative and Incremental Processing

Using R for Iterative and Incremental Processing Using R for Iterative and Incremental Processing Shivaram Venkataraman, Indrajit Roy, Alvin AuYoung, Robert Schreiber UC Berkeley and HP Labs UC BERKELEY Big Data, Complex Algorithms PageRank (Dominant

More information

Object Modeling Approach! Object Modeling Approach!

Object Modeling Approach! Object Modeling Approach! Object Modeling Approach! 1 Object Modeling Approach! Start with a problem statement! High-level requirements! Define object model! Identify objects and classes! Prepare data dictionary! Identify associations

More information

CS425: Algorithms for Web Scale Data

CS425: Algorithms for Web Scale Data CS425: Algorithms for Web Scale Data Most of the slides are from the Mining of Massive Datasets book. These slides have been modified for CS425. The original slides can be accessed at: www.mmds.org Challenges

More information

Java Programming. Final Examination on December 13, 2015 Fall 2015

Java Programming. Final Examination on December 13, 2015 Fall 2015 Java Programming Final Examination on December 13, 2015 Fall 2015 Department of Computer Science and Information Engineering National Taiwan University Problem 1 (10 points) Multiple choice questions.

More information

Advanced Forecast. For MAX TM. Users Manual

Advanced Forecast. For MAX TM. Users Manual Advanced Forecast For MAX TM Users Manual www.maxtoolkit.com Revised: June 24, 2014 Contents Purpose:... 3 Installation... 3 Requirements:... 3 Installer:... 3 Setup: spreadsheet... 4 Setup: External Forecast

More information

Account Setup. STEP 1: Create Enhanced View Account

Account Setup. STEP 1: Create Enhanced View Account SpyMeSatGov Access Guide - Android DigitalGlobe Imagery Enhanced View How to setup, search and download imagery from DigitalGlobe utilizing NGA s Enhanced View license Account Setup SpyMeSatGov uses a

More information

Acceleration of Gravity

Acceleration of Gravity EV3 program description The program 10 determines the acceleration of gravity of a small metal ball by calculating the time between the opening of the arm and the ball s collision on a Touch Sensor. If

More information

ArcGIS Web Tools, Templates, and Solutions for Defence & Intelligence. Renee Bernstein Esri Solutions Engineer

ArcGIS Web Tools, Templates, and Solutions for Defence & Intelligence. Renee Bernstein Esri Solutions Engineer ArcGIS Web Tools, Templates, and Solutions for Defence & Intelligence Renee Bernstein Esri Solutions Engineer ArcGIS Solutions Includes 450+ Industry Focused Apps and Capabilities Organized by 9 Primary

More information

William H. Bauman III * NASA Applied Meteorology Unit / ENSCO, Inc. / Cape Canaveral Air Force Station, Florida

William H. Bauman III * NASA Applied Meteorology Unit / ENSCO, Inc. / Cape Canaveral Air Force Station, Florida 12.5 INTEGRATING WIND PROFILING RADARS AND RADIOSONDE OBSERVATIONS WITH MODEL POINT DATA TO DEVELOP A DECISION SUPPORT TOOL TO ASSESS UPPER-LEVEL WINDS FOR SPACE LAUNCH William H. Bauman III * NASA Applied

More information

Chain of Responsibility

Chain of Responsibility Department of Computer Science University of Pretoria 29 and 30 September 2014 Overview Identification 1 Identification 2 3 4 5 6 Name and Classification: Chain of Responsibility Intent: Avoid coupling

More information

Data-Sharing Agreement

Data-Sharing Agreement Data-Sharing Agreement Contributions to LandMark: The Global Platform of Indigenous and Community Lands This Data-Sharing Agreement provides the standards for contributing data to the LandMark: The Global

More information

Lecture 4: Stacks and Queues

Lecture 4: Stacks and Queues Reading materials Goodrich, Tamassia, Goldwasser (6th), chapter 6 OpenDSA (https://opendsa-server.cs.vt.edu/odsa/books/everything/html/): chapter 9.8-13 Contents 1 Stacks ADT 2 1.1 Example: CharStack ADT

More information

Accountability. User Guide

Accountability. User Guide Accountability User Guide The information in this document is subject to change without notice and does not represent a commitment on the part of Horizon. The software described in this document is furnished

More information

Module 5: CPU Scheduling

Module 5: CPU Scheduling Module 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation 5.1 Basic Concepts Maximum CPU utilization obtained

More information

Coulomb s Law Mini-Lab

Coulomb s Law Mini-Lab Setup Name Per Date Coulomb s Law Mini-Lab On a fresh piece of notebook paper, write the above title, name, date, and period. Be sure to put all headings, Roman numerals and regular numbers on your paper.

More information

Report of Dragable Notebook

Report of Dragable Notebook Report of Dragable Notebook Lu Guandong, Qi Zhenlin, Mao Yong, Han Bing May 18, 2017 Abstract This report shows you why we develop the app, the function of the app and the features of the app. We include

More information

CS-140 Fall 2017 Test 1 Version Practice Practice for Nov. 20, Name:

CS-140 Fall 2017 Test 1 Version Practice Practice for Nov. 20, Name: CS-140 Fall 2017 Test 1 Version Practice Practice for Nov. 20, 2017 Name: 1. (10 points) For the following, Check T if the statement is true, the F if the statement is false. (a) T F : If a child overrides

More information

Chapter 6: CPU Scheduling

Chapter 6: CPU Scheduling Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation 6.1 Basic Concepts Maximum CPU utilization obtained

More information

INF Models of concurrency

INF Models of concurrency INF4140 - Models of concurrency RPC and Rendezvous INF4140 Lecture 15. Nov. 2017 RPC and Rendezvous Outline More on asynchronous message passing interacting processes with different patterns of communication

More information

Designing a Quilt with GIMP 2011

Designing a Quilt with GIMP 2011 Planning your quilt and want to see what it will look like in the fabric you just got from your LQS? You don t need to purchase a super expensive program. Try this and the best part it s FREE!!! *** Please

More information

O P E R A T I N G M A N U A L

O P E R A T I N G M A N U A L OPERATING MANUAL WeatherJack OPERATING MANUAL 1-800-645-1061 The baud rate is 2400 ( 8 bits, 1 stop bit, no parity. Flow control = none) To make sure the unit is on line, send an X. the machine will respond

More information

Project: Equilibrium Simulation

Project: Equilibrium Simulation UNIT 02: BCLN CHEMISTRY 12 - Rev. July, 2015 Project: Simulation Potential Credits: /20 Name: Goal: In this project you will explore the concept of reversible reactions and calculating K eq using some

More information

Observation: NOT OBSERVING Either Not observing, Waiting, On Source, On reference, Scanning etc.

Observation: NOT OBSERVING Either Not observing, Waiting, On Source, On reference, Scanning etc. JODRELL BANK OBSERVATORY 7-M RADIO TELESCOPE: OBSERVING MANUAL The Jodrell Bank internet Observatory (JBiO) is a web interface to Jodrell Bank's 7-m radio telescope. The telescope itself is actually controlled

More information

Real Time Operating Systems

Real Time Operating Systems Real Time Operating ystems Luca Abeni luca.abeni@unitn.it Interacting Tasks Until now, only independent tasks... A job never blocks or suspends A task only blocks on job termination In real world, jobs

More information

mylab: Chemical Safety Module Last Updated: January 19, 2018

mylab: Chemical Safety Module Last Updated: January 19, 2018 : Chemical Safety Module Contents Introduction... 1 Getting started... 1 Login... 1 Receiving Items from MMP Order... 3 Inventory... 4 Show me Chemicals where... 4 Items Received on... 5 All Items... 5

More information

A Tutorial on Runtime Verification

A Tutorial on Runtime Verification A Tutorial on Runtime Verification Yliès FALCONE a, Klaus HAVELUND b,1 and Giles REGER c,2 a University of Grenoble I (UJF), Laboratoire d Informatique de Grenoble, France b Jet Propulsion Laboratory,

More information

GE Healthcare. Biacore T200. Software Handbook

GE Healthcare. Biacore T200. Software Handbook GE Healthcare Biacore T200 Software Handbook Contents 1 Introduction 1.1 System overview... 7 1.2 Support for use in regulated environments... 8 1.3 Associated documentation... 8 1.4 Biacore terminology...

More information

Geodatabase: Best Practices. Robert LeClair, Senior Instructor

Geodatabase: Best Practices. Robert LeClair, Senior Instructor Geodatabase: Best Practices Robert LeClair, Senior Instructor Agenda Geodatabase Creation Data Ownership Data Model Data Configuration Geodatabase Behaviors Data Validation Extending Performance Geodatabase

More information

Jonghwa Lee assistant engineer Samsung Electronics

Jonghwa Lee assistant engineer Samsung Electronics Jonghwa Lee assistant engineer Samsung Electronics Contents Generic Thermal Framework Thermal zone device Cooling device Binding & Thermal instance Governors SYSFS interfaces Thermal management CPU Cooling

More information

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University Prof. Sunil P Khatri (Lab exercise created and tested by Ramu Endluri, He Zhou and Sunil P

More information

Introduction to Portal for ArcGIS. Hao LEE November 12, 2015

Introduction to Portal for ArcGIS. Hao LEE November 12, 2015 Introduction to Portal for ArcGIS Hao LEE November 12, 2015 Agenda Web GIS pattern Product overview Installation and deployment Security and groups Configuration options Portal for ArcGIS + ArcGIS for

More information

Clocks in Asynchronous Systems

Clocks in Asynchronous Systems Clocks in Asynchronous Systems The Internet Network Time Protocol (NTP) 8 Goals provide the ability to externally synchronize clients across internet to UTC provide reliable service tolerating lengthy

More information

Lecture 13. Real-Time Scheduling. Daniel Kästner AbsInt GmbH 2013

Lecture 13. Real-Time Scheduling. Daniel Kästner AbsInt GmbH 2013 Lecture 3 Real-Time Scheduling Daniel Kästner AbsInt GmbH 203 Model-based Software Development 2 SCADE Suite Application Model in SCADE (data flow + SSM) System Model (tasks, interrupts, buses, ) SymTA/S

More information

LSN 15 Processor Scheduling

LSN 15 Processor Scheduling LSN 15 Processor Scheduling ECT362 Operating Systems Department of Engineering Technology LSN 15 Processor Scheduling LSN 15 FCFS/FIFO Scheduling Each process joins the Ready queue When the current process

More information

FACULTY OF SCIENCE ACADEMY OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING OBJECT ORIENTED PROGRAMMING DATE 09/06/2014 SESSION 8:30-10:30

FACULTY OF SCIENCE ACADEMY OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING OBJECT ORIENTED PROGRAMMING DATE 09/06/2014 SESSION 8:30-10:30 FACULTY OF SCIENCE ACADEMY OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING MODULE CAMPUS CSC2A10 OBJECT ORIENTED PROGRAMMING AUCKLAND PARK CAMPUS (APK) EXAM JUNE 2014 DATE 09/06/2014 SESSION 8:30-10:30 ASSESOR(S)

More information

Synteny Portal Documentation

Synteny Portal Documentation Synteny Portal Documentation Synteny Portal is a web application portal for visualizing, browsing, searching and building synteny blocks. Synteny Portal provides four main web applications: SynCircos,

More information

SFWR ENG 3S03: Software Testing

SFWR ENG 3S03: Software Testing (Slide 1 of 69) Dr. Ridha Khedri Writing in Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on [HT03] Unit Testing in Java with

More information