An Esterel Virtual Machine
|
|
- Tabitha Hoover
- 5 years ago
- Views:
Transcription
1 An Esterel Virtual Machine Stephen A. Edwards Columbia University Octopi Workshop Chalmers University of Technology Gothenburg, Sweden December 28
2 An Esterel Virtual Machine Goal: Run big Esterel programs in memory constrained settings. Our target: the Hitachi H8 based RCX Microcontroller for Lego Mindstorms [SLAP 26]
3 An Example s s s= s= S s3 P s3 ÑÓ ÙÐ Ü ÑÔÐ ÒÔÙØ Á Ë ÓÙØÔÙØ Ç Ò Ð Ê Ò Ú ÖÝ Ë Ó Û Ø Á Û ÓÖØ Ù Ø Ò Ê Û Ò ÑÑ Ø Ñ Ø Ç ÐÓÓÔ Ô Ù Ô Ù ÔÖ ÒØ Ê Ø Ò Ñ Ø Ò ÔÖ ÒØ Ò ÐÓÓÔ Ò Ú ÖÝ Ò Ò Ð Ò ÑÓ ÙÐ * s6 2 * s s6 s3= s3= s6=2 s6= A P R s6 s6= s6= s3= s6= s6 s6= R s3= I s A 3 3 O P s6= P s= P s= s= s= A s6=2 R
4 Challenges Esterel s semantics require any implementation to deal with three issues: Concurrent execution of sequential threads of control within a cycle The scheduling constraints among these threads due to communication dependencies How control state is updated between cycles
5 How did we handle them? A virtual machine specifically designed to support Esterel features A sequentializing algorithm Conversion from GRC to BAL and then to a compact byte code
6 Phase : Schedule Schedule 2 3 4
7 Phase 2: Assign Threads Assign Threads
8 Phase 3: Sequentialize Sequentialize
9 Phase 4: Add Labels case Add Labels jmp done done 4 4
10 Phase 5: Convert to BAL 2 jmp done 3 case done Convert to BAL ؼ ËÌÀÊ ½ ؽ ÅÌ ½ ËÏ ½ ËÌÀÊ ½ Æʽ Æ Æʽ ËÏ Í Ø½ ÌÏ ¾ ¾ ½ ÂÅÈ ÓÒ ½ ÓÒ ËÏ ¼ 4
11 Phase 6: Convert to Byte Code ؼ ËÌÀÊ ½ ؽ ÅÌ ½ ËÏ ½ ËÌÀÊ ½ Æʽ Æ Convert to byte code ¼ ¼½ ¼¼ ¼ ¼ ¼½ ¼ ¼½ ¼ ¼½ ¼¼ ¼ ¼ Æʽ ËÏ Í Ø½ ÌÏ ¾ ¾ ½ ÂÅÈ ÓÒ ½ ÓÒ ËÏ ¼ ¼ ¼¾ ¼¼ ½ ¼ ¼¼ ½ ¼ ¼¼
12 Sequential Code Generation. Schedule the nodes in the graph 2. Assign thread numbers 3. Sequentialize the graph 4. Set the execution path by adding labels 5. Convert to BAL 6. Assemble to produce bytecode
13 Sequentialization
14 Sequentialization F 2 3 The dotted line labeled F represents the frontier. The frontier starts at the top of the graph. 4
15 Sequentialization F 2 3 The frontier moves down a node at a time in scheduledorder. 4
16 Sequentialization F 2 3 When a node is in the same thread as the most recently moved one, it is simply moved above the frontier. 4
17 Sequentialization F 2 3 However, when the next node is from a different thread, a switch is added to the previous thread and an active point is added to the new thread just above the just moved node. 4
18 Sequentialization 2 3 The algorithm is complete when the frontier has swept across all nodes in scheduled order. F 4
19 Sequentializing Algorithm : for each thread t in G do 2: create new active point p 3: copy first node n of t in G to n new node in G 4: connect p and n 5: add p to P[t ] and add n to A[t ] 6: t = the first thread 7: for each node n in scheduled order do 8: t is thread of n 9: if t t then : for each parent p in P[t ] do : for each successor c of p in A[t ] do 2: create switch node s from t to t and connect s between p and c 3: replace P[t ] with the set of new switch nodes 4: move n to P[t ] and remove it from A[t ] 5: for each unreached successor c of n do 6: copy c to c new node in G 7: if n is a fork then 8: add child to A[thread of c] 9: else 2: add child to A[t ] 2: t = t {remember the last thread}
20 Why VM? Goal: constrained memory environment Instruction set has direct support for Esterel constructs like concurrency, preemption, and signals E.g., a context switch can be specified in just two bytes
21 VM Details
22 VM Details Signal status registers Completion code registers Per thread program counters Inter instant state holding registers
23 VM: Signal, State, and Thread Opcode Description Encoding EMT Emit a Signal 4 RR SSIG Clear Signal A RR SSTT Set State B RR VV STHR Set Thread 7 TT HH LL
24 VM: Control Flow Instructions Opcode Description Encoding END Tick End 3 JMP Jump 6 HH LL NOP No Operation
25 VM: Branch, Switch, Terminate Opcode Description Encoding MWB Multiway Branch (State) 2D NL RR HH2 LL2... Multiway Branch (Comp.) 4D NL RR HH2 LL2... Two Way Branch (State) 29 RR HH LL TWB Two Way Branch (Signal) 49 RR HH LL Two Way Branch (Comp.) 69 RR HH LL SWC Switch Thread 5 TT SWCU Switch Unknown C TRM Set Completion Code 8 RR VV for Join
26 VM: Context Switch ººº Û Ø ÓÔÓ ² ¼Ü½ µß ººº ËÏ»» ÁÒÖ Ñ ÒØ Ø ÔÖÓ Ö Ñ ÓÙÒØ Ö Ô»» ËØÓÖ Ø ÙÖÖ ÒØ Ø Ö Ø Ð Ø Ø Ö Ð Ø Ø Ö ÙÖÖ ÒØ Ø Ö»» Ø Ø Ò ÜØ Ø Ö ÙÖÖ ÒØ Ø Ö Ô»» ÁÒÖ Ñ ÒØ Ø ÔÖÓ Ö Ñ ÓÙÒØ Ö Ô»» ËØÓÖ ÓÐ Ô Ó Ø Û Ø Ø ÓÐ Ø Ö Ø Ö Ð Ø Ø Ö Ô»» ÄÓ Ø Ô Ó Ø Û Ø Ø Ò Û Ø Ö Ô Ø Ö ÙÖÖ ÒØ Ø Ö Ö ººº
27 VM: Switch Unknown ººº ËÏ Í»» Å Ø Ø Ö ØÓÖ Ò Ð Ø Ø Ö Ø ÙÖÖ ÒØ Ø Ö Ø ÑÔ ÙÖÖ ÒØ Ø Ö ÙÖÖ ÒØ Ø Ö Ð Ø Ø Ö Ð Ø Ø Ö Ø ÑÔ»» ËØÓÖ ÓÐ Ô Ø Ö Ð Ø Ø Ö Ô»» ÄÓ Ò Û Ô Ô Ø Ö ÙÖÖ ÒØ Ø Ö Ö ººº
28 VM in action
29 VM in action ؼ ¼¼ ËÌÀÊ ½ ؽ ¼ ÅÌ ½ ¼ ËÏ ½ ¼ ËÌÀÊ ½ Æʽ ½¾ ËÏ ½ ½ Æ Æʽ ½ ËÏ Í Ø½ ½ ÌÏ ¾ ½ ½ ½ ÂÅÈ ÓÒ ½ ÓÒ ¾¾ ËÏ ¼ pc = last_thread = Threads Signals States Joins....
30 VM in action ؼ ¼¼ ËÌÀÊ ½ ؽ ¼ ÅÌ ½ ¼ ËÏ ½ ¼ ËÌÀÊ ½ Æʽ ½¾ ËÏ ½ ½ Æ Æʽ ½ ËÏ Í Ø½ ½ ÌÏ ¾ ½ ½ ½ ÂÅÈ ÓÒ ½ ÓÒ ¾¾ ËÏ ¼ pc = 4 last_thread = Threads Signals 6 States Joins....
31 VM in action ؼ ¼¼ ËÌÀÊ ½ ؽ ¼ ÅÌ ½ ¼ ËÏ ½ ¼ ËÌÀÊ ½ Æʽ ½¾ ËÏ ½ ½ Æ Æʽ ½ ËÏ Í Ø½ ½ ÌÏ ¾ ½ ½ ½ ÂÅÈ ÓÒ ½ ÓÒ ¾¾ ËÏ ¼ pc = 6 last_thread = Threads Signals 6 States Joins....
32 VM in action ؼ ¼¼ ËÌÀÊ ½ ؽ ¼ ÅÌ ½ ¼ ËÏ ½ ¼ ËÌÀÊ ½ Æʽ ½¾ ËÏ ½ ½ Æ Æʽ ½ ËÏ Í Ø½ ½ ÌÏ ¾ ½ ½ ½ ÂÅÈ ÓÒ ½ ÓÒ ¾¾ ËÏ ¼ pc = 6 last_thread = Threads Signals 8 6 States Joins....
33 VM in action ؼ ¼¼ ËÌÀÊ ½ ؽ ¼ ÅÌ ½ ¼ ËÏ ½ ¼ ËÌÀÊ ½ Æʽ ½¾ ËÏ ½ ½ Æ Æʽ ½ ËÏ Í Ø½ ½ ÌÏ ¾ ½ ½ ½ ÂÅÈ ÓÒ ½ ÓÒ ¾¾ ËÏ ¼ pc = 9 last_thread = Threads Signals 8 6 States Joins....
34 VM in action ؼ ¼¼ ËÌÀÊ ½ ؽ ¼ ÅÌ ½ ¼ ËÏ ½ ¼ ËÌÀÊ ½ Æʽ ½¾ ËÏ ½ ½ Æ Æʽ ½ ËÏ Í Ø½ ½ ÌÏ ¾ ½ ½ ½ ÂÅÈ ÓÒ ½ ÓÒ ¾¾ ËÏ ¼ pc = 22 last_thread = Threads Signals 8 6 States Joins....
35 VM in action ؼ ¼¼ ËÌÀÊ ½ ؽ ¼ ÅÌ ½ ¼ ËÏ ½ ¼ ËÌÀÊ ½ Æʽ ½¾ ËÏ ½ ½ Æ Æʽ ½ ËÏ Í Ø½ ½ ÌÏ ¾ ½ ½ ½ ÂÅÈ ÓÒ ½ ÓÒ ¾¾ ËÏ ¼ pc = 8 last_thread = Threads Signals 8 24 States Joins....
36 VM in action ؼ ¼¼ ËÌÀÊ ½ ؽ ¼ ÅÌ ½ ¼ ËÏ ½ ¼ ËÌÀÊ ½ Æʽ ½¾ ËÏ ½ ½ Æ Æʽ ½ ËÏ Í Ø½ ½ ÌÏ ¾ ½ ½ ½ ÂÅÈ ÓÒ ½ ÓÒ ¾¾ ËÏ ¼ pc = 2 last_thread = Threads Signals 8 5 States Joins....
37 VM in action ؼ ¼¼ ËÌÀÊ ½ ؽ ¼ ÅÌ ½ ¼ ËÏ ½ ¼ ËÌÀÊ ½ Æʽ ½¾ ËÏ ½ ½ Æ Æʽ ½ ËÏ Í Ø½ ½ ÌÏ ¾ ½ ½ ½ ÂÅÈ ÓÒ ½ ÓÒ ¾¾ ËÏ ¼ pc = 5 last_thread = Threads Signals 4 5 States Joins....
38 VM in action ؼ ¼¼ ËÌÀÊ ½ ؽ ¼ ÅÌ ½ ¼ ËÏ ½ ¼ ËÌÀÊ ½ Æʽ ½¾ ËÏ ½ ½ Æ Æʽ ½ ËÏ Í Ø½ ½ ÌÏ ¾ ½ ½ ½ ÂÅÈ ÓÒ ½ ÓÒ ¾¾ ËÏ ¼ pc = 4 last_thread = Threads Signals 4 5 States Joins....
39 VM in action ؼ ¼¼ ËÌÀÊ ½ ؽ ¼ ÅÌ ½ ¼ ËÏ ½ ¼ ËÌÀÊ ½ Æʽ ½¾ ËÏ ½ ½ Æ Æʽ ½ ËÏ Í Ø½ ½ ÌÏ ¾ ½ ½ ½ ÂÅÈ ÓÒ ½ ÓÒ ¾¾ ËÏ ¼ pc = 5 last_thread = Threads Signals 5 5 States Joins....
40 The engineering details brickos 2.6. on Redhat Linux gcc cross compiler for H83 Download lx files to the lego RCX via USB IR tower
41 Code Sizes Example BAL x86 H8 dacexample % % abcd % % greycounter % % tcint % 74 5% atds % % BAL: the size of our bytecode (in bytes) x86: the size of optimized C code for an x86 H8: the size of optimized C code for an Hitachi H8 Percentages represent the size savings of using bytecode.
42 Execution Times Example x86 BAL dacexample.6µs.µs 8 tcint.28µs.µs 4 atds.2µs.4µs 7
43 Conclusions Simple Virtual Machine Compilation scheme statically schedules the concurrent behavior and generates straight line code for each thread VM supports context switching well Bytecode for our virtual machine is roughly half the size of optimized native assembly code generated from C Speed tradeoff not that bad! Between 4 and 7 times slower than optimized C code
An Esterel Virtual Machine for Embedded Systems
SLA 6 An Esterel Virtual Machine for Embedded Systems Becky lummer Department of Computer Science Columbia University New York, USA Mukul Khajanchi Department of Computer Science Columbia University New
More informationModels, Notation, Goals
Scope Ë ÕÙ Ò Ð Ò ÐÝ Ó ÝÒ Ñ ÑÓ Ð Ü Ô Ö Ñ Ö ² Ñ ¹Ú ÖÝ Ò Ú Ö Ð Ö ÒÙÑ Ö Ð ÔÓ Ö ÓÖ ÔÔÖÓÜ Ñ ÓÒ ß À ÓÖ Ð Ô Ö Ô Ú ß Ë ÑÙÐ ÓÒ Ñ Ó ß ËÑÓÓ Ò ² Ö Ò Ö Ò Ô Ö Ñ Ö ÑÔÐ ß Ã ÖÒ Ð Ñ Ó ÚÓÐÙ ÓÒ Ñ Ó ÓÑ Ò Ô Ö Ð Ð Ö Ò Ð ÓÖ Ñ
More informationUsing SmartXplorer to achieve timing closure
Using SmartXplorer to achieve timing closure The main purpose of Xilinx SmartXplorer is to achieve timing closure where the default place-and-route (PAR) strategy results in a near miss. It can be much
More informationAncillary Software Development at GSI. Michael Reese. Outline: Motivation Old Software New Software
Ancillary Software Development at GSI Michael Reese Outline: Motivation Old Software New Software Work supported by BMBF NuSTAR.DA - TP 6, FKZ: BMBF 05P12RDFN8 (TP 6). March 20, 2013 AGATA week 2013 at
More informationConcurrent Architectures - Unix: Sockets, Select & Signals
Concurrent Architectures - Unix: Sockets, Select & Signals Assignment 1: Drop In Labs reminder check compiles in CS labs & you have submitted all your files in StReAMS! formatting your work: why to 80
More informationConcurrent Execution
Concurrent Execution Overview: concepts and definitions modelling: parallel composition action interleaving algebraic laws shared actions composite processes process labelling, action relabeling and hiding
More informationTHE AUSTRALIAN NATIONAL UNIVERSITY Practice Final Examination, October 2012
THE AUSTRALIAN NATIONAL UNIVERSITY Practice Final Examination, October 2012 COMP2310 / COMP6310 (Concurrent and Distributed Systems ) Writing Period: 3 hours duration Study Period: 15 minutes duration
More informationControl-Flow Graph and. Local Optimizations
Control-Flow Graph and - Part 2 Department of Computer Science and Automation Indian Institute of Science Bangalore 560 012 NPTEL Course on Principles of Compiler Design Outline of the Lecture What is
More informationThis file contains an excerpt from the character code tables and list of character names for The Unicode Standard, Version 3.0.
Range: This file contains an excerpt from the character code tables and list of character names for The Unicode Standard, Version.. isclaimer The shapes of the reference glyphs used in these code charts
More informationUsing USB Hot-Plug For UMTS Short Message Service. Technical Brief from Missing Link Electronics:
Technical Brief 20100507 from Missing Link Electronics: Using USB Hot-Plug For UMTS Short Message Service This Technical Brief describes how the USB hot-plug capabilities of the MLE Soft Hardware Platform
More informationGraphs (MTAT , 4 AP / 6 ECTS) Lectures: Fri 12-14, hall 405 Exercises: Mon 14-16, hall 315 või N 12-14, aud. 405
Graphs (MTAT.05.080, 4 AP / 6 ECTS) Lectures: Fri 12-14, hall 405 Exercises: Mon 14-16, hall 315 või N 12-14, aud. 405 homepage: http://www.ut.ee/~peeter_l/teaching/graafid08s (contains slides) For grade:
More informationInstruction Scheduling. Software Pipelining - 3
Instruction Scheduling and Software Pipelining - 3 Department of Computer Science and Automation Indian Institute of Science Bangalore 560 012 NPTEL Course on Principles of Compiler Design Instruction
More informationOverview: Concurrent Architectures - Unix: Forks and Pipes
Overview: Concurrent Architectures - Unix: Forks and Pipes Other Matters: TuteLab-5 solutions and the proof of Peterson s Algorithm Ref: [Coulouris&al Ch 4] history architecture: monolithic vs microkernels,
More informationReview: Test-and-set spinlock
p. 1/3 Review: Test-and-set spinlock struct var { int lock; int val; ; void atomic_inc (var *v) { while (test_and_set (&v->lock)) ; v->val++; v->lock = 0; void atomic_dec (var *v) { while (test_and_set
More informationHow to Implement DOTGO Engines. CMRL Version 1.0
How to Implement DOTGO Engines CMRL Version 1.0 Copyright c 2009 DOTGO. All rights reserved. Contents 1 Introduction 3 2 A Simple Example 3 2.1 The CMRL Document................................ 3 2.2 The
More informationIntroduction to Scientific Typesetting Lesson 11: Foreign Languages, Columns, and Section Titles
Introduction to Scientific Typesetting Lesson 11: Foreign Languages,, and Ryan Higginbottom January 19, 2012 1 Ð The Package 2 Without Ð What s the Problem? With Ð Using Another Language Typing in Spanish
More informationConstraint Logic Programming (CLP): a short tutorial
Constraint Logic Programming (CLP): a short tutorial What is CLP? the use of a rich and powerful language to model optimization problems modelling based on variables, domains and constraints DCC/FCUP Inês
More informationLecture 5 C Programming Language
Lecture 5 C Programming Language Summary of Lecture 5 Pointers Pointers and Arrays Function arguments Dynamic memory allocation Pointers to functions 2D arrays Addresses and Pointers Every object in the
More information³ ÁÒØÖÓÙØÓÒ ½º ÐÙ ØÖ ÜÔÒ ÓÒ Ò ÌÒ ÓÖ ÓÖ ¾º ÌÛÓ¹ÓÝ ÈÖÓÔÖØ Ó ÓÑÔÐÜ ÆÙÐ º ËÙÑÑÖÝ Ò ÓÒÐÙ ÓÒ º ² ± ÇÆÌÆÌË Åº ÐÚÓÐ ¾ Ëʼ
È Ò È Æ ÇÊÊÄÌÁÇÆË È ÅÁÍŹÏÁÀÌ ÆÍÄÁ ÁÆ Åº ÐÚÓÐ ÂÄ ÇØÓÖ ¾¼¼ ½ ³ ÁÒØÖÓÙØÓÒ ½º ÐÙ ØÖ ÜÔÒ ÓÒ Ò ÌÒ ÓÖ ÓÖ ¾º ÌÛÓ¹ÓÝ ÈÖÓÔÖØ Ó ÓÑÔÐÜ ÆÙÐ º ËÙÑÑÖÝ Ò ÓÒÐÙ ÓÒ º ² ± ÇÆÌÆÌË Åº ÐÚÓÐ ¾ Ëʼ À Ò Ò Ò ÛØ À Ç Òµ Ú Ò µ Ç Òµ
More informationBanner 8 Using International Characters
College of William and Mary Banner 8 Using International Characters A Reference and Training Guide Banner Support January 23, 2009 Table of Contents Windows XP Keyboard Setup 3 VISTA Keyboard Setup 7 Creating
More informationEvent List Management In Distributed Simulation
Event List Management In Distributed Simulation Jörgen Dahl ½, Malolan Chetlur ¾, and Philip A Wilsey ½ ½ Experimental Computing Laboratory, Dept of ECECS, PO Box 20030, Cincinnati, OH 522 0030, philipwilsey@ieeeorg
More informationProbabilistic analysis of algorithms: What s it good for?
Probabilistic analysis of algorithms: What s it good for? Conrado Martínez Univ. Politècnica de Catalunya, Spain February 2008 The goal Given some algorithm taking inputs from some set Á, we would like
More informationSFU CMPT Lecture: Week 8
SFU CMPT-307 2008-2 1 Lecture: Week 8 SFU CMPT-307 2008-2 Lecture: Week 8 Ján Maňuch E-mail: jmanuch@sfu.ca Lecture on June 24, 2008, 5.30pm-8.20pm SFU CMPT-307 2008-2 2 Lecture: Week 8 Universal hashing
More informationLecture 20: Classification and Regression Trees
Fall, 2017 Outline Basic Ideas Basic Ideas Tree Construction Algorithm Parameter Tuning Choice of Impurity Measure Missing Values Characteristics of Classification Trees Main Characteristics: very flexible,
More informationAdministrivia. Lab 1 will be up by tomorrow, Due Oct. 11
p.1/45 Administrivia Lab 1 will be up by tomorrow, Due Oct. 11 - Due at start of lecture 4:15pm - Free extension to midnight if you come to lecture - Or for SCPD students only if you watch lecture live
More informationO-Trees: a Constraint-based Index Structure
O-Trees: a Constraint-based Index Structure Inga Sitzmann and Peter Stuckey Department of Computer Science and Software Engineering The University of Melbourne Parkville, Victoria, 3052 inga,pjs @cs.mu.oz.au
More informationText and Image Metasearch on the Web
Appears in International Conference on Parallel and Distributed Processing Techniques and Applications, PDPTA 99, CSREA Press, pp. 89 835, 1999. Copyright c CSREA Press. Text and Image Metasearch on the
More informationPointers. CS2023 Winter 2004
Pointers CS2023 Winter 2004 Outcomes: Introduction to Pointers C for Java Programmers, Chapter 8, sections 8.1-8.8 Other textbooks on C on reserve After the conclusion of this section you should be able
More informationTeam Practice October 2012: 1:00 6:00 PM Contest Problem Set
Team Practice 1 14 October 2012: 1:00 6:00 PM Contest Problem Set The ten problems on this contest are referred to, in order, by the following names: stones, birdtree, money, duke1, dull, maze, howbig,
More informationtranx86 an Optimising ETC to IA32 Translator
Communicating Process Architectures 2001 Alan Chalmers, Majid Mirmehdi and Henk Muller (Eds.) IOS Press, 2001 265 tranx86 an Optimising ETC to IA32 Translator Frederick R.M. Barnes Computing Laboratory,
More informationReverse Engineering Assembler Code
Reverse Engineering Assembler Code Martin Ward martin@gkc.org.uk http://www.cse.dmu.ac.uk/ mward Software Technology Research Lab De Montfort University Leicester, UK Outline Program Transformation Theory
More informationCPSC 310: Database Systems / CSPC 603: Database Systems and Applications Exam 2 November 16, 2005
CPSC 310: Database Systems / CSPC 603: Database Systems and Applications Exam 2 November 16, 2005 Name: Instructions: 1. This is a closed book exam. Do not use any notes or books, other than your two 8.5-by-11
More informationTurning High-Level Plans into Robot Programs in Uncertain Domains
Turning High-Level Plans into Robot Programs in Uncertain Domains Henrik Grosskreutz and Gerhard Lakemeyer ½ Abstract. The actions of a robot like lifting an object are often best thought of as low-level
More informationStructure and Complexity in Planning with Unary Operators
Structure and Complexity in Planning with Unary Operators Carmel Domshlak and Ronen I Brafman ½ Abstract In this paper we study the complexity of STRIPS planning when operators have a single effect In
More informationGraph Traversal. 1 Breadth First Search. Correctness. find all nodes reachable from some source node s
1 Graph Traversal 1 Breadth First Search visit all nodes and edges in a graph systematically gathering global information find all nodes reachable from some source node s Prove this by giving a minimum
More informationESUIF: An Open Esterel Compiler
ESUIF: An Open Esterel Compiler Stephen A. Edwards Department of Computer Science Columbia University www.cs.columbia.edu/ sedwards Not Another One... My research agenda is to push Esterel compilation
More informationTCP Non-Renegable Selective Acknowledgments (NR-SACKs) and benefits for space and satellite communications
November 3, 07, ISAE SUPAERO Toulouse, France TCP Non-Renegable Selective Acknowledgments (NR-SACKs) and benefits for space and satellite communications Fan Yang, Paul D. Amer, Si Quoc Viet Trang, and
More informationTHE XML QUERY EXECUTION ENGINE (XEE)
THE XML QUERY EXECUTION ENGINE (XEE) Dieter Scheffner Humboldt-Universität zu Berlin, Dept of Computer Science, 199 Berlin, Germany scheffne@dbis.informatik.hu-berlin.de Johann-Christoph Freytag Humboldt-Universität
More informationGeneration of Interactive Visual Interfaces for Resource Management
Generation of Interactive Visual Interfaces for Resource Management Andreas Dangberg, Wolfgang Mueller C LAB, Fuerstenallee 11, 33102 Paderborn, Germany Abstract This paper introduces the VIVID (Visual
More informationTo provide state and district level PARCC assessment data for the administration of Grades 3-8 Math and English Language Arts.
200 West Baltimore Street Baltimore, MD 21201 410-767-0100 410-333-6442 TTY/TDD msde.maryland.gov TO: FROM: Members of the Maryland State Board of Education Jack R. Smith, Ph.D. DATE: December 8, 2015
More informationRSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È.
RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È. Let Ò Ô Õ. Pick ¾ ½ ³ Òµ ½ so, that ³ Òµµ ½. Let ½ ÑÓ ³ Òµµ. Public key: Ò µ. Secret key Ò µ.
More information) $ G}] }O H~U. G yhpgxl. Cong
» Þ åî ïî á ë ïý þý ÿ þ ë ú ú F \ Œ Œ Ÿ Ÿ F D D D\ \ F F D F F F D D F D D D F D D D D FD D D D F D D FD F F F F F F F D D F D F F F D D D D F Ÿ Ÿ F D D Œ Ÿ D Ÿ Ÿ FŸ D c ³ ² í ë óô ò ð ¹ í ê ë Œ â ä ã
More informationAppendix C. Numeric and Character Entity Reference
Appendix C Numeric and Character Entity Reference 2 How to Do Everything with HTML & XHTML As you design Web pages, there may be occasions when you want to insert characters that are not available on your
More informationRSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È.
RSA (Rivest Shamir Adleman) public key cryptosystem: Key generation: Pick two large prime Ô Õ ¾ numbers È. Let Ò Ô Õ. Pick ¾ ½ ³ Òµ ½ so, that ³ Òµµ ½. Let ½ ÑÓ ³ Òµµ. Public key: Ò µ. Secret key Ò µ.
More informationPointers & Arrays. CS2023 Winter 2004
Pointers & Arrays CS2023 Winter 2004 Outcomes: Pointers & Arrays C for Java Programmers, Chapter 8, section 8.12, and Chapter 10, section 10.2 Other textbooks on C on reserve After the conclusion of this
More informationDistrict Institute of Education and Training Lawspet, Puducherry.
District Institute of Education and Training Lawspet, Puducherry. Educational Computing Record work done by with the Register Number. Submitted for the Internal Assessment examination, April / May 2011,
More informationUnified Configuration Knowledge Representation Using Weight Constraint Rules
Unified Configuration Knowledge Representation Using Weight Constraint Rules Timo Soininen ½ and Ilkka Niemelä ¾ and Juha Tiihonen ½ and Reijo Sulonen ½ Abstract. In this paper we present an approach to
More informationComputing optimal linear layouts of trees in linear time
Computing optimal linear layouts of trees in linear time Konstantin Skodinis University of Passau, 94030 Passau, Germany, e-mail: skodinis@fmi.uni-passau.de Abstract. We present a linear time algorithm
More informationOn the Complexity of List Scheduling Algorithms for Distributed-Memory Systems.
On the Complexity of List Scheduling Algorithms for Distributed-Memory Systems. Andrei Rădulescu Arjan J.C. van Gemund Faculty of Information Technology and Systems Delft University of Technology P.O.Box
More informationMesh Smoothing via Mean and Median Filtering Applied to Face Normals
Mesh Smoothing via Mean and ing Applied to Face Normals Ý Hirokazu Yagou Yutaka Ohtake Ý Alexander G. Belyaev Ý Shape Modeling Lab, University of Aizu, Aizu-Wakamatsu 965-8580 Japan Computer Graphics Group,
More informationFrom Clarity to Efficiency for Distributed Algorithms
From Clarity to Efficiency for Distributed Algorithms Yanhong A. Liu Scott D. Stoller Bo Lin Michael Gorbovitski Computer Science Department, State University of New York at Stony Brook, Stony Brook, NY
More informationCS577 Modern Language Processors. Spring 2018 Lecture Interpreters
CS577 Modern Language Processors Spring 2018 Lecture Interpreters 1 MAKING INTERPRETERS EFFICIENT VM programs have an explicitly specified binary representation, typically called bytecode. Most VM s can
More informationTransformations Review
Transformations Review 1. Plot the original figure then graph the image of Rotate 90 counterclockwise about the origin. 2. Plot the original figure then graph the image of Translate 3 units left and 4
More informationOracle Primavera P6 Enterprise Project Portfolio Management Performance and Sizing Guide. An Oracle White Paper December 2011
Oracle Primavera P6 Enterprise Project Portfolio Management Performance and Sizing Guide An Oracle White Paper December 2011 Disclaimer The following is intended to outline our general product direction.
More informationSearching Multi-Hierarchical XML Documents: the Case of Fragmentation
Searching Multi-Hierarchical XML Documents: the Case of Fragmentation Alex Dekhtyar, Ionut E. Iacob, Srikanth Methuku Department of Computer Science, University of Kentucky, dekhtyar@cs.uky.edu; eiaco0@cs.uky.edu;
More informationCommunication and processing of text in the Kildin Sámi, Komi, and Nenets, and Russian languages.
TYPE: 96 Character Graphic Character Set REGISTRATION NUMBER: 200 DATE OF REGISTRATION: 1998-05-01 ESCAPE SEQUENCE G0: -- G1: ESC 02/13 06/00 G2: ESC 02/14 06/00 G3: ESC 02/15 06/00 C0: -- C1: -- NAME:
More informationExtending Path Profiling across Loop Backedges and Procedure Boundaries
Extending Path Profiling across Loop Backedges and Procedure Boundaries Sriraman Tallam Xiangyu Zhang Rajiv Gupta Department of Computer Science The University of Arizona Tucson, Arizona 872 tmsriram,xyzhang,gupta
More informationModeling Java Programs for Diagnosis ½
Modeling Java Programs for Diagnosis ½ Cristinel Mateis and Markus Stumptner and Franz Wotawa ¾ Abstract. A key advantage of model-based diagnosis is the ability to use a generic model for the production
More informationSteam Boiler Control An Example in ASM Formalisation
Formal Specification and Verification of Software Steam Boiler Control An Example in ASM Formalisation Bernhard Beckert UNIVERSITÄT KOBLENZ-LANDAU B. Beckert: Formal Specification and Verification of Software
More information[DP19] DN-500CD. Serial Command Protocol Guide
[DP19] Serial Command Protocol Guide Ver. 1.2 January 16, 2017 inmusic Brands, Inc. 1 1 Contents 2 General... 3 2.1 RS-232C Control... 3 3 Specification... 4 3.1 RS-232C Control... 4 4 Communication Protocol...
More informationPersonal Conference Manager (PCM)
Chapter 3-Basic Operation Personal Conference Manager (PCM) Guidelines The Personal Conference Manager (PCM) interface enables the conference chairperson to control various conference features using his/her
More informationDatabase Languages and their Compilers
Database Languages and their Compilers Prof. Dr. Torsten Grust Database Systems Research Group U Tübingen Winter 2010 2010 T. Grust Database Languages and their Compilers 4 Query Normalization Finally,
More informationPHANTOM TYPES AND SUBTYPING
PHANTOM TYPES AND SUBTYPING Matthew Fluet and Riccardo Pucella Department of Computer Science Cornell University ßfluet,riccardoÐ@cs.cornell.edu Abstract We investigate a technique from the literature,
More informationChapter 10 Storage and File Structure
Chapter 10 Storage and File Structure Table of Contents z 2 ºÆ Ö c z Storage Media z Buffer Management z File Organization Chapter 10-1 1 1. 2 ºÆ Ö c z File Structure Selection Sequential, Indexed Sequential,
More informationMining Transformation Rules for Semantic Matching
Mining Transformation Rules for Semantic Matching Peter Yeh, Bruce Porter, and Ken Barker University of Texas at Austin, Department of Computer Sciences Austin, TX 78712 USA e-mail: pzyeh,porter,kbarker
More informationUsing Aspect-GAMMA in the Design of Embedded Systems
Using Aspect-GAMMA in the Design of Embedded Systems (Extended Abstract) MohammadReza Mousavi, Giovanni Russello, Michel Chaudron, Michel Reniers, Twan Basten Technische Universiteit Eindhoven (TU/e) P.O.
More informationThe Software Stack: From Assembly Language to Machine Code
COMP 506 Rice University Spring 2018 The Software Stack: From Assembly Language to Machine Code source code IR Front End Optimizer Back End IR target code Somewhere Out Here Copyright 2018, Keith D. Cooper
More informationERNST. Environment for Redaction of News Sub-Titles
ERNST Environment for Redaction of News Sub-Titles Introduction ERNST (Environment for Redaction of News Sub-Titles) is a software intended for preparation, airing and sequencing subtitles for news or
More informationCMPT 470 Based on lecture notes by Woshun Luk
* ) ( & 2XWOLQH &RPSRQHQ 2EMHF 0RGXOHV CMPT 470 ased on lecture notes by Woshun Luk What is a DLL? What is a COM object? Linking two COM objects Client-Server relationships between two COM objects COM
More informationMultiprogramming on physical memory
p. 1/15 Multiprogramming on physical memory Makes it hard to allocate space contiguously - Convenient for stack, large data structures, etc. Need fault isolation between processes - (Even Microsoft now
More informationTizen/Artik IoT Lecture Chapter 3. JerryScript Parser & VM
1 Tizen/Artik IoT Lecture Chapter 3. JerryScript Parser & VM Sungkyunkwan University Contents JerryScript Execution Flow JerryScript Parser Execution Flow Lexing Parsing Compact Bytecode (CBC) JerryScript
More informationA Fusion-based Approach for Handling Multiple Faults in Distributed Systems
A Fusion-based Approach for Handling Multiple Faults in Distributed Systems Bharath Balasubramanian, Vijay K. Garg Parallel and Distributed Systems Laboratory, Dept. of Electrical and Computer Engineering,
More informationIMPROVING PERFORMANCE OF PARALLEL SIMULATION KERNEL FOR WIRELESS NETWORK SIMULATIONS
IMPROVING PERFORMANCE OF PARALLEL SIMULATION KERNEL FOR WIRELESS NETWORK SIMULATIONS M. Thoppian, S. Venkatesan, H. Vu, R. Prakash, N. Mittal Department of Computer Science, The University of Texas at
More informationRESET # Reform reset procedure when using the Personal Organizer for the first time.
RESET # Reform reset procedure when using the Personal Organizer for the first time. # Warning! Reset will erase any user-entered information and clear all settings. 1. Press reset button on the back of
More informationFor information on how to access the swashes and alternates, visit LauraWorthingtonType.com/faqs
Juicy User s Guide opent ype faq: For information on how to access the swashes and alternates, visit LauraWorthingtonType.com/faqs All operating systems come equipped with a utility that make it possible
More informationTurbulence et Génération de Bruit Equipe de recherche du Centre Acoustique LMFA, UMR CNRS 5509, Ecole Centrale de Lyon Simulation Numérique en Aéroacoustique Institut Henri Poincaré - 16 novembre 2006
More informationStep 0 How to install VirtualBox on Windows operating system?
Written and cooked by Janusz R. Getta, School of Computing and Information Technology, University of Wollongong Building 3, room 2120, ext 4339, jrg@uow.edu.au, http://www.uow.edu.au/ jrg ËÁ̽½ Ø Å Ò Ñ
More informationAPPLESHARE PC UPDATE INTERNATIONAL SUPPORT IN APPLESHARE PC
APPLESHARE PC UPDATE INTERNATIONAL SUPPORT IN APPLESHARE PC This update to the AppleShare PC User's Guide discusses AppleShare PC support for the use of international character sets, paper sizes, and date
More informationGraph Based Communication Analysis for Hardware/Software Codesign
Graph Based Communication Analysis for Hardware/Software Codesign Peter Voigt Knudsen and Jan Madsen Department of Information Technology, Technical University of Denmark pvk@it.dtu.dk, jan@it.dtu.dk ØÖ
More informationHigh-Level Reformulation of Constraint Programs
High-Level Reformulation of Constraint Programs Brahim Hnich Pierre Flener Computer Science Division Department of Information Science Uppsala University Box 513 S 751 20 Uppsala Sweden Brahim.Hnich, Pierre.Flener
More informationDesigning Networks Incrementally
Designing Networks Incrementally Adam Meyerson Kamesh Munagala Ý Serge Plotkin Þ Abstract We consider the problem of incrementally designing a network to route demand to a single sink on an underlying
More informationPropagating XML Constraints to Relations
Propagating XML Constraints to Relations Susan Davidson U. of Pennsylvania Wenfei Fan Ý Bell Labs Carmem Hara U. Federal do Parana, Brazil Jing Qin Temple U. Abstract We present a technique for refining
More information]a a. ] v. A. Silberschatz, H. Korth and S. Sudarshan, Database System Concepts (3rd Edition), The McGraw Hill Company, 1997.
]a a î íf= áõâfé ] v = A. Silberschatz, H. Korth and S. Sudarshan, Database System Concepts (3rd Edition), The McGraw Hill Company, 1997. C. Batini, S.Ceri, and S. Navathe, Conceptual Database Design -
More informationParallel Functional Reactive Programming
Parallel Functional Reactive Programming John Peterson, Valery Trifonov, and Andrei Serjantov Yale University Ô Ø Ö ÓÒ¹ Ó Ò ºÝ Ð º Ù ØÖ ÓÒÓÚ¹Ú Ð ÖÝ ºÝ Ð º Ù Ò Ö º Ö ÒØÓÚÝ Ð º Ù Abstract In this paper,
More informationWeighted Pushdown Systems and their Application to Interprocedural Dataflow Analysis
Weighted Pushdown Systems and their Application to Interprocedural Dataflow Analysis ¾ ½ Thomas Reps ½, Stefan Schwoon ¾, and Somesh Jha ½ Comp. Sci. Dept., University of Wisconsin; reps,jha@cs.wisc.edu
More informationAn Object-Oriented Metamodel for Bunge-Wand-Weber Ontology
An Object-Oriented Metamodel for Bunge-Wand-Weber Ontology Arvind W. Kiwelekar, Rushikesh K. Joshi Department of Computer Science and Engineering Indian Institute of Technology Bombay Powai, Mumbai-400
More informationInterWorx Control Panel Installation Guide. by InterWorx LLC
InterWorx Control Panel Installation Guide by InterWorx LLC Contents I Installing InterWorx Control Panel 3 1 InterWorx Installation Requirements 4 1.1 Operating System Support........................................
More informationImproved Controller Synthesis from Esterel
Improved Controller Synthesis from Esterel Cristian Soviani Jia Zeng Stephen. Edwards Department of Computer Science, Columbia University msterdam venue, New York, New York, 7 {soviani, jia, sedwards}@cs.columbia.edu
More informationComposable Memory Transactions
Composable Memory Transactions December 20, 2004 Tim Harris, Simon Marlow, Simon Peyton Jones, Maurice Herlihy Microsoft Research, Cambridge Abstract Writing concurrent programs is notoriously difficult,
More informationSeparation Logic: A Logic for Shared Mutable Data Structures
This is a preprint of a paper to appear in the Proceedings of the Seventeenth Annual IEEE Symposium on Logic in Computer Science, to be held July 22-25, 2002 in Copenhagen, Denmark. Copyright 2002 IEEE.
More informationA Comparison of Mesh Smoothing Methods
A Comparison of Mesh Smoothing Methods Alexander Belyaev Yutaka Ohtake Computer Graphics Group, Max-Planck-Institut für Informatik, 66123 Saarbrücken, Germany Phone: [+49](681)9325-408 Fax: [+49](681)9325-499
More informationCS140 Operating Systems
p. 1/2 CS140 Operating Systems Instructor: David Mazières CAs: Varun Arora, Chia-Hui Tai, Megan Wachs Stanford University p. 2/2 Administrivia Class web ØØÔ»» ½ ¼º º Ø Ò ÓÖ º Ù» page: - All assignments,
More informationCMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 02, FALL 2012
CMSC 33 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 2, FALL 22 TOPICS TODAY Bits of Memory Data formats for negative numbers Modulo arithmetic & two s complement Floating point formats
More informationBlocking System Calls in KRoC/Linux
Communicating Process Architectures 2 P.H. Welch and A.W.P. Bakkers (Eds.) IOS Press, 2 155 Blocking System Calls in KRoC/Linux Frederick R.M. Barnes Computing Laboratory, University of Kent, Canterbury,
More informationCode Shape Comp 412 COMP 412 FALL Chapters 4, 5, 6 & 7 in EaC2e. source code. IR IR target. code. Front End Optimizer Back End
COMP 412 FALL 2017 Code Shape Comp 412 source code IR IR target Front End Optimizer Back End code Copyright 2017, Keith D. Cooper & Linda Torczon, all rights reserved. Students enrolled in Comp 412 at
More informationA Hybrid Multicast Scheduling Algorithm for Single-Hop WDM Networks
A Hybrid Multicast Scheduling Algorithm for Single-Hop WDM Networks Hwa-Chun Lin and Chun-Hsin Wang Abstract This paper shows that, for single-hop WDM networks, a multicast scheduling algorithm which always
More informationCofactoring-Based Upper Bound Computation for Covering Problems
TR-CSE-98-06, UNIVERSITY OF MASSACHUSETTS AMHERST Cofactoring-Based Upper Bound Computation for Covering Problems Congguang Yang Maciej Ciesielski May 998 TR-CSE-98-06 Department of Electrical and Computer
More informationEfficient Deterministic Replay through Dynamic Binary Translation
Efficient Deterministic Replay through Dynamic Binary Translation Piyus Kedia Amarnath and Shashi Khosla School of IT This dissertation is submitted for the degree of Doctor of Philosophy Indian Institute
More informationCSc 453 Interpreters & Interpretation
CSc 453 Interpreters & Interpretation Saumya Debray The University of Arizona Tucson Interpreters An interpreter is a program that executes another program. An interpreter implements a virtual machine,
More informationMove back and forth between memory and disk. Memory Hierarchy. Two Classes. Don t
Memory Management Ch. 3 Memory Hierarchy Cache RAM Disk Compromise between speed and cost. Hardware manages the cache. OS has to manage disk. Memory Manager Memory Hierarchy Cache CPU Main Swap Area Memory
More information