Re-programming a many-to-many merge with Hash Objects

Size: px
Start display at page:

Download "Re-programming a many-to-many merge with Hash Objects"

Transcription

1 Re-programming a many-to-many merge with Hash Objets CS05 PhUSE 2012 Budapest D. J. Garbutt 17 Otober 2012

2 Why? 1 In this talk I will demonstrate how you an re-program a many-to-many merge using hash objets instead of the various other methods already known. to illustrate the advantages of hash objet for typial SAS programming

3 What? Two worked examples in the paper and on Wiki page 1 amanytomanymerge CMbakintoAE 2 acdiscdatavalidation hekvoabularies aross domains and variables One data step with no maro variables at all. In this presentation I will look at just the seond example whih omes from a paper at PhUSE last year by Guido Wendland. Chek it out.

4 How and When to use a hash objet How? Tips and syntax details See the paper. lots of further reading When? Hashes an be imported into any data step and an be used in many instanes where maro variables would be normally be needed. Hashes are not just for look up of large tables

5 Up Next 1 Introdution and History 2 Chek a CDISC Domain for invalid values The problem The data The programming Adding other variables Adding other datasets 3 SAS programming after the hash objet SAS Memory model Hash Objet myths Issues with SAS program development Solved!

6 Hash arrays and Content Addressable Arrays 1977 AWK and Snobol4 in 1977 Currently in KornShell 93, bash, Ruby, PowerShell,.NET, Java, R, et., Dorfman showed hashing ould be programmed with adatastepinthe90 sbutitisnotsimpleandonly worth the effort for very large datasets. Now sine 2008 (9.2) SAS has built-in support for the hash objet.

7 AWK program 1 xargs file awk { $1=NULL; t[$0]++; } END { for (i in t) printf("%d\t%s\n", t[i], i) } sort -nr

8 How does the hash array look? name[ Dave ] + 1 ; index: [Dave][dave][Greg][Urs][n/a] address: Count: An Array: is a storage area and arule: Alloate area of ontiguous memory then to aess it alulate storage loation from the index.

9 How does it work? 1 normal array rule: take the memory base address and add index (bytes in integer) hash array rule: take the memory base address, now run index = harater string through hash funtion to get an integer, add it to base address.

10 How does it work? 2 AhashfuntionisabitliketheMD-5keyorrandom number generator it does bit operations on the haraters, in this ase to get an integer.

11 How does it work? 3 Ahasharrayisnotalistdatastruture It has no links between members and annot grow indefinately. And insertion / deletion operations take onstant time O(1).

12 The problem Chek variables for orret values Some SDTM variables (data elements) have fixed ontent so we would like to hek and make sure they onform. Ingredients 1 Data domain e.g. AE 2 list of variables to hek with the name of their ode-list 3 SDTM ontrolled data list SDTM/SDTM/Terminology.odm.xml

13 The problem Solution with maro Asolutionwasverylearlypresentedatlastyear s PhUSE by Guido Wendland ASASmarotohekSDTMdomainsagainst ontrolled terminology, PhUSE 2011,

14 output ; end; /* next test follows...*/ The problem Generate a data step fragment like data violations (keep=variable error) ; set ae ; if aean not in ( DOSE INCREASED, DOSE NOT CHANGED, DOSE REDUCED,...) then do; variable = AEACN ; error = ats( value of AEACN,aean, not found in ditionary ) ;

15 The problem To get this ode Transpose the ode list then substitute it into an in() test Repeat for eah variable. Thousands of lines of ode for SAS to interpret and exeute

16 The data flow

17 The data The goal is to hek values 1 data violations (keep=variable error) ; set ae ;

18 The data The goal is to hek values 2 if aean not in( DOSE INCREASED, DOSE NOT CHANGED, DOSE REDUCED,...) then do; variable = AEACN ; error = ats( value of AEACN,aean, not found in ditionary ) ; output ; end;

19 The data The goal is to hek values 3 run; /* next test follows...*/

20 The data The goal is to hek values 4 Could we do a fast lookup of the right ode? We would put all the voabulary in one hash objet and use the hek() method to test for presene

21 The data Something like this: 1 notfound = odelst.hek( key: CODELIST_CODE, Key: AEACN );

22 The data Something like this: 2 if notfound then do; variable = AEACN ; error = ats( Value of AEACN,aean, not found in ditionary ); output ; /* next variable... */

23 The data Something like this: 3 Notes: no quotes round AECN We need the ode lists...

24 NCI Code lists Code Code List Code Codelist Name CDISC Subm C66767 Ation Taken with Study Treatment ACN C49503 C66767 Ation Taken with Study Treatment DOSE INCRE C49504 C66767 Ation Taken with Study Treatment DOSE NOT C49505 C66767 Ation Taken with Study Treatment DOSE REDU C49501 C66767 Ation Taken with Study Treatment DRUG INTE C49502 C66767 Ation Taken with Study Treatment DRUG WITH C48660 C66767 Ation Taken with Study Treatment NOT APPLIC

25 The data Split into two datasets read the XML file filename SDTMCT H:\garbutt\DATA\Projets\CS05-djg\SDTM_ filename SXLEMAP H:\garbutt\DATA\Projets\CS05-djg\CDISC libname SDTMCT xml xmlmap=sxlemap aess=readonly;

26 The data manipulate the datasets /* the map defines two tables */ data odelist_m; SET SDTMCT.CodeList_M; run; data odelist; set sdtmt.odelist; odelist_name= san(oid,3,. ) ; run;

27 The data Read the ontrol dataset maplist data as used by Wendland data s05l.maplist ; length ruleid $6 variable $8 Codelist $411 ; input odelist $10. ; datalines ; CT0001 AEACN ACN CT0002 AESEV AESEV CT0009 DOMAIN DOMAIN CT0027 AEOUT OUT CT0037 AEBODSYS SOC CT0064 AESER NY ;

28 The programming Setup the hash objets; Lookup the data varleft = vars_to_hek.first(); r = odelist_md.find(); notfound = odelst.hek( key: CODELIST_CODE, Key: AEACN );

29 Program flow and PDV ontents

30 Adding other variables Iterating through the datasets add hash iterator to the maplist hash objet /* Maplist mathes variable and odelist (num id) */ delare hash maplist(dataset: "s05l.maplist", hashexp:4, ordered: yes ); r + maplist.definekey( VARIABLE ) ; r + maplist.definedata( VARIABLE, RULEID, CODELIST ); r + maplist.definedone(); all missing(variable, ruleid, odelist) ; if r then putlog ERRO R: problem reating hash obj maplist ; /* define iterator for maplist to enable looping */ delare hiter vars_to_hek( maplist ) ;

31 Adding other variables Iterating with first() and next() varleft = vars_to_hek.first(); do while (varleft = 0 ) ; RC = 0; notfound = 1 ; all missing(ruleid,,odelist,odelist_value,odelist_ode ) ; varleft = vars_to_hek.next() ; end;

32 Adding other variables Lookup the variable value to hek valtotest = vvaluex(variable) ; notfound = odelst.hek( key: CODELIST_CODE, Key: valtotest );

33 Adding other datasets Looping aross datasets 1 Compile the data step and generate with all exeute (1 of 4 ways) *--- ompile program ---- ; data violations /PGM=work.violations ; run; *--- and generate list of members in vmembers from maplist--;

34 Adding other datasets Looping aross datasets 2 Compile the data step and generate with all exeute (1 of 4 ways) data _null_ ; set vmembers ; all exeute ( data PGM=work.violations ; ) ; all exeute( exeute ; ) ;

35 Adding other datasets Looping aross datasets 3 Compile the data step and generate with all exeute (1 of 4 ways) all exeute( att( rediret INPUT AE=, memname, ); ) ;

36 Adding other datasets Looping aross datasets 4 Compile the data step and generate with all exeute (1 of 4 ways) all exeute( att( rediret output violations =v, memname, ; run; ) ); run;

37 Adding other datasets Full ode is about 120 lines 50 lines of hash objet delaration not a single maro variable headed for the wiki...

38 SAS memory model Till now

39 SAS memory model After hash objets

40 Hash Objet myths 8 Hash Objet myths dispelled 1 1 They are just for lookup with millions of rows I don t need that syntax mess! 2 Useless you an t have dupliate keys! multidata: yes 3 If keys are dupliated you get no warning! dupliate: error

41 Hash Objet myths 8 Hash Objet myths dispelled 2 4 You an t sort them! ordered: yes 5 You ll run out of memory! 4GBis5.3million800bytereords 6 You have to build the hash with add(), delete() et. Tedious! dataset: work.dave (where myths > 9)

42 Hash Objet myths 8 Hash Objet myths dispelled 3 7 Can t be used outside a data step! output() method will write to dataset 8 Merge, Pro SQL, set key=, and formats work fine for merging hash is faster and advantage inreases with size of data

43 Hash Objet myths 8 Hash Objet myths dispelled Syntax is verbose and opaque 11 Can t be used with pros, maros, the DDV or pro IML

44 Issues with SAS program development Fundamental Issues with SAS program development 1 Longstanding issues sine Version 6 and earlier Why is developing large sale systems so hard with SAS? My list of reasons is: 1 separation of pros and data steps from eah other by the disk transfer wall

45 Issues with SAS program development Fundamental Issues with SAS program development 2 Longstanding issues sine Version 6 and earlier 2 maro is purely a text generator (f Korn Shell, Perl, Ruby) 3 maro variables are simple, individual strutures. Other strutures have to be emulated by naming onventions and ollision avoidane. Or not.

46 Issues with SAS program development Fundamental Issues with SAS program development 3 Longstanding issues sine Version 6 and earlier 4 in data steps only salars are allowed (ie single named elements of PDV). Arrays are just list of variable names, not data strutures! 5 lak of truly enapsulated funtions or subroutines (goto label: are you kidding me?).

47 Issues with SAS program development Fundamental Issues with SAS program development 4 Longstanding issues sine Version 6 and earlier 6 lak of an exe() funtion that an exeute ode in plae and return the result

48 Solved! Issues with SAS program development 1 solved! In Version 9.2 SAS programming has jumped into the present and the previous issues addressed: Hash Objet adds matrix objets to data step, with fast searh, size independent performane and flexible data types

49 Solved! Issues with SAS program development 2 solved! Pro FCMP allows funtions to enapsulate user ode and for it to be used as normal SAS funtion. It supports arrays and all by referene. run_maro, dosub & dosubl allow data steps and pros to be alled from a data step and pass results bak via maro variables

50 Solved! Issues with SAS program development 3 solved! JSeosky,ExeutingaPROCfromaDATAstep, SAS GF 2012, proeedings12/ pdf

51 Solved! The hope for meta data Meta data programming and meta data systems are the next wave of hange

52 Solved! The hash objet opens new doors shorter ode easy to debug (an use data step debugger) easier to maintain For designing and building systems, espeially based on metadata, these three new features will make an enormous differene to SAS programming and how it is done. It is the 21st entury, SAS programming is fun again datasets and data steps an drive proessing without maro

53 Solved! And the next doors: please SAS: 1 Allow hash objets to be passed to pro FCMP funtions 2 Allow hash objets in open ode and 3 to persist outside data steps 4 Allow pros to be passed hash objets as if datasets 5 Allow pros to write hash objets as output

54 Questions Questions?

55 PhUSE Wiki title=reprogramming_a_many-to-many_merge_ with_hash_objets Where you an also add ode, examples, and disussions. NOTE: Wath out for papers written before V9.2 Theymaynowbemisleading dupliatesareallowed, theymayalsohaveworkaroundsthatareno longer needed. Questions Referenes, further reading

CS05 Re-programming a many-to-many merge with Hash Objects

CS05 Re-programming a many-to-many merge with Hash Objects CS05 Re-programming a many-to-many merge with Hash Objects David J Garbutt, GarbuttConsult, Basel, Switzerland The hash object has been available in SAS for some time but does not yet seem to have reached

More information

%check_codelist: A SAS macro to check SDTM domains against controlled terminology

%check_codelist: A SAS macro to check SDTM domains against controlled terminology Paper CS02 %check_codelist: A SAS macro to check SDTM domains against controlled terminology Guido Wendland, UCB Biosciences GmbH, Monheim, Germany ABSTRACT The SAS macro %check_codelist allows programmers

More information

Finding the Equation of a Straight Line

Finding the Equation of a Straight Line Finding the Equation of a Straight Line You should have, before now, ome aross the equation of a straight line, perhaps at shool. Engineers use this equation to help determine how one quantity is related

More information

Recursion examples: Problem 2. (More) Recursion and Lists. Tail recursion. Recursion examples: Problem 2. Recursion examples: Problem 3

Recursion examples: Problem 2. (More) Recursion and Lists. Tail recursion. Recursion examples: Problem 2. Recursion examples: Problem 3 Reursion eamples: Problem 2 (More) Reursion and s Reursive funtion to reverse a string publi String revstring(string str) { if(str.equals( )) return str; return revstring(str.substring(1, str.length()))

More information

SAS Online Training: Course contents: Agenda:

SAS Online Training: Course contents: Agenda: SAS Online Training: Course contents: Agenda: (1) Base SAS (6) Clinical SAS Online Training with Real time Projects (2) Advance SAS (7) Financial SAS Training Real time Projects (3) SQL (8) CV preparation

More information

Reading Object Code. A Visible/Z Lesson

Reading Object Code. A Visible/Z Lesson Reading Objet Code A Visible/Z Lesson The Idea: When programming in a high-level language, we rarely have to think about the speifi ode that is generated for eah instrution by a ompiler. But as an assembly

More information

Reading Object Code. A Visible/Z Lesson

Reading Object Code. A Visible/Z Lesson Reading Objet Code A Visible/Z Lesson The Idea: When programming in a high-level language, we rarely have to think about the speifi ode that is generated for eah instrution by a ompiler. But as an assembly

More information

The Mathematics of Simple Ultrasonic 2-Dimensional Sensing

The Mathematics of Simple Ultrasonic 2-Dimensional Sensing The Mathematis of Simple Ultrasoni -Dimensional Sensing President, Bitstream Tehnology The Mathematis of Simple Ultrasoni -Dimensional Sensing Introdution Our ompany, Bitstream Tehnology, has been developing

More information

Reducing Runtime Complexity of Long-Running Application Services via Dynamic Profiling and Dynamic Bytecode Adaptation for Improved Quality of Service

Reducing Runtime Complexity of Long-Running Application Services via Dynamic Profiling and Dynamic Bytecode Adaptation for Improved Quality of Service Reduing Runtime Complexity of Long-Running Appliation Servies via Dynami Profiling and Dynami Byteode Adaptation for Improved Quality of Servie ABSTRACT John Bergin Performane Engineering Laboratory University

More information

SAS Training BASE SAS CONCEPTS BASE SAS:

SAS Training BASE SAS CONCEPTS BASE SAS: SAS Training BASE SAS CONCEPTS BASE SAS: Dataset concept and creating a dataset from internal data Capturing data from external files (txt, CSV and tab) Capturing Non-Standard data (date, time and amounts)

More information

Total 100

Total 100 CS331 SOLUTION Problem # Points 1 10 2 15 3 25 4 20 5 15 6 15 Total 100 1. ssume you are dealing with a ompiler for a Java-like language. For eah of the following errors, irle whih phase would normally

More information

Pipelined Multipliers for Reconfigurable Hardware

Pipelined Multipliers for Reconfigurable Hardware Pipelined Multipliers for Reonfigurable Hardware Mithell J. Myjak and José G. Delgado-Frias Shool of Eletrial Engineering and Computer Siene, Washington State University Pullman, WA 99164-2752 USA {mmyjak,

More information

Runtime Support for OOLs Part II Comp 412

Runtime Support for OOLs Part II Comp 412 COMP 412 FALL 2017 Runtime Support for OOLs Part II Comp 412 soure IR Front End Optimizer Bak End IR target Copright 2017, Keith D. Cooper & Linda Torzon, all rights reserved. Students enrolled in Comp

More information

13.1 Numerical Evaluation of Integrals Over One Dimension

13.1 Numerical Evaluation of Integrals Over One Dimension 13.1 Numerial Evaluation of Integrals Over One Dimension A. Purpose This olletion of subprograms estimates the value of the integral b a f(x) dx where the integrand f(x) and the limits a and b are supplied

More information

ZDT -A Debugging Program for the Z80

ZDT -A Debugging Program for the Z80 ZDT -A Debugging Program for the Z80 il I,, 1651 Third Ave.. New York, N.Y. 10028 (212) 860-o300 lnt'l Telex 220501 ZOT - A DEBUGGING PROGRAM FOR THE ZAO Distributed by: Lifeboat Assoiates 1651 Third Avenue

More information

Interconnection Styles

Interconnection Styles Interonnetion tyles oftware Design Following the Export (erver) tyle 2 M1 M4 M5 4 M3 M6 1 3 oftware Design Following the Export (Client) tyle e 2 e M1 M4 M5 4 M3 M6 1 e 3 oftware Design Following the Export

More information

Lex Jansen Octagon Research Solutions, Inc.

Lex Jansen Octagon Research Solutions, Inc. Converting the define.xml to a Relational Database to Enable Printing and Validation Lex Jansen Octagon Research Solutions, Inc. Leading the Electronic Transformation of Clinical R&D * PharmaSUG 2009,

More information

Chapter 2: Introduction to Maple V

Chapter 2: Introduction to Maple V Chapter 2: Introdution to Maple V 2-1 Working with Maple Worksheets Try It! (p. 15) Start a Maple session with an empty worksheet. The name of the worksheet should be Untitled (1). Use one of the standard

More information

Query Evaluation Overview. Query Optimization: Chap. 15. Evaluation Example. Cost Estimation. Query Blocks. Query Blocks

Query Evaluation Overview. Query Optimization: Chap. 15. Evaluation Example. Cost Estimation. Query Blocks. Query Blocks Query Evaluation Overview Query Optimization: Chap. 15 CS634 Leture 12 SQL query first translated to relational algebra (RA) Atually, some additional operators needed for SQL Tree of RA operators, with

More information

O Type of array element

O Type of array element ! " #! $ % % # & : ; a ontiguous sequene of variables. all of the sae type. Eah variable is identified by its index. Index values are integers. Index of first entry is. ' ( ) * + May /,. - ( & ( ( J K

More information

Algorithms for External Memory Lecture 6 Graph Algorithms - Weighted List Ranking

Algorithms for External Memory Lecture 6 Graph Algorithms - Weighted List Ranking Algorithms for External Memory Leture 6 Graph Algorithms - Weighted List Ranking Leturer: Nodari Sithinava Sribe: Andi Hellmund, Simon Ohsenreither 1 Introdution & Motivation After talking about I/O-effiient

More information

1 The Knuth-Morris-Pratt Algorithm

1 The Knuth-Morris-Pratt Algorithm 5-45/65: Design & Analysis of Algorithms September 26, 26 Leture #9: String Mathing last hanged: September 26, 27 There s an entire field dediated to solving problems on strings. The book Algorithms on

More information

Learning Convention Propagation in BeerAdvocate Reviews from a etwork Perspective. Abstract

Learning Convention Propagation in BeerAdvocate Reviews from a etwork Perspective. Abstract CS 9 Projet Final Report: Learning Convention Propagation in BeerAdvoate Reviews from a etwork Perspetive Abstrat We look at the way onventions propagate between reviews on the BeerAdvoate dataset, and

More information

Review (Law of sines and cosine) cosines)

Review (Law of sines and cosine) cosines) Date:03/7,8/01 Review 6.1-6. Objetive: Apply the onept to use the law of the sines and osines to solve oblique triangles Apply the onept to find areas using the law of sines and osines Agenda: Bell ringer

More information

EXODUS II: A Finite Element Data Model

EXODUS II: A Finite Element Data Model SAND92-2137 Unlimited Release Printed November 1995 Distribution Category UC-705 EXODUS II: A Finite Element Data Model Larry A. Shoof, Vitor R. Yarberry Computational Mehanis and Visualization Department

More information

Overview of HASH Objects Swarnalatha Gaddam, Cytel Inc. Hyderabad, India

Overview of HASH Objects Swarnalatha Gaddam, Cytel Inc. Hyderabad, India PhUSE 2014 Paper CS04 Overview of HASH Objects Swarnalatha Gaddam, Cytel Inc. Hyderabad, India Abstract: This topic is intended to provide more exposure to beginner or experienced SAS programmers who are

More information

Dynamic Programming. Lecture #8 of Algorithms, Data structures and Complexity. Joost-Pieter Katoen Formal Methods and Tools Group

Dynamic Programming. Lecture #8 of Algorithms, Data structures and Complexity. Joost-Pieter Katoen Formal Methods and Tools Group Dynami Programming Leture #8 of Algorithms, Data strutures and Complexity Joost-Pieter Katoen Formal Methods and Tools Group E-mail: katoen@s.utwente.nl Otober 29, 2002 JPK #8: Dynami Programming ADC (214020)

More information

arxiv: v1 [cs.db] 13 Sep 2017

arxiv: v1 [cs.db] 13 Sep 2017 An effiient lustering algorithm from the measure of loal Gaussian distribution Yuan-Yen Tai (Dated: May 27, 2018) In this paper, I will introdue a fast and novel lustering algorithm based on Gaussian distribution

More information

Triangles. Learning Objectives. Pre-Activity

Triangles. Learning Objectives. Pre-Activity Setion 3.2 Pre-tivity Preparation Triangles Geena needs to make sure that the dek she is building is perfetly square to the brae holding the dek in plae. How an she use geometry to ensure that the boards

More information

CA Release Automation 5.x Implementation Proven Professional Exam (CAT-600) Study Guide Version 1.1

CA Release Automation 5.x Implementation Proven Professional Exam (CAT-600) Study Guide Version 1.1 Exam (CAT-600) Study Guide Version 1.1 PROPRIETARY AND CONFIDENTIAL INFORMATION 2016 CA. All rights reserved. CA onfidential & proprietary information. For CA, CA Partner and CA Customer use only. No unauthorized

More information

COMP 181. Prelude. Intermediate representations. Today. Types of IRs. High-level IR. Intermediate representations and code generation

COMP 181. Prelude. Intermediate representations. Today. Types of IRs. High-level IR. Intermediate representations and code generation Prelude COMP 181 Intermediate representations and ode generation November, 009 What is this devie? Large Hadron Collider What is a hadron? Subatomi partile made up of quarks bound by the strong fore What

More information

CA Test Data Manager 4.x Implementation Proven Professional Exam (CAT-681) Study Guide Version 1.0

CA Test Data Manager 4.x Implementation Proven Professional Exam (CAT-681) Study Guide Version 1.0 Implementation Proven Professional Study Guide Version 1.0 PROPRIETARY AND CONFIDENTIAL INFORMATION 2017 CA. All rights reserved. CA onfidential & proprietary information. For CA, CA Partner and CA Customer

More information

SDTM Implementation Guide Clear as Mud: Strategies for Developing Consistent Company Standards

SDTM Implementation Guide Clear as Mud: Strategies for Developing Consistent Company Standards Paper CD02 SDTM Implementation Guide Clear as Mud: Strategies for Developing Consistent Company Standards Brian Mabe, UCB Biosciences, Raleigh, USA ABSTRACT Many pharmaceutical companies are now entrenched

More information

Automatic Physical Design Tuning: Workload as a Sequence Sanjay Agrawal Microsoft Research One Microsoft Way Redmond, WA, USA +1-(425)

Automatic Physical Design Tuning: Workload as a Sequence Sanjay Agrawal Microsoft Research One Microsoft Way Redmond, WA, USA +1-(425) Automati Physial Design Tuning: Workload as a Sequene Sanjay Agrawal Mirosoft Researh One Mirosoft Way Redmond, WA, USA +1-(425) 75-357 sagrawal@mirosoft.om Eri Chu * Computer Sienes Department University

More information

Multicore Software and Applications

Multicore Software and Applications Multiore Software and Appliations Nir Shavit MIT CSAIL Where do we ome from? What are we? Where are we going? Paul Gauguin [Image Credit: Museum of Fine Arts Boston] 64 Cores Today, 1000 in Near Future

More information

System-Level Parallelism and Throughput Optimization in Designing Reconfigurable Computing Applications

System-Level Parallelism and Throughput Optimization in Designing Reconfigurable Computing Applications System-Level Parallelism and hroughput Optimization in Designing Reonfigurable Computing Appliations Esam El-Araby 1, Mohamed aher 1, Kris Gaj 2, arek El-Ghazawi 1, David Caliga 3, and Nikitas Alexandridis

More information

Design Patterns. Patterns.mkr Page 223 Wednesday, August 25, :17 AM

Design Patterns. Patterns.mkr Page 223 Wednesday, August 25, :17 AM Patterns.mkr Page 223 Wednesday, August 25, 1999 2:17 AM Design Patterns n the earlier hapters, we have seen that a entral goal of objet-oriented programming is the support of ode reuse. This hapter examines

More information

Folding. Hardware Mapped vs. Time multiplexed. Folding by N (N=folding factor) Node A. Unfolding by J A 1 A J-1. Time multiplexed/microcoded

Folding. Hardware Mapped vs. Time multiplexed. Folding by N (N=folding factor) Node A. Unfolding by J A 1 A J-1. Time multiplexed/microcoded Folding is verse of Unfolding Node A A Folding by N (N=folding fator) Folding A Unfolding by J A A J- Hardware Mapped vs. Time multiplexed l Hardware Mapped vs. Time multiplexed/mirooded FI : y x(n) h

More information

Outline: Software Design

Outline: Software Design Outline: Software Design. Goals History of software design ideas Design priniples Design methods Life belt or leg iron? (Budgen) Copyright Nany Leveson, Sept. 1999 A Little History... At first, struggling

More information

MATH STUDENT BOOK. 12th Grade Unit 6

MATH STUDENT BOOK. 12th Grade Unit 6 MATH STUDENT BOOK 12th Grade Unit 6 Unit 6 TRIGONOMETRIC APPLICATIONS MATH 1206 TRIGONOMETRIC APPLICATIONS INTRODUCTION 3 1. TRIGONOMETRY OF OBLIQUE TRIANGLES 5 LAW OF SINES 5 AMBIGUITY AND AREA OF A TRIANGLE

More information

SAND Unlimited Release Printed November 1995 Updated November 29, :26 PM EXODUS II: A Finite Element Data Model

SAND Unlimited Release Printed November 1995 Updated November 29, :26 PM EXODUS II: A Finite Element Data Model SAND92-2137 Unlimited Release Printed November 1995 Updated November 29, 2006 12:26 PM EXODUS II: A Finite Element Data Model Gregory D. Sjaardema (updated version) Larry A. Shoof, Vitor R. Yarberry Computational

More information

Incremental Mining of Partial Periodic Patterns in Time-series Databases

Incremental Mining of Partial Periodic Patterns in Time-series Databases CERIAS Teh Report 2000-03 Inremental Mining of Partial Periodi Patterns in Time-series Dataases Mohamed G. Elfeky Center for Eduation and Researh in Information Assurane and Seurity Purdue University,

More information

Adjusting for daylight saving times. PhUSE Frankfurt, 06Nov2018, Paper CT14 Guido Wendland

Adjusting for daylight saving times. PhUSE Frankfurt, 06Nov2018, Paper CT14 Guido Wendland Adjusting for daylight saving times PhUSE Frankfurt, 06Nov2018, Paper CT14 Guido Wendland 1. The problem Page Introduction: DST (Daylight saving times) around the world 2 nd Sunday in March 1 st Sunday

More information

An Event Display for ATLAS H8 Pixel Test Beam Data

An Event Display for ATLAS H8 Pixel Test Beam Data An Event Display for ATLAS H8 Pixel Test Beam Data George Gollin Centre de Physique des Partiules de Marseille and University of Illinois April 17, 1999 g-gollin@uiu.edu An event display program is now

More information

Detection of RF interference to GPS using day-to-day C/No differences

Detection of RF interference to GPS using day-to-day C/No differences 1 International Symposium on GPS/GSS Otober 6-8, 1. Detetion of RF interferene to GPS using day-to-day /o differenes Ryan J. R. Thompson 1#, Jinghui Wu #, Asghar Tabatabaei Balaei 3^, and Andrew G. Dempster

More information

Run Time Environment. Implementing Object-Oriented Languages

Run Time Environment. Implementing Object-Oriented Languages Run Time Environment Implementing Objet-Oriented Languages Copright 2017, Pedro C. Diniz, all rights reserved. Students enrolled in the Compilers lass at the Universit of Southern California have epliit

More information

HEXA: Compact Data Structures for Faster Packet Processing

HEXA: Compact Data Structures for Faster Packet Processing Washington University in St. Louis Washington University Open Sholarship All Computer Siene and Engineering Researh Computer Siene and Engineering Report Number: 27-26 27 HEXA: Compat Data Strutures for

More information

Self-Adaptive Parent to Mean-Centric Recombination for Real-Parameter Optimization

Self-Adaptive Parent to Mean-Centric Recombination for Real-Parameter Optimization Self-Adaptive Parent to Mean-Centri Reombination for Real-Parameter Optimization Kalyanmoy Deb and Himanshu Jain Department of Mehanial Engineering Indian Institute of Tehnology Kanpur Kanpur, PIN 86 {deb,hjain}@iitk.a.in

More information

Compilation Lecture 11a. Register Allocation Noam Rinetzky. Text book: Modern compiler implementation in C Andrew A.

Compilation Lecture 11a. Register Allocation Noam Rinetzky. Text book: Modern compiler implementation in C Andrew A. Compilation 0368-3133 Leture 11a Text book: Modern ompiler implementation in C Andrew A. Appel Register Alloation Noam Rinetzky 1 Registers Dediated memory loations that an be aessed quikly, an have omputations

More information

Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY Fall Test I Solutions

Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY Fall Test I Solutions Department of Eletrial Engineering and Computer iene MAACHUETT INTITUTE OF TECHNOLOGY 6.035 Fall 2016 Test I olutions 1 I Regular Expressions and Finite-tate Automata For Questions 1, 2, and 3, let the

More information

UCSB Math TI-85 Tutorials: Basics

UCSB Math TI-85 Tutorials: Basics 3 UCSB Math TI-85 Tutorials: Basis If your alulator sreen doesn t show anything, try adjusting the ontrast aording to the instrutions on page 3, or page I-3, of the alulator manual You should read the

More information

Simple strategy Computes shortest paths from the start note

Simple strategy Computes shortest paths from the start note Leture Notes for I500 Fall 2009 Fundamental Computer Conepts of Informatis by Xiaoqian Zhang (Instrutor: Predrag Radivoja) Last time: dynami programming Today: Elementary graph algorithm (textbook Chapter

More information

CPE 101. Overview. Programming vs. Cooking. Key Definitions/Concepts B-1

CPE 101. Overview. Programming vs. Cooking. Key Definitions/Concepts B-1 CPE 101 Lecture 2: Problems, Algorithms, and Programs (Slides adapted from a UW course, copyrighted and used by permission) Overview High-level survey Problems, algorithms, and programs Problem solving

More information

Tips & Tricks. With lots of help from other SUG and SUGI presenters. SAS HUG Meeting, November 18, 2010

Tips & Tricks. With lots of help from other SUG and SUGI presenters. SAS HUG Meeting, November 18, 2010 Tips & Tricks With lots of help from other SUG and SUGI presenters 1 SAS HUG Meeting, November 18, 2010 2 3 Sorting Threads Multi-threading available if your computer has more than one processor (CPU)

More information

XML Data Streams. XML Stream Processing. XML Stream Processing. Yanlei Diao. University of Massachusetts Amherst

XML Data Streams. XML Stream Processing. XML Stream Processing. Yanlei Diao. University of Massachusetts Amherst XML Stream Proessing Yanlei Diao University of Massahusetts Amherst XML Data Streams XML is the wire format for data exhanged online. Purhase orders http://www.oasis-open.org/ommittees/t_home.php?wg_abbrev=ubl

More information

Applications of Array Pointers (1A) Young Won Lim 11/22/18

Applications of Array Pointers (1A) Young Won Lim 11/22/18 Appliations of Array Pointers (1A) Copyright () 2010-2018 Young W. Lim. Permission is granted to opy, distribute and/or modify this doument under the terms of the GNU Free Doumentation Liense, Version

More information

Define - starting approximation for the parameters (p) - observational data (o) - solution criterion (e.g. number of iterations)

Define - starting approximation for the parameters (p) - observational data (o) - solution criterion (e.g. number of iterations) Global Iterative Solution Distributed proessing of the attitude updating L. Lindegren (21 May 2001) SAG LL 37 Abstrat. The attitude updating algorithm given in GAIA LL 24 (v. 2) is modified to allow distributed

More information

Graph-Based vs Depth-Based Data Representation for Multiview Images

Graph-Based vs Depth-Based Data Representation for Multiview Images Graph-Based vs Depth-Based Data Representation for Multiview Images Thomas Maugey, Antonio Ortega, Pasal Frossard Signal Proessing Laboratory (LTS), Eole Polytehnique Fédérale de Lausanne (EPFL) Email:

More information

Creating Define-XML v2 with the SAS Clinical Standards Toolkit

Creating Define-XML v2 with the SAS Clinical Standards Toolkit SAS Super Demo Creating Define-XML v2 with the SAS Clinical Standards Toolkit Lex Jansen, SAS SAS Clinical Standards Toolkit 1.7 INTRODUCTION Framework to primarily support Clinical Research activities

More information

Data Structures in Java

Data Structures in Java Data Strutures in Java Leture 8: Trees and Tree Traversals. 10/5/2015 Daniel Bauer 1 Trees in Computer Siene A lot of data omes in a hierarhial/nested struture. Mathematial expressions. Program struture.

More information

Register Allocation III. Interference Graph Allocators. Coalescing. Granularity of Allocation (Renumber step in Briggs) Chaitin

Register Allocation III. Interference Graph Allocators. Coalescing. Granularity of Allocation (Renumber step in Briggs) Chaitin Register Alloation III Last time Register alloation aross funtion alls Toay Register alloation options Interferene Graph Alloators Chaitin Briggs CS553 Leture Register Alloation III 1 CS553 Leture Register

More information

Review. Type equivalence. Java declarations. Type equivalence. Declared vs. implicit subtyping. CS 412 Introduction to Compilers

Review. Type equivalence. Java declarations. Type equivalence. Declared vs. implicit subtyping. CS 412 Introduction to Compilers CS 412 Introdution to Comilers Andrew Mers Cornell Universit Leture 21: Subting 16 Marh 01 Review Multile imlementations suorted b subting Subting harateried b new judgement: S

More information

Comparison of different ways using table lookups on huge tables

Comparison of different ways using table lookups on huge tables PhUSE 007 Paper CS0 Comparison of different ways using table lookups on huge tables Ralf Minkenberg, Boehringer Ingelheim Pharma GmbH & Co. KG, Ingelheim, Germany ABSTRACT In many application areas the

More information

A DYNAMIC ACCESS CONTROL WITH BINARY KEY-PAIR

A DYNAMIC ACCESS CONTROL WITH BINARY KEY-PAIR Malaysian Journal of Computer Siene, Vol 10 No 1, June 1997, pp 36-41 A DYNAMIC ACCESS CONTROL WITH BINARY KEY-PAIR Md Rafiqul Islam, Harihodin Selamat and Mohd Noor Md Sap Faulty of Computer Siene and

More information

represent = as a finite deimal" either in base 0 or in base. We an imagine that the omputer first omputes the mathematial = then rounds the result to

represent = as a finite deimal either in base 0 or in base. We an imagine that the omputer first omputes the mathematial = then rounds the result to Sientifi Computing Chapter I Computer Arithmeti Jonathan Goodman Courant Institute of Mathemaial Sienes Last revised January, 00 Introdution One of the many soures of error in sientifi omputing is inexat

More information

A Dictionary based Efficient Text Compression Technique using Replacement Strategy

A Dictionary based Efficient Text Compression Technique using Replacement Strategy A based Effiient Text Compression Tehnique using Replaement Strategy Debashis Chakraborty Assistant Professor, Department of CSE, St. Thomas College of Engineering and Tehnology, Kolkata, 700023, India

More information

Object Oriented Programming (OOP) Overview CS61A Lecture 14

Object Oriented Programming (OOP) Overview CS61A Lecture 14 Objet Oriented Programming (OOP) Overview CS6A Leture 4 0-07-3 Colleen Lewis Multiple independent intelligent agents Message passing, loal state, inheritane define-lass, instantiate, ask, method, instane-vars,

More information

SAS (Statistical Analysis Software/System)

SAS (Statistical Analysis Software/System) SAS (Statistical Analysis Software/System) Clinical SAS:- Class Room: Training Fee & Duration : 23K & 3 Months Online: Training Fee & Duration : 25K & 3 Months Learning SAS: Getting Started with SAS Basic

More information

-z c = c T - c T B B-1 A 1 - c T B B-1 b. x B B -1 A 0 B -1 b. (a) (b) Figure 1. Simplex Tableau in Matrix Form

-z c = c T - c T B B-1 A 1 - c T B B-1 b. x B B -1 A 0 B -1 b. (a) (b) Figure 1. Simplex Tableau in Matrix Form 3. he Revised Simple Method he LP min, s.t. A = b ( ),, an be represented by Figure (a) below. At any Simple step, with known and -, the Simple tableau an be represented by Figure (b) below. he minimum

More information

On - Line Path Delay Fault Testing of Omega MINs M. Bellos 1, E. Kalligeros 1, D. Nikolos 1,2 & H. T. Vergos 1,2

On - Line Path Delay Fault Testing of Omega MINs M. Bellos 1, E. Kalligeros 1, D. Nikolos 1,2 & H. T. Vergos 1,2 On - Line Path Delay Fault Testing of Omega MINs M. Bellos, E. Kalligeros, D. Nikolos,2 & H. T. Vergos,2 Dept. of Computer Engineering and Informatis 2 Computer Tehnology Institute University of Patras,

More information

Multiple Assignments

Multiple Assignments Two Outputs Conneted Together Multiple Assignments Two Outputs Conneted Together if (En1) Q

More information

Macros I Use Every Day (And You Can, Too!)

Macros I Use Every Day (And You Can, Too!) Paper 2500-2018 Macros I Use Every Day (And You Can, Too!) Joe DeShon ABSTRACT SAS macros are a powerful tool which can be used in all stages of SAS program development. Like most programmers, I have collected

More information

Smooth Trajectory Planning Along Bezier Curve for Mobile Robots with Velocity Constraints

Smooth Trajectory Planning Along Bezier Curve for Mobile Robots with Velocity Constraints Smooth Trajetory Planning Along Bezier Curve for Mobile Robots with Veloity Constraints Gil Jin Yang and Byoung Wook Choi Department of Eletrial and Information Engineering Seoul National University of

More information

Facility Location: Distributed Approximation

Facility Location: Distributed Approximation Faility Loation: Distributed Approximation Thomas Mosibroda Roger Wattenhofer Distributed Computing Group PODC 2005 Where to plae ahes in the Internet? A distributed appliation that has to dynamially plae

More information

Boosted Random Forest

Boosted Random Forest Boosted Random Forest Yohei Mishina, Masamitsu suhiya and Hironobu Fujiyoshi Department of Computer Siene, Chubu University, 1200 Matsumoto-ho, Kasugai, Aihi, Japan {mishi, mtdoll}@vision.s.hubu.a.jp,

More information

CleanUp: Improving Quadrilateral Finite Element Meshes

CleanUp: Improving Quadrilateral Finite Element Meshes CleanUp: Improving Quadrilateral Finite Element Meshes Paul Kinney MD-10 ECC P.O. Box 203 Ford Motor Company Dearborn, MI. 8121 (313) 28-1228 pkinney@ford.om Abstrat: Unless an all quadrilateral (quad)

More information

CA Service Desk Manager 14.x Implementation Proven Professional Exam (CAT-181) Study Guide Version 1.3

CA Service Desk Manager 14.x Implementation Proven Professional Exam (CAT-181) Study Guide Version 1.3 Exam (CAT-181) Study Guide Version 1.3 PROPRIETARY AND CONFIDENTIAL INFORMATION 2017 CA. All rights reserved. CA onfidential & proprietary information. For CA, CA Partner and CA Customer use only. No unauthorized

More information

9.4 Exponential Growth and Decay Functions

9.4 Exponential Growth and Decay Functions Setion 9. Eponential Growth and Dea Funtions 56 9. Eponential Growth and Dea Funtions S Model Eponential Growth. Model Eponential Dea. Now that we an graph eponential funtions, let s learn about eponential

More information

Introductory Programming, IMM, DTU Systematic Software Test. Software test (afprøvning) Motivation. Structural test and functional test

Introductory Programming, IMM, DTU Systematic Software Test. Software test (afprøvning) Motivation. Structural test and functional test Introdutory Programming, IMM, DTU Systemati Software Test Peter Sestoft a Programs often ontain unintended errors how do you find them? Strutural test Funtional test Notes: Systemati Software Test, http://www.dina.kvl.dk/

More information

CA PPM 14.x Implementation Proven Professional Exam (CAT-222) Study Guide Version 1.2

CA PPM 14.x Implementation Proven Professional Exam (CAT-222) Study Guide Version 1.2 CA PPM 14.x Implementation Proven Professional Exam (CAT-222) Study Guide Version 1.2 PROPRIETARY AND CONFIDENTIAL INFMATION 2016 CA. All rights reserved. CA onfidential & proprietary information. For

More information

ABSTRACT INTRODUCTION WHERE TO START? 1. DATA CHECK FOR CONSISTENCIES

ABSTRACT INTRODUCTION WHERE TO START? 1. DATA CHECK FOR CONSISTENCIES Developing Integrated Summary of Safety Database using CDISC Standards Rajkumar Sharma, Genentech Inc., A member of the Roche Group, South San Francisco, CA ABSTRACT Most individual trials are not powered

More information

- 1 - S 21. Directory-based Administration of Virtual Private Networks: Policy & Configuration. Charles A Kunzinger.

- 1 - S 21. Directory-based Administration of Virtual Private Networks: Policy & Configuration. Charles A Kunzinger. - 1 - S 21 Diretory-based Administration of Virtual Private Networks: Poliy & Configuration Charles A Kunzinger kunzinge@us.ibm.om - 2 - Clik here Agenda to type page title What is a VPN? What is VPN Poliy?

More information

The recursive decoupling method for solving tridiagonal linear systems

The recursive decoupling method for solving tridiagonal linear systems Loughborough University Institutional Repository The reursive deoupling method for solving tridiagonal linear systems This item was submitted to Loughborough University's Institutional Repository by the/an

More information

Hands-On ADaM ADAE Development Sandra Minjoe, Accenture Life Sciences, Wayne, Pennsylvania

Hands-On ADaM ADAE Development Sandra Minjoe, Accenture Life Sciences, Wayne, Pennsylvania PharmaSUG 2013 - Paper HT03 Hands-On ADaM ADAE Development Sandra Minjoe, Accenture Life Sciences, Wayne, Pennsylvania ABSTRACT The Analysis Data Model (ADaM) Data Structure for Adverse Event Analysis

More information

Cluster-Based Cumulative Ensembles

Cluster-Based Cumulative Ensembles Cluster-Based Cumulative Ensembles Hanan G. Ayad and Mohamed S. Kamel Pattern Analysis and Mahine Intelligene Lab, Eletrial and Computer Engineering, University of Waterloo, Waterloo, Ontario N2L 3G1,

More information

The Benefits of Traceability Beyond Just From SDTM to ADaM in CDISC Standards Maggie Ci Jiang, Teva Pharmaceuticals, Great Valley, PA

The Benefits of Traceability Beyond Just From SDTM to ADaM in CDISC Standards Maggie Ci Jiang, Teva Pharmaceuticals, Great Valley, PA PharmaSUG 2017 - Paper DS23 The Benefits of Traceability Beyond Just From SDTM to ADaM in CDISC Standards Maggie Ci Jiang, Teva Pharmaceuticals, Great Valley, PA ABSTRACT Since FDA released the Analysis

More information

Implementing CDISC Using SAS. Full book available for purchase here.

Implementing CDISC Using SAS. Full book available for purchase here. Implementing CDISC Using SAS. Full book available for purchase here. Contents About the Book... ix About the Authors... xv Chapter 1: Implementation Strategies... 1 The Case for Standards... 1 Which Models

More information

Accommodations of QoS DiffServ Over IP and MPLS Networks

Accommodations of QoS DiffServ Over IP and MPLS Networks Aommodations of QoS DiffServ Over IP and MPLS Networks Abdullah AlWehaibi, Anjali Agarwal, Mihael Kadoh and Ahmed ElHakeem Department of Eletrial and Computer Department de Genie Eletrique Engineering

More information

Direct-Mapped Caches

Direct-Mapped Caches A Case for Diret-Mapped Cahes Mark D. Hill University of Wisonsin ahe is a small, fast buffer in whih a system keeps those parts, of the ontents of a larger, slower memory that are likely to be used soon.

More information

Base and Advance SAS

Base and Advance SAS Base and Advance SAS BASE SAS INTRODUCTION An Overview of the SAS System SAS Tasks Output produced by the SAS System SAS Tools (SAS Program - Data step and Proc step) A sample SAS program Exploring SAS

More information

Edwin Ponraj Thangarajan, PRA Health Sciences, Chennai, India Giri Balasubramanian, PRA Health Sciences, Chennai, India

Edwin Ponraj Thangarajan, PRA Health Sciences, Chennai, India Giri Balasubramanian, PRA Health Sciences, Chennai, India Paper CD15 PhUSE 2016 How to handle different versions of SDTM & DEFINE generation in a Single Study? Edwin Ponraj Thangarajan, PRA Health Sciences, Chennai, India Giri Balasubramanian, PRA Health Sciences,

More information

NCI/CDISC or User Specified CT

NCI/CDISC or User Specified CT NCI/CDISC or User Specified CT Q: When to specify CT? CT should be provided for every variable with a finite set of valid values (e.g., the variable AESEV in ADAE can have the values MILD, MODERATE or

More information

DECT Module Installation Manual

DECT Module Installation Manual DECT Module Installation Manual Rev. 2.0 This manual desribes the DECT module registration method to the HUB and fan airflow settings. In order for the HUB to ommuniate with a ompatible fan, the DECT module

More information

CS05 Creating define.xml from a SAS program

CS05 Creating define.xml from a SAS program CS05 Creating define.xml from a SAS program Jørgen Mangor Iversen LEO Pharma A/S 21 November 2013 LEO Pharma About LEO Pharma A/S Independent, research-based pharmaceutical company Founded in 1908 Employs

More information

To Do. Assignment Overview. Outline. Mesh Viewer (3.1) Mesh Connectivity (3.2) Advanced Computer Graphics (Spring 2013)

To Do. Assignment Overview. Outline. Mesh Viewer (3.1) Mesh Connectivity (3.2) Advanced Computer Graphics (Spring 2013) daned Computer Graphis (Spring 23) CS 283, Leture 5: Mesh Simplifiation Rai Ramamoorthi http://inst.ees.berkeley.edu/~s283/sp3 To Do ssignment, Due Feb 22 Start reading and working on it now. This leture

More information

Background/Review on Numbers and Computers (lecture)

Background/Review on Numbers and Computers (lecture) Bakground/Review on Numbers and Computers (leture) ICS312 Mahine-Level and Systems Programming Henri Casanova (henri@hawaii.edu) Numbers and Computers Throughout this ourse we will use binary and hexadeimal

More information

BSPLND, A B-Spline N-Dimensional Package for Scattered Data Interpolation

BSPLND, A B-Spline N-Dimensional Package for Scattered Data Interpolation BSPLND, A B-Spline N-Dimensional Pakage for Sattered Data Interpolation Mihael P. Weis Traker Business Systems 85 Terminal Drive, Suite Rihland, WA 995-59-946-544 mike@vidian.net Robert R. Lewis Washington

More information

OvidSP Quick Reference Card

OvidSP Quick Reference Card OvidSP Quik Referene Card Searh in any of several dynami modes, ombine results, apply limits, use improved researh tools, develop strategies, save searhes, set automati alerts and RSS feeds, share results...

More information

Planning to Pool SDTM by Creating and Maintaining a Sponsor-Specific Controlled Terminology Database

Planning to Pool SDTM by Creating and Maintaining a Sponsor-Specific Controlled Terminology Database PharmaSUG 2017 - Paper DS13 Planning to Pool SDTM by Creating and Maintaining a Sponsor-Specific Controlled Terminology Database ABSTRACT Cori Kramer, Ragini Hari, Keith Shusterman, Chiltern When SDTM

More information

Contents of SAS Programming Techniques

Contents of SAS Programming Techniques Contents of SAS Programming Techniques Chapter 1 About SAS 1.1 Introduction 1.1.1 SAS modules 1.1.2 SAS module classification 1.1.3 SAS features 1.1.4 Three levels of SAS techniques 1.1.5 Chapter goal

More information