Graphical Program Development with PECAN Program Development Systemst

Size: px
Start display at page:

Download "Graphical Program Development with PECAN Program Development Systemst"

Transcription

1 Graphcal Program Development wth PECAN Program Development Systemst Steven P. Ress Department of Computer Scence Brown Unversty Provdence, RI ABSTRACT Ths paper descrbes the user's vew of the PECAN famly of program development systems. PECAN s a program development system generator for algebrac programmng languages. The program development systems t produces support multple vews of the user's program, ts semantcs, and ts executon. The program vews nclude a syntax-drected edtor, a declaraton edtor, and a structured flow graph edtor. The semantc vews nclude expresson trees, data type dagrams, flow graphs, and the symbol table. Executon vews show the program n acton and the stack contents as the program executes. PECAN s desgned to make effectve use of powerful personal machnes wth hgh-resoluton graphcs dsplays and s currently mplemented on APOLLO workstatons. 1. Introducton The avalablty of powerful personal computers and the desre for ncreased programmer productvty have led to the recent development of nteractve programmng envronments for algebrac languages. In ths paper we descrbe the t Ths research was supported n part by Natonal Scence Foundaton grants MCS , MCS , SER and MCS , by the Offce of Naval Research under contract nos. N C-0396 and N K-0146 and by DARPA order n Permsson to copy wthout fee all or part of ths materal s granted provded that the copes are not made or dstrbuted for drect commercal advantage, the ACM copyrght notce and the ttle of the publcaton and ts date appear, and notce s gven that copyng s by permsson of the Assocaton for Computng Machnery. To copy otherwse, or to republsh, requres a fee and/or specfc permsson ACM / user's vew of the PECAN famly of envronments developed at Brown Unversty. PECAN s a generator of program development systems for algebrac programmng languages, l, 2 It dffers from other systems by generatng complete envronments from smple specfcatons. The generated envronments dffer n ther use of the graphcal facltes of personal workstatons and n ther support for multple concurrent vews. PECAN envronments provde vews of the program, ts semantcs, and ts executon Objectves One objectve n developng PECAN s to nvestgate ways of makng full use of the computng power and graphcs avalable on the new generaton of personal machnes for program development. PECAN s a prototype system that llustrates some of these ways. PECAN envronments are desgned for both the experenced and the novce programmer. They are easy and fast to use, offer mmedate feedback to the user, and allow the user to vsualze hs program. A smple example of the use of PECAN for program development s presented n secton 3 of ths paper. PECAN envronments combne many of the best features of smlar program development systems. These nclude: * Immedate feedback of semantc and syntactc errors whle the user s edtng. * An undo faclty whereby the user can undo (and redo) any acton back to the begnnng of hs sesson. * Structured templates for buldng the program that are avalable as commands. * The flexblty to type text at any tme nstead of usng templates. 30

2 The use of menus as alternatves to typng for most commands. A multple wndow dsplay to make effectve use of the screen. Incremental semantcs that allow the program to be compled as t s edted. A framework that handles a varety of (algebrac) programmng languages wth the same commands. Forward and backward executon, wth user control of speed and the ablty to step one statement at a tme. The ablty to edt durng executon Vews n PECAN PECAN envronments dffer from other program development systems n ther use of multple vews of shared data structures. The program s represented nternally as an abstract syntax tree. The user does not see ths tree drectly, but nstead sees vews or concrete representatons of t. One such vew s a syntax-drected edtor. Another vew of the program s a Nass- Sehnederman structured flowchart. A thrd vew s a declaraton edtor. A fourth vew would be a module nterconnecton dagram showng how the program s organzed. Each of these vews may be read-only or edtng. They each dsplay the abstract syntax tree. Ths dsplay s updated automatcally as the tree changes. Edtng vews support modfcatons to ths tree usng the dsplayed representaton. The current vews are dscussed n secton 4. PECAN provdes more than program vews. In addton to the data structure representng the syntax of programs, the ncremental compler supports semantc data structures for the symbol table, the set of data types, expresson trees, and control-flow graphs. PECAN supports ncremental vews of these data structures. These are descrbed n secton 5. PECAN supports nterpretve program executon. It provdes a controlled envronment that lets the user execute hs program forwards and backwards, set breakponts, and sngle step. It uses the program and semantc vews to show where the program s executng at a gven tme. It provdes addtonal vews to dsplay the program's data. Ths currently ncludes a stack and data vew that shows the values on the program stack as they are allocated, freed and as they change. The data part of ths vew s used for dsplayng structures, arrays, and the values ponted to by ponters. Future dsplays wll be obtaned by mergng PECAN wth the BALSA system.3, 4 BALSA provdes multple dynamc vews of a fxed program's data structures whle the program s executng. The current executon vews are dscussed n secton 6. PECAN supports multple vews concurrently wth automatc updatng. There can be several vews of the same abstract syntax tree. If any one of them modfes the tree, PECAN sends messages to nform each vew that t should be updated. The ncremental compler s treated as an nvsble vew and s called whenever a tree changes. In turn, as the compler updates the semantc representaton, vews of the semantcs are notfed of the change so that they can update ther dsplays. The same phlosophy s used for executon vews. As a varable or the stack or the locaton counter changes, any vews that are dsplayng these tems are notfed to update ther dsplay. PECAN s currently beng developed at Brown Unversty on APOLLO workstatons. The frst verson s desgned wth expermentaton n mnd and wth the goal of supportng student programmng. The system desgn s flexble so that,new vews may be easly tred and so that a reasonable combnaton of vews can be found. The system desgn s hghly modular. Components such as the ncremental compler can be changed wthout affectng other vews or modules. 2. Related Work There are several efforts amed at buldng nteractve programmng envronments for personal machnes. Whle PECAN borrows from many of these systems, t s dfferentated by ts use of multple vews, ts retargetablty, and ts relance on graphcs. In ths secton we brefly relate the more well-known systems. The Cornell Program Syntheszer s provdes a full system for PL/C ncludng a syntaxdrected edtor and an nterpreter. Its edtor s template-based, but provdes text edtng for fxed constructs such as expressons. It has recently been mplemented as a generator so that t s possble to create syntheszers for dfferent languages usng attrbute grammers to descrbe the output and semantcs for each producton of the abstract syntax. The COPE system 6 also developed at Cornell provdes another approach based on an 31

3 ntellgent parser. The edtor n ths system s a text edtor ted to an error correctng parser. The parser s able to nsert mssng keywords and tokens to get about the same effect as templates do n the Syntheszer. Ths scheme has an advantage n that the user can type hs program at any tme. It has the dsadvantage that the user s not shown what templates are currently vald. The current PECAN edtor s a compromse between these two schemes. It provdes templates at every poston, but allows the user to type at any pont. Moreover, the parser has some error correctng capabltes. COPE also ncludes the mportant concept of beng able to undo and redo both edtng and executon. PECAN provdes a smlar ablty. The GANDALF effort at Carnege-Mellon Unversty s an ncremental programmng envronment generator currently workng for several algebrac languages. 7 It ncludes the ALOE syntax-drected edtor generator. 8 The abstract syntax descrptons and prnt specfcatons used by PECAN are derved from those defned for ALOE. ALOE produces general structure edtors not geared toward programmng languages. Thus, the semantcs for the language n queston have to be descrbed procedurally. ALOE also s a template based edtor n that t provdes templates for all productons n the tree and does not automatcally allow parsng. It s possble, however, for the user to wrte hs own parser and to use t for lmted text edtng. Much effort n GANDALF has been amed toward programmng n the large, an ssue not addressed by PECAN. GANDALF untl recently has not been targeted for personal machnes wth graphcs capabltes. Several programmng envronments have been developed at the Xerox Palo Alto Research Center. The Smalltalk system 9 s an nterpreter for an object-orented language based on message passng. It makes heavy use of wndows and the capabltes of the graphcal dsplay, but s language-dependent. The Interlsp envronment 1 provdes a good example of what can be done wth an nterpreted language and a hghresoluton dsplay. The Mesa 11 envronment, and more recently CEDAR, 12 apply many of the deas from Smalltalk and Interlsp to an algebrac, compled language. Many of the deas proposed for CEDAR can be found n PECAN. CEDAR s desgned as a producton programmng envronment. PECAN dffers n ts emphass on programmng n the small, nteracton, the use of graphcs, and on showng the user multple vews of hs program. PECAN s desgned to be nteractve and to eventually support graphcal programmng. 3. An Example In ths secton we examne a sesson wth a PECAN envronment n whch we create and execute a smple program. The language used here s an extended verson of Pascal. The system starts wth an ntal dsplay that can be specfed by the user. For the purposes of demonstraton and debuggng we use the dsplay shown n fgure 1. Ths conssts of a large number of the possble vews all dsplayed at once. Ths would be much tob cluttered for the average user of the system, and a typcal user mght restrct hmself to an edtor, the executon montor, and a data vew. The large vew n the upper rght s a syntax-drected edtor for the syntax tree labeled ezample. Below t are semantc vews of the flow graph and the current data type. Below the data type wndow s a transcrpt wndow where the system shows the user all of hs commands. Ths wndow can be used for controllng the undo and redo capabltes of the system. The column of wndows on the rght contans the control vew from the nterpreter and semantc vews of the current expresson and the symbol table. Fnally, the two vews n the lower-left show what the four buttons on the locator devce do and the tme respectvely. PECAN systems are bult on top of the Brown workstaton envronment. 13 Ths envronment contans a varety of tools. Four of these tools are used extensvely by PECAN. MAPLE s the nput management package. It s used to provde the varous menus wthn wndows and to drect nputs to partcular parts of the program dependng on whch wndow the user s currently n. ASH s the graphcs package that s used throughout. It provdes a varety of raster graphcs operatons through the abstracton of a wndow and ts vew on the screen. ASH provdes a herarchy of wndows. It allows wndows to overlap and to be made nvsble. It takes care of mantanng and dsplayng all the wndows, ncludng those that are partally or totally obscured. VT s a package that sts on top of ASH and provdes extensve text support n an ASH wndow. It allows multple fonts along wth edtng operatons lke those provded by an ntellgent termnal. It stores a sem-nfnte pad and manages the dsplay for any partcular part of the pad. Fnally, WILLOW provdes a user- 32

4 confgurable wndow manager. WILLOW provdes the utlty buttons at the bottom of the screen and the cons above them that are used for creatng new vews. It also provdes the move and resze buttons n the upper-left and upperrght of each of the wndows. Other wllow buttons are those n the nterpretor control vew, ncludng the scroll bar for controllng the speed of executon, and buttons for pushng, poppng and removng wndows that are hdden under the ttle banners of each of the wndows. WILLOW allows the user to confgure the system to hs lkng. It lets hm choose the ntal screen layout. It lets hm choose the fonts to be used n each of the wndows. It even lets hm choose the usernterface to be used for manpulatng wndows. In fgure 2 we have started the edtng sesson. We have moved the cursor nto the syntaxdrected edtor wndow and have ndcated that we want to create a new PROGRAM. The system flled n the name of the program from the tree name. Then we moved to the declaraton and, usng the menu on the rght of the edtor vew as a gude, ndcated that we wanted a VAR declaraton. Ths could have been done by usng the locator devce to pck the VAR button on the menu. Instead, we chose to type n the word var and have the system realze that ths meant to use the button. Fnally, we entered the varable defnton by typng t all n nstead of selectng off the menu. These actons llustrate the three means that the edtor provdes for program entry. The user can ether select templates usng the menu, can select templates by typng n a prefx of the correspondng button name on the menu, or can type n the full text for the current construct. Fgure 2 also shows that PECAN comples as t goes. Ths s seen n the semantc vews that are actve. The symbol table vew n the lowerleft shows the symbol table as t exsts up to ths pont. Smlarly, the data flow vew n the lowerrght shows the complete flow graph. The hexagonal flow nodes ndcate that the correspondng varable should be allocated at ths pont. Both of these vews are concrete representatons of the ntermedate representaton that s generated by the ncremental compler. The varous semantc vews are more fully llustrated n fgure 3. Here we have contnued to use the edtor to enter the functon #cd. The system augments our edtng wth automatc comments such as that on the BEGIN statements and the names of the parameters on the functon call. After enterng the body of the functon we used the locator to pont and move to the parameter b n the recursve call. The semantc vews are keyed on the current edtng locaton. Thus the expresson vew contans the expresson tree correspondng to the call, wth the node correspondng to the current parameter hghlghted. The symbol table vew smlarly hghlghts the current varable. The data type vew shows the data type of ths varable. Fnally, the flow graph vewhghlght sthe correspondng node of the flow graph, although ths node s not currently vsble. We next fnsh typng n the program that reads two values, calls the functon gcd wth them, and then prnts the result. Then we are ready to try out the program. We frst rearrange the screen, elmnatng most of the semantc vews, enlargng the flow graph vew so that t shows the whole program, and creatng a stack vew to show the data. We use the GO button n the nterpreter control vew to start executon, enter two values when requested, and then stop the program durng executon by clckng on the locator. The result s shown n fgure 4. Several elements of PECAN can be seen n fgure 4. The current statement beng executed s hghlghted n both the flow graph vew and n the syntax-drected edtor. When these vews are dsplayed, ths hghlghtng s done automatcally when executon stops. The MONITOR button n the nterpreter control wndow causes the hghlghtng to be done contnuously as the proglam executes. The nterpreter control vew shows the user the state of executon as well as any nput and output of the executng program. The stack dsplay shows the current state of all the program's varables. It shows the recurson nherent n the program and the dfferent varable values at each level. In the next sectons we consder the current and planned vews. Secton 4 looks at the program vews. Secton 5 looks at the semantc vews. Secton 6 consders the executon vews. 4. Program Vews Program vews are vsual representatons of abstract syntax trees. They can be ether readonly vews or they can be edtng vews. In ether case they are automatcally updated as the trees they represent are changed, whether they ntated the change or not. 33

5 4.1. The Syntax-Drected Edtor The syntax-drected edtor vew provdes a textual representaton of the program. It offers a cross between a tradtonal text edtor and a structure edtor. It allows the user to move to any pont n the program and do whatever text edtng operatons are approprate. The edtor parses the result, puts t nto ts nternal representaton, and reformats the dsplay. The freedom to treat a textual representaton of the program as text s mportant snce many of the changes a programmer makes are textual ones, such as correctng typng errors. Moreover, when there are many correctons to a program, the programmer s lkely to want to treat the program as a large textual object, make the correctons, and not want to worry about ts structure. Several systems, ncludng COPE 6 and POE 14 use a textual approach to syntax-drected edtng. At the same tme the syntax-drected edtor vew provdes a complete set of templates that allow the programmer to make full use of the structure of the underlyng syntax tree. The current locaton s not a sngle character, but s a tree node, and the text for ths node s placed n a box on the dsplay. The user has avalable smple commands to clmb around the syntax tree and to pck and put nodes of the tree. Whenever the current node s a meta varable or a leaf node, the edtor provdes a specal menu that lsts the possble expansons or contents. For meta nodes these are the templates assocated wth such syntaxdrected edtors as ALOE s or the Cornel Program Syntheszer. ~ For leaf nodes, they are a lst of the approprate canddate names from the symbol table. Edtng wth templates s often easer for novce programmers and can save consderable typng on program entry. Whle tryng to compromse between structured edtng and text edtng, the syntax-drected edtor also makes heavy use of the facltes of the graphcal dsplay and the pontng devce. The edtor uses multple fonts to dstngush between keywords, meta symbols that have yet to be expanded, text for dentfers, and text that contans semantc errors. The user s free to choose any of the avalable fonts for these purposes. The edtor uses lne drawng to place a box of whatever shape s necessary around the text correspondng to the current node. The nterface to the edtor uses the pontng devce and the keyboard. The pontng devce can select any of the menu buttons that are seen n the example. These provde the basc edtng commands, and, for meta nodes and approprate leaf nodes, the relevant templates and name alternatves. The pontng devce s also used wth the dsplayed tree. The user can change the current node by pontng at the desred locaton. Other buttons on the puck allow the user to pck, put, delete and nsert nto the tree. Multple clcks at the same locaton allow the user to move about the tree structure. The keyboard s used prmarly for text edtng, but also can be used for many of the edtor commands. The user s free to type text or text-edtng commands. When the user s done text edtng, he ssues a command not nvolvng text-edtng or an explct done command, the edted text s parsed, and the result s put nto the tree. Control and functon keys on the keyboard provde most of the tree-edtng commands (delete, nsert, pck, put), as well as tree movement and vew scrollng commands. Ths makes t possble for the user to edt wthout contnually havng to move hs hands from the keyboard to the pontng devce and back agan Nassl-Sehnederman Vew A second program vew s a graphcal one based on Nass-Schnederman flow charts. 15 These are a form of structured flow charts that use dfferent types of blocks for dfferent program constructs and use the nestng of blocks to represent the nestng of the program. Wth ths vew, the user sees the complete structured form of hs program drawn as a structured flow graph. The vew s based on a pretty-prnt notaton that descrbes how each abstract syntax construct should be represented graphcally usng a smple prnt rule. The rule shows the nestng and the creaton of new blocks n the flow graph. These blocks are ether rectangular blocks that ndcate smple processng, decson blocks wth a test on top and the alternatve paths n sub-boxes beneath, teraton boxes that contan the loop body and the tests on the outsde, and a separate box type to ndcate scopng. The vew s ted nto the system and s automatcally updated as the user changes hs program. We are currently workng on addng basc edtng operatons to ths vew to allow the user to edt hs program graphcally Declaraton Vew Another edtng vew s provded exclusvely for declaratons. The user can select a partcular 34

6 declaraton ether by pontng to the declaraton or by pontng to the name of the declaraton somewhere n the program text. If no declaraton already exsts for the name, then a new one s created automatcally n the current scope. Once a declaraton s chosen, the user can use ths vew to add, delete or change the assocated names, and to locally edt felds of the declaraton such as the data type of a varable. He can change the class of the declaraton, such as local varable to global varable or varable to constant. He can move the declaraton to a dfferent scope by pontng to the new scope and selectng the SCOPE button. Ths vew serves two purposes. Frst, t allows the user to create programs nteractvely, declarng varables as he uses them. Second, t supplements the Nass-Schnederman and future graphcal program vews that do not drectly support declaratons Other program vews There are other program vews that could be supported by PECAN and that we hope to see mplemented some tme n the future. In the short term, we are plannng to do a generalpurpose structured flowgraph edtng vew. The ntal mplementaton of ths wll support Rothon dagrams and Nass-Schnede.rman dagrams. Future program vews wll support programmng n the large through a procedure-level connecton dagram and through pctures of the top-level data flow. Other possble vews nclude one that supports data-flow programmng and a verfcaton vew that lsts the predcates known at each pont n the program and allows the user to prove correctness whle programmng. 5. Semantc Vews Whle abstract syntax trees representng user programs are the most logcal data structure to vew, t s often useful to provde the user wth specalzed vews of the nternal forms supported by PECAN. Durng program edtng, the relevant forms are the semantc representatons of the program: the symbol table, data type defntons, expresson trees, and control flow graphs The Symbol Table Vew The compler bulds and ncrementally mantans a scoped symbol table of all bult-n and user-defned symbols. The correspondng vew dsplays the scopes and symbols that are defned for a partcular syntax tree. The boxes dsplay the nestng of the varous scopes. Each box contans a bref descrpton of the scope and a lst of all the names defned by the user program n that scope. Each name s dsplayed wth ts class, such as varable, type, or label, and other pertnent nformaton such as the data type of a varable. If the current node n a program vew s a varable, then ths varable s hghlghted n the symbol dsplay. Pontng at a name or scope n the symbol dsplay causes the approprate program vew to make the defnton node for that scope or name the current locaton The Data Type Vew The compler mantans nformaton on bult-n and user-defned data types. A semantc vew dsplays the current data type based on ths nformaton. If the user s edtng a type defnton, then the type beng edted s dsplayed. If the current edtng node s a varable, then the type of the varable s dsplayed. If the current node s an expresson, then the type of the expresson s dsplayed. The top lne of a type dsplay contans the class of the type such as RECORD, POINTER, ARRAY. The followng lnes show the parameter values for ths class. Where these parameters are also types, the dsplay s recursve. To avod nfnte dsplays, the recurson typcally stops after one level. However, the user s free to choose'an unexpanded type and ask that t be expanded, ether wthn the dsplay or by makng t the only type dsplayed. Pontng at a type defnton causes the approprate edtor to make that defnton ts current locaton The Expresson Vew The thrd component of the compler mantans expresson trees for each expresson n the program. The correspondng vew draws these trees, affordng the user a dfferent perspectve of the expressons. The tree that s drawn s the one that s the current focus for edtng operatons. The node beng edted s hghlghted on the dsplay. The user may pan over the expresson tree when the tree s too large to ft n the wndow assgned for expresson dsplay. He can also pont at the tree to make the correspondng node be the current locaton for edtng The Flow Vew The fnal component of the ncremental compler bulds and mantans graphs that descrbe the flow of control for an abstract syntax 35

7 tree. The correspondng vew provdes a flowchart of the program that s dynamcally updated as the program changes. Nodes of the flowchart represent expresson evaluatons, condtonal branches, contour entrys and exts, varable allocatons, gotos and labels. The user can pan over a complex flowchart to vew the currently relevant porton. He can also pont at a gven block and cause the correspondng code to become the focus for edtng operatons. 6. Executon Vews PECAN supports vews of program executon. These vews are of three dfferent types, control, program, and data. The executon control vew s provded by the nterpreter. Ths vew contans messages that ndcate the current executon state of the program. It s used to dsplay error messages ncurred durng executon. It also dsplays the program nput and output usng dfferent fonts to provde a full transcrpt of the user's debuggng. The control vew provdes user debuggng facltes. These nclude the ablty to reverse program executon, to step through the program one statement at a tme, ether forward or backward, and to nsert breakponts by pontng at the place to stop and then httng the BREAK button. It also provdes a speed control so that the user can slow down the program executon. Executon can be montered n the program vews and n the semantc flow graph vew. If montorng s turned on n the control vew, then each of the program vews currently actve wll be nstructed to hghlght the current statement as t s executed. If the flow graph vew s actve, then t wll be used to show the step-by-step executon of the program. The user s provded wth vews of hs data as the program executes. The stack vew s the only current data vew, although more vews are planned. The stack vew dvdes ts wndow nto two portons. The left sde provdes a dsplay of the current executon stack. It shows where each block on that stack begns. It shows each varable n the block and dsplays ts current value. Undefned values are labeled as such. Smple values such as ntegers, enumeraton constants, reals, and characters are dsplayed drectly. Complex values such as arrays, records, and ponters are not dsplayed, but have an approprate token n ther place. The rght sde of the vew s used to dsplay these complex values. The user ponts at the token for an array or record or ponter and the correspondng value wll be dsplayed on the rght. Ths technque can be used recursvely to dsplay chans of ponters or nested structures. A future goal of PECAN s to provde a wde varety of executon vews based on experences wth the BALSA system. 8 These wll nclude data vews that render a graphcal representaton of a user's data structure such as a tree that s automatcally updated as the program executes. Ths work wll be based on an extensve lbrary of possble graphcal representatons and s the subject of current research. Other data vews would provde the user wth more classcal representatons of the stack or of a selected set of varables. These wll agan be updated as the program executes. Executon vews wll also show the program n acton. Smple program vews wll hghlght each statement as t s executed. Other vews wll provde performance nformaton such as executon counts n varous graphcal forms. 7. Acknowledgements The effort that has gone nto PECAN has been supported by much of the envronment actvty at Brown. Marc Brown s largely responsble for the MAPLE menung package. Joe Pato and Mark Vckers developed the vrtual devce nterface for the Apollos. Marc Brown and Mke Strckman dd the core of the BALSA mplementaton. Rob Rubn and Jeanette Hung dd the Nass-Schnederman vew. 8. References 1. Steven P. Ress, "PECAN: Program development systems that support multple vews," Proceedngs of the Seventh Internatonal Conference on Software Engneerng, (March 1984). 2. Steven P. Ress, "An approach to ncremental complaton," Proceedngs of the SIG- PLAN '84 Symposum on Compler Constructon, (June 1984}. 3. Marc H. Brown, Norman Meyrowtz, and Andres van Dam, "Personal computer networks and graphcal anmaton: ratonale and practce for educaton," ACM SIGCSE Bulletn 15(1) pp (February 1983). 4. Marc H. Brown and Steven P. Ress, "Toward a Computer Scence Envronment for Powerful Personal Machnes," Proceedngs of the 17th Hawa System Scences Conference, (January 1984). 36

8 Tm Tetelbaum and Thomas Reps, "The Cornell program syntheszer: a syntax- drected programmng envronment," Cornell Unversty Techncal Report TR (May 1980). James Archer, Jr. and Rchard Conway, "COPE: A cooperatve programmng envronment," Cornell TR (June 1981). A. N. Habermann, "The Gandalf Research Project," Computer Scence Research Revew, Carnege-Mellon Unversty 1979 (1979). Raul Medna-Mora and Davd S. Notkn, "ALOE users' and mplementors' gude," Carnege-Mellon Computer Scence Department Research Report CS (November 1981). Adele Goldberg, "The nfluence of an object-orented language on the programmng envronment," Proc. ACM Computer Scence Conference, (February 1983). Warren Tetelman, Interlsp Reference Manual, XEROX (1974). James G. Mtchell, Wllam Maybury, and Rchard Sweet, "Mesa language manual," Xeroz CSL-7g-8, (Aprl 1979). L. Peter Deutsch and Edward A. Taft, "Requrements for an expermental programmng envronment," Xerox CSL (June 1980). Joseph N. Pato, Steven P. Ress, and Marc H. Brown, "The Brown workstaton envronment," Brown Unversty CS (October 1983). Charles N. Fscher, Greg Johnson, and Jon Mauney, "An Introducton to Edtor Allen Poe," Unv Wsconsn-Madson TR 451 (October 1981). I. Nass and B. Schnederman, "Flowchart technques for structured programmng," SIGPLAN Notces 8(8)(August 1973 I. 37

9 I I, L z~ z % 4~. aj 38

10 A =~,.~ z ~ E I I H O-I LI'I I ',o 02 V A I..- r~ ll,jnal.l.~,! I m --I.J :E.IJ -..I :L..J.IJ >- ~J m Z ~J --.IJ _d J.l IE,I.I --I..I o~ -IJ IZ ljl I, 39

11 ~.. II C~o m l 0..C~ I" 0., ~..~, ~ II~ ~LcJ II ~ ~ II II,c:~: ~::Z:... _J u o~ E C.,,.- ~- I~. 0 'O...J a~.~ 1 ~ o I! ~ I--- ~ ~I~Iz Z ~ 2 W J J W W W J o......~ 4O

12 ~2,e L IL x L.J 0 ~ m I.I.I I.I.I Ql~ L.I :P 0 0 -'q C C G,I-J', 0 0 O +~'.t*~',,l.~ "10 C OJ' ~ ~ m m O X J.4 ~.M (..'1"~ C K E :~ _++ _+.+= $ 11:1 'm n:~ C. G (/1

Compiler Design. Spring Register Allocation. Sample Exercises and Solutions. Prof. Pedro C. Diniz

Compiler Design. Spring Register Allocation. Sample Exercises and Solutions. Prof. Pedro C. Diniz Compler Desgn Sprng 2014 Regster Allocaton Sample Exercses and Solutons Prof. Pedro C. Dnz USC / Informaton Scences Insttute 4676 Admralty Way, Sute 1001 Marna del Rey, Calforna 90292 pedro@s.edu Regster

More information

Assembler. Building a Modern Computer From First Principles.

Assembler. Building a Modern Computer From First Principles. Assembler Buldng a Modern Computer From Frst Prncples www.nand2tetrs.org Elements of Computng Systems, Nsan & Schocken, MIT Press, www.nand2tetrs.org, Chapter 6: Assembler slde Where we are at: Human Thought

More information

Harvard University CS 101 Fall 2005, Shimon Schocken. Assembler. Elements of Computing Systems 1 Assembler (Ch. 6)

Harvard University CS 101 Fall 2005, Shimon Schocken. Assembler. Elements of Computing Systems 1 Assembler (Ch. 6) Harvard Unversty CS 101 Fall 2005, Shmon Schocken Assembler Elements of Computng Systems 1 Assembler (Ch. 6) Why care about assemblers? Because Assemblers employ some nfty trcks Assemblers are the frst

More information

TN348: Openlab Module - Colocalization

TN348: Openlab Module - Colocalization TN348: Openlab Module - Colocalzaton Topc The Colocalzaton module provdes the faclty to vsualze and quantfy colocalzaton between pars of mages. The Colocalzaton wndow contans a prevew of the two mages

More information

Assembler. Shimon Schocken. Spring Elements of Computing Systems 1 Assembler (Ch. 6) Compiler. abstract interface.

Assembler. Shimon Schocken. Spring Elements of Computing Systems 1 Assembler (Ch. 6) Compiler. abstract interface. IDC Herzlya Shmon Schocken Assembler Shmon Schocken Sprng 2005 Elements of Computng Systems 1 Assembler (Ch. 6) Where we are at: Human Thought Abstract desgn Chapters 9, 12 abstract nterface H.L. Language

More information

CMPS 10 Introduction to Computer Science Lecture Notes

CMPS 10 Introduction to Computer Science Lecture Notes CPS 0 Introducton to Computer Scence Lecture Notes Chapter : Algorthm Desgn How should we present algorthms? Natural languages lke Englsh, Spansh, or French whch are rch n nterpretaton and meanng are not

More information

VRT012 User s guide V0.1. Address: Žirmūnų g. 27, Vilnius LT-09105, Phone: (370-5) , Fax: (370-5) ,

VRT012 User s guide V0.1. Address: Žirmūnų g. 27, Vilnius LT-09105, Phone: (370-5) , Fax: (370-5) , VRT012 User s gude V0.1 Thank you for purchasng our product. We hope ths user-frendly devce wll be helpful n realsng your deas and brngng comfort to your lfe. Please take few mnutes to read ths manual

More information

Brave New World Pseudocode Reference

Brave New World Pseudocode Reference Brave New World Pseudocode Reference Pseudocode s a way to descrbe how to accomplsh tasks usng basc steps lke those a computer mght perform. In ths week s lab, you'll see how a form of pseudocode can be

More information

An Optimal Algorithm for Prufer Codes *

An Optimal Algorithm for Prufer Codes * J. Software Engneerng & Applcatons, 2009, 2: 111-115 do:10.4236/jsea.2009.22016 Publshed Onlne July 2009 (www.scrp.org/journal/jsea) An Optmal Algorthm for Prufer Codes * Xaodong Wang 1, 2, Le Wang 3,

More information

Notes on Organizing Java Code: Packages, Visibility, and Scope

Notes on Organizing Java Code: Packages, Visibility, and Scope Notes on Organzng Java Code: Packages, Vsblty, and Scope CS 112 Wayne Snyder Java programmng n large measure s a process of defnng enttes (.e., packages, classes, methods, or felds) by name and then usng

More information

Virtual Memory. Background. No. 10. Virtual Memory: concept. Logical Memory Space (review) Demand Paging(1) Virtual Memory

Virtual Memory. Background. No. 10. Virtual Memory: concept. Logical Memory Space (review) Demand Paging(1) Virtual Memory Background EECS. Operatng System Fundamentals No. Vrtual Memory Prof. Hu Jang Department of Electrcal Engneerng and Computer Scence, York Unversty Memory-management methods normally requres the entre process

More information

Computer models of motion: Iterative calculations

Computer models of motion: Iterative calculations Computer models o moton: Iteratve calculatons OBJECTIVES In ths actvty you wll learn how to: Create 3D box objects Update the poston o an object teratvely (repeatedly) to anmate ts moton Update the momentum

More information

Agenda & Reading. Simple If. Decision-Making Statements. COMPSCI 280 S1C Applications Programming. Programming Fundamentals

Agenda & Reading. Simple If. Decision-Making Statements. COMPSCI 280 S1C Applications Programming. Programming Fundamentals Agenda & Readng COMPSCI 8 SC Applcatons Programmng Programmng Fundamentals Control Flow Agenda: Decsonmakng statements: Smple If, Ifelse, nested felse, Select Case s Whle, DoWhle/Untl, For, For Each, Nested

More information

A mathematical programming approach to the analysis, design and scheduling of offshore oilfields

A mathematical programming approach to the analysis, design and scheduling of offshore oilfields 17 th European Symposum on Computer Aded Process Engneerng ESCAPE17 V. Plesu and P.S. Agach (Edtors) 2007 Elsever B.V. All rghts reserved. 1 A mathematcal programmng approach to the analyss, desgn and

More information

A Binarization Algorithm specialized on Document Images and Photos

A Binarization Algorithm specialized on Document Images and Photos A Bnarzaton Algorthm specalzed on Document mages and Photos Ergna Kavalleratou Dept. of nformaton and Communcaton Systems Engneerng Unversty of the Aegean kavalleratou@aegean.gr Abstract n ths paper, a

More information

with Optic65 and Optic25 Cameras FOR OUTDOOR TRACKING ONLY unless used in conjunction with the Indoor Tracking Accessory.

with Optic65 and Optic25 Cameras FOR OUTDOOR TRACKING ONLY unless used in conjunction with the Indoor Tracking Accessory. wth Optc6 and Optc Cameras Quck Start Gude FOR OUTDOOR TRACKING ONLY unless used n conjuncton wth the Indoor Trackng Accessory. CONGRATULATIONS ON SCORING YOUR SOLOSHOT Our category-creatng lne of personal

More information

IP Camera Configuration Software Instruction Manual

IP Camera Configuration Software Instruction Manual IP Camera 9483 - Confguraton Software Instructon Manual VBD 612-4 (10.14) Dear Customer, Wth your purchase of ths IP Camera, you have chosen a qualty product manufactured by RADEMACHER. Thank you for the

More information

Assignment # 2. Farrukh Jabeen Algorithms 510 Assignment #2 Due Date: June 15, 2009.

Assignment # 2. Farrukh Jabeen Algorithms 510 Assignment #2 Due Date: June 15, 2009. Farrukh Jabeen Algorthms 51 Assgnment #2 Due Date: June 15, 29. Assgnment # 2 Chapter 3 Dscrete Fourer Transforms Implement the FFT for the DFT. Descrbed n sectons 3.1 and 3.2. Delverables: 1. Concse descrpton

More information

On Some Entertaining Applications of the Concept of Set in Computer Science Course

On Some Entertaining Applications of the Concept of Set in Computer Science Course On Some Entertanng Applcatons of the Concept of Set n Computer Scence Course Krasmr Yordzhev *, Hrstna Kostadnova ** * Assocate Professor Krasmr Yordzhev, Ph.D., Faculty of Mathematcs and Natural Scences,

More information

For instance, ; the five basic number-sets are increasingly more n A B & B A A = B (1)

For instance, ; the five basic number-sets are increasingly more n A B & B A A = B (1) Secton 1.2 Subsets and the Boolean operatons on sets If every element of the set A s an element of the set B, we say that A s a subset of B, or that A s contaned n B, or that B contans A, and we wrte A

More information

J-DSP-CONTROL: A CONTROL SYSTEMS SIMULATION ENVIRONMENT +

J-DSP-CONTROL: A CONTROL SYSTEMS SIMULATION ENVIRONMENT + J-DSP-CONTROL: A CONTROL SYSTEMS SIMULATION ENVIRONMENT + T. Thrasyvoulou, K. Tsakals and A. Spanas MIDL Department of Electrcal Engneerng Arzona State Unversty, Tempe, AZ 85287-7206 thrassos@asu.edu,

More information

3D vector computer graphics

3D vector computer graphics 3D vector computer graphcs Paolo Varagnolo: freelance engneer Padova Aprl 2016 Prvate Practce ----------------------------------- 1. Introducton Vector 3D model representaton n computer graphcs requres

More information

News. Recap: While Loop Example. Reading. Recap: Do Loop Example. Recap: For Loop Example

News. Recap: While Loop Example. Reading. Recap: Do Loop Example. Recap: For Loop Example Unversty of Brtsh Columba CPSC, Intro to Computaton Jan-Apr Tamara Munzner News Assgnment correctons to ASCIIArtste.java posted defntely read WebCT bboards Arrays Lecture, Tue Feb based on sldes by Kurt

More information

Petri Net Based Software Dependability Engineering

Petri Net Based Software Dependability Engineering Proc. RELECTRONIC 95, Budapest, pp. 181-186; October 1995 Petr Net Based Software Dependablty Engneerng Monka Hener Brandenburg Unversty of Technology Cottbus Computer Scence Insttute Postbox 101344 D-03013

More information

ON SOME ENTERTAINING APPLICATIONS OF THE CONCEPT OF SET IN COMPUTER SCIENCE COURSE

ON SOME ENTERTAINING APPLICATIONS OF THE CONCEPT OF SET IN COMPUTER SCIENCE COURSE Yordzhev K., Kostadnova H. Інформаційні технології в освіті ON SOME ENTERTAINING APPLICATIONS OF THE CONCEPT OF SET IN COMPUTER SCIENCE COURSE Yordzhev K., Kostadnova H. Some aspects of programmng educaton

More information

Oracle Database: SQL and PL/SQL Fundamentals Certification Course

Oracle Database: SQL and PL/SQL Fundamentals Certification Course Oracle Database: SQL and PL/SQL Fundamentals Certfcaton Course 1 Duraton: 5 Days (30 hours) What you wll learn: Ths Oracle Database: SQL and PL/SQL Fundamentals tranng delvers the fundamentals of SQL and

More information

Setup and Use. Version 3.7 2/1/2014

Setup and Use. Version 3.7 2/1/2014 Verson 3.7 2/1/2014 Setup and Use MaestroSoft, Inc. 1750 112th Avenue NE, Sute A200, Bellevue, WA 98004 425.688.0809 / 800.438.6498 Fax: 425.688.0999 www.maestrosoft.com Contents Text2Bd checklst 3 Preparng

More information

SLAM Summer School 2006 Practical 2: SLAM using Monocular Vision

SLAM Summer School 2006 Practical 2: SLAM using Monocular Vision SLAM Summer School 2006 Practcal 2: SLAM usng Monocular Vson Javer Cvera, Unversty of Zaragoza Andrew J. Davson, Imperal College London J.M.M Montel, Unversty of Zaragoza. josemar@unzar.es, jcvera@unzar.es,

More information

Related-Mode Attacks on CTR Encryption Mode

Related-Mode Attacks on CTR Encryption Mode Internatonal Journal of Network Securty, Vol.4, No.3, PP.282 287, May 2007 282 Related-Mode Attacks on CTR Encrypton Mode Dayn Wang, Dongda Ln, and Wenlng Wu (Correspondng author: Dayn Wang) Key Laboratory

More information

Wishing you all a Total Quality New Year!

Wishing you all a Total Quality New Year! Total Qualty Management and Sx Sgma Post Graduate Program 214-15 Sesson 4 Vnay Kumar Kalakband Assstant Professor Operatons & Systems Area 1 Wshng you all a Total Qualty New Year! Hope you acheve Sx sgma

More information

Setup and Use. For events not using AuctionMaestro Pro. Version /7/2013

Setup and Use. For events not using AuctionMaestro Pro. Version /7/2013 Verson 3.1.2 2/7/2013 Setup and Use For events not usng AuctonMaestro Pro MaestroSoft, Inc. 1750 112th Avenue NE, Sute A200, Bellevue, WA 98004 425.688.0809 / 800.438.6498 Fax: 425.688.0999 www.maestrosoft.com

More information

Intro. Iterators. 1. Access

Intro. Iterators. 1. Access Intro Ths mornng I d lke to talk a lttle bt about s and s. We wll start out wth smlartes and dfferences, then we wll see how to draw them n envronment dagrams, and we wll fnsh wth some examples. Happy

More information

CHARUTAR VIDYA MANDAL S SEMCOM Vallabh Vidyanagar

CHARUTAR VIDYA MANDAL S SEMCOM Vallabh Vidyanagar CHARUTAR VIDYA MANDAL S SEMCOM Vallabh Vdyanagar Faculty Name: Am D. Trved Class: SYBCA Subject: US03CBCA03 (Advanced Data & Fle Structure) *UNIT 1 (ARRAYS AND TREES) **INTRODUCTION TO ARRAYS If we want

More information

The Codesign Challenge

The Codesign Challenge ECE 4530 Codesgn Challenge Fall 2007 Hardware/Software Codesgn The Codesgn Challenge Objectves In the codesgn challenge, your task s to accelerate a gven software reference mplementaton as fast as possble.

More information

Run-Time Operator State Spilling for Memory Intensive Long-Running Queries

Run-Time Operator State Spilling for Memory Intensive Long-Running Queries Run-Tme Operator State Spllng for Memory Intensve Long-Runnng Queres Bn Lu, Yal Zhu, and lke A. Rundenstener epartment of Computer Scence, Worcester Polytechnc Insttute Worcester, Massachusetts, USA {bnlu,

More information

ANSYS FLUENT 12.1 in Workbench User s Guide

ANSYS FLUENT 12.1 in Workbench User s Guide ANSYS FLUENT 12.1 n Workbench User s Gude October 2009 Copyrght c 2009 by ANSYS, Inc. All Rghts Reserved. No part of ths document may be reproduced or otherwse used n any form wthout express wrtten permsson

More information

Model Integrated Computing: A Framework for Creating Domain Specific Design Environments

Model Integrated Computing: A Framework for Creating Domain Specific Design Environments Model Integrated Computng: A Framework for Creatng Doman Specfc Desgn Envronments James R. DAVIS Vanderblt Unversty, Insttute for Software Integrated Systems Nashvlle, TN 37203, USA ABSTRACT Model Integrated

More information

Support Vector Machines

Support Vector Machines /9/207 MIST.6060 Busness Intellgence and Data Mnng What are Support Vector Machnes? Support Vector Machnes Support Vector Machnes (SVMs) are supervsed learnng technques that analyze data and recognze patterns.

More information

Complex Numbers. Now we also saw that if a and b were both positive then ab = a b. For a second let s forget that restriction and do the following.

Complex Numbers. Now we also saw that if a and b were both positive then ab = a b. For a second let s forget that restriction and do the following. Complex Numbers The last topc n ths secton s not really related to most of what we ve done n ths chapter, although t s somewhat related to the radcals secton as we wll see. We also won t need the materal

More information

Parallelism for Nested Loops with Non-uniform and Flow Dependences

Parallelism for Nested Loops with Non-uniform and Flow Dependences Parallelsm for Nested Loops wth Non-unform and Flow Dependences Sam-Jn Jeong Dept. of Informaton & Communcaton Engneerng, Cheonan Unversty, 5, Anseo-dong, Cheonan, Chungnam, 330-80, Korea. seong@cheonan.ac.kr

More information

Load Balancing for Hex-Cell Interconnection Network

Load Balancing for Hex-Cell Interconnection Network Int. J. Communcatons, Network and System Scences,,, - Publshed Onlne Aprl n ScRes. http://www.scrp.org/journal/jcns http://dx.do.org/./jcns.. Load Balancng for Hex-Cell Interconnecton Network Saher Manaseer,

More information

Tsinghua University at TAC 2009: Summarizing Multi-documents by Information Distance

Tsinghua University at TAC 2009: Summarizing Multi-documents by Information Distance Tsnghua Unversty at TAC 2009: Summarzng Mult-documents by Informaton Dstance Chong Long, Mnle Huang, Xaoyan Zhu State Key Laboratory of Intellgent Technology and Systems, Tsnghua Natonal Laboratory for

More information

BITPLANE AG IMARISCOLOC. Operating Instructions. Manual Version 1.0 January the image revolution starts here.

BITPLANE AG IMARISCOLOC. Operating Instructions. Manual Version 1.0 January the image revolution starts here. BITPLANE AG IMARISCOLOC Operatng Instructons Manual Verson 1.0 January 2003 the mage revoluton starts here. Operatng Instructons BITPLANE AG Copyrght Ths document contans propretary nformaton protected

More information

ETAtouch RESTful Webservices

ETAtouch RESTful Webservices ETAtouch RESTful Webservces Verson 1.1 November 8, 2012 Contents 1 Introducton 3 2 The resource /user/ap 6 2.1 HTTP GET................................... 6 2.2 HTTP POST..................................

More information

ELEC 377 Operating Systems. Week 6 Class 3

ELEC 377 Operating Systems. Week 6 Class 3 ELEC 377 Operatng Systems Week 6 Class 3 Last Class Memory Management Memory Pagng Pagng Structure ELEC 377 Operatng Systems Today Pagng Szes Vrtual Memory Concept Demand Pagng ELEC 377 Operatng Systems

More information

Module Management Tool in Software Development Organizations

Module Management Tool in Software Development Organizations Journal of Computer Scence (5): 8-, 7 ISSN 59-66 7 Scence Publcatons Management Tool n Software Development Organzatons Ahmad A. Al-Rababah and Mohammad A. Al-Rababah Faculty of IT, Al-Ahlyyah Amman Unversty,

More information

EECS 730 Introduction to Bioinformatics Sequence Alignment. Luke Huan Electrical Engineering and Computer Science

EECS 730 Introduction to Bioinformatics Sequence Alignment. Luke Huan Electrical Engineering and Computer Science EECS 730 Introducton to Bonformatcs Sequence Algnment Luke Huan Electrcal Engneerng and Computer Scence http://people.eecs.ku.edu/~huan/ HMM Π s a set of states Transton Probabltes a kl Pr( l 1 k Probablty

More information

A RECONFIGURABLE ARCHITECTURE FOR MULTI-GIGABIT SPEED CONTENT-BASED ROUTING. James Moscola, Young H. Cho, John W. Lockwood

A RECONFIGURABLE ARCHITECTURE FOR MULTI-GIGABIT SPEED CONTENT-BASED ROUTING. James Moscola, Young H. Cho, John W. Lockwood A RECONFIGURABLE ARCHITECTURE FOR MULTI-GIGABIT SPEED CONTENT-BASED ROUTING James Moscola, Young H. Cho, John W. Lockwood Dept. of Computer Scence and Engneerng Washngton Unversty, St. Lous, MO {jmm5,

More information

11. HARMS How To: CSV Import

11. HARMS How To: CSV Import and Rsk System 11. How To: CSV Import Preparng the spreadsheet for CSV Import Refer to the spreadsheet template to ad algnng spreadsheet columns wth Data Felds. The spreadsheet s shown n the Appendx, an

More information

Course Introduction. Algorithm 8/31/2017. COSC 320 Advanced Data Structures and Algorithms. COSC 320 Advanced Data Structures and Algorithms

Course Introduction. Algorithm 8/31/2017. COSC 320 Advanced Data Structures and Algorithms. COSC 320 Advanced Data Structures and Algorithms Course Introducton Course Topcs Exams, abs, Proects A quc loo at a few algorthms 1 Advanced Data Structures and Algorthms Descrpton: We are gong to dscuss algorthm complexty analyss, algorthm desgn technques

More information

Transaction-Consistent Global Checkpoints in a Distributed Database System

Transaction-Consistent Global Checkpoints in a Distributed Database System Proceedngs of the World Congress on Engneerng 2008 Vol I Transacton-Consstent Global Checkponts n a Dstrbuted Database System Jang Wu, D. Manvannan and Bhavan Thurasngham Abstract Checkpontng and rollback

More information

Hermite Splines in Lie Groups as Products of Geodesics

Hermite Splines in Lie Groups as Products of Geodesics Hermte Splnes n Le Groups as Products of Geodescs Ethan Eade Updated May 28, 2017 1 Introducton 1.1 Goal Ths document defnes a curve n the Le group G parametrzed by tme and by structural parameters n the

More information

DLK Pro the all-rounder for mobile data downloading. Tailor-made for various requirements.

DLK Pro the all-rounder for mobile data downloading. Tailor-made for various requirements. DLK Pro the all-rounder for moble data downloadng Talor-made for varous requrements www.dtco.vdo.com Smply brllant, brllantly smple Always the rght soluton The DLK Pro s the VDO product famly, whch sets

More information

Concurrent models of computation for embedded software

Concurrent models of computation for embedded software Concurrent models of computaton for embedded software and hardware! Researcher overvew what t looks lke semantcs what t means and how t relates desgnng an actor language actor propertes and how to represent

More information

FIBARO WALL PLUG OPERATING MANUAL FGBWHWPE-102/FGBWHWPF-102 CONTENTS

FIBARO WALL PLUG OPERATING MANUAL FGBWHWPE-102/FGBWHWPF-102 CONTENTS OPERATING MANUAL EN FIBARO WALL PLUG FGBWHWPE-102/FGBWHWPF-102 CONTENTS #1: Descrpton and features 3 #2: Parng the accessory 4 #3: Reset 5 #4: Functonalty 6 v1.0 #5: W-F 8 #6: Confgurable parameters 9

More information

Data Representation in Digital Design, a Single Conversion Equation and a Formal Languages Approach

Data Representation in Digital Design, a Single Conversion Equation and a Formal Languages Approach Data Representaton n Dgtal Desgn, a Sngle Converson Equaton and a Formal Languages Approach Hassan Farhat Unversty of Nebraska at Omaha Abstract- In the study of data representaton n dgtal desgn and computer

More information

Active Contours/Snakes

Active Contours/Snakes Actve Contours/Snakes Erkut Erdem Acknowledgement: The sldes are adapted from the sldes prepared by K. Grauman of Unversty of Texas at Austn Fttng: Edges vs. boundares Edges useful sgnal to ndcate occludng

More information

FROG and TURTLE: Visual Bridges Between Files and Object-Oriented Data y

FROG and TURTLE: Visual Bridges Between Files and Object-Oriented Data y FROG and TURTLE: Vsual Brdges Between Fles and Object-Orented Data y Vashnav Anjur Yanns E. Ioannds z Mron Lvny Department of Computer Scences, Unversty of Wsconsn, Madson, WI 53706 fvash,yanns,mrong@cs.wsc.edu

More information

User Manual SAPERION Web Client 7.1

User Manual SAPERION Web Client 7.1 User Manual SAPERION Web Clent 7.1 Copyrght 2016 Lexmark. All rghts reserved. Lexmark s a trademark of Lexmark Internatonal, Inc., regstered n the U.S. and/or other countres. All other trademarks are the

More information

Simulation Based Analysis of FAST TCP using OMNET++

Simulation Based Analysis of FAST TCP using OMNET++ Smulaton Based Analyss of FAST TCP usng OMNET++ Umar ul Hassan 04030038@lums.edu.pk Md Term Report CS678 Topcs n Internet Research Sprng, 2006 Introducton Internet traffc s doublng roughly every 3 months

More information

SENSITIVITY ANALYSIS IN LINEAR PROGRAMMING USING A CALCULATOR

SENSITIVITY ANALYSIS IN LINEAR PROGRAMMING USING A CALCULATOR SENSITIVITY ANALYSIS IN LINEAR PROGRAMMING USING A CALCULATOR Judth Aronow Rchard Jarvnen Independent Consultant Dept of Math/Stat 559 Frost Wnona State Unversty Beaumont, TX 7776 Wnona, MN 55987 aronowju@hal.lamar.edu

More information

High level vs Low Level. What is a Computer Program? What does gcc do for you? Program = Instructions + Data. Basic Computer Organization

High level vs Low Level. What is a Computer Program? What does gcc do for you? Program = Instructions + Data. Basic Computer Organization What s a Computer Program? Descrpton of algorthms and data structures to acheve a specfc ojectve Could e done n any language, even a natural language lke Englsh Programmng language: A Standard notaton

More information

Problem Set 3 Solutions

Problem Set 3 Solutions Introducton to Algorthms October 4, 2002 Massachusetts Insttute of Technology 6046J/18410J Professors Erk Demane and Shaf Goldwasser Handout 14 Problem Set 3 Solutons (Exercses were not to be turned n,

More information

USING GRAPHING SKILLS

USING GRAPHING SKILLS Name: BOLOGY: Date: _ Class: USNG GRAPHNG SKLLS NTRODUCTON: Recorded data can be plotted on a graph. A graph s a pctoral representaton of nformaton recorded n a data table. t s used to show a relatonshp

More information

PHYSICS-ENHANCED L-SYSTEMS

PHYSICS-ENHANCED L-SYSTEMS PHYSICS-ENHANCED L-SYSTEMS Hansrud Noser 1, Stephan Rudolph 2, Peter Stuck 1 1 Department of Informatcs Unversty of Zurch, Wnterthurerstr. 190 CH-8057 Zurch Swtzerland noser(stuck)@f.unzh.ch, http://www.f.unzh.ch/~noser(~stuck)

More information

Sequential search. Building Java Programs Chapter 13. Sequential search. Sequential search

Sequential search. Building Java Programs Chapter 13. Sequential search. Sequential search Sequental search Buldng Java Programs Chapter 13 Searchng and Sortng sequental search: Locates a target value n an array/lst by examnng each element from start to fnsh. How many elements wll t need to

More information

Improvement of Spatial Resolution Using BlockMatching Based Motion Estimation and Frame. Integration

Improvement of Spatial Resolution Using BlockMatching Based Motion Estimation and Frame. Integration Improvement of Spatal Resoluton Usng BlockMatchng Based Moton Estmaton and Frame Integraton Danya Suga and Takayuk Hamamoto Graduate School of Engneerng, Tokyo Unversty of Scence, 6-3-1, Nuku, Katsuska-ku,

More information

PYTHON IMPLEMENTATION OF VISUAL SECRET SHARING SCHEMES

PYTHON IMPLEMENTATION OF VISUAL SECRET SHARING SCHEMES PYTHON IMPLEMENTATION OF VISUAL SECRET SHARING SCHEMES Ruxandra Olmd Faculty of Mathematcs and Computer Scence, Unversty of Bucharest Emal: ruxandra.olmd@fm.unbuc.ro Abstract Vsual secret sharng schemes

More information

Mathematics 256 a course in differential equations for engineering students

Mathematics 256 a course in differential equations for engineering students Mathematcs 56 a course n dfferental equatons for engneerng students Chapter 5. More effcent methods of numercal soluton Euler s method s qute neffcent. Because the error s essentally proportonal to the

More information

Synthesizer 1.0. User s Guide. A Varying Coefficient Meta. nalytic Tool. Z. Krizan Employing Microsoft Excel 2007

Synthesizer 1.0. User s Guide. A Varying Coefficient Meta. nalytic Tool. Z. Krizan Employing Microsoft Excel 2007 Syntheszer 1.0 A Varyng Coeffcent Meta Meta-Analytc nalytc Tool Employng Mcrosoft Excel 007.38.17.5 User s Gude Z. Krzan 009 Table of Contents 1. Introducton and Acknowledgments 3. Operatonal Functons

More information

9. BASIC programming: Control and Repetition

9. BASIC programming: Control and Repetition Am: In ths lesson, you wll learn: H. 9. BASIC programmng: Control and Repetton Scenaro: Moz s showng how some nterestng patterns can be generated usng math. Jyot [after seeng the nterestng graphcs]: Usng

More information

CE 221 Data Structures and Algorithms

CE 221 Data Structures and Algorithms CE 1 ata Structures and Algorthms Chapter 4: Trees BST Text: Read Wess, 4.3 Izmr Unversty of Economcs 1 The Search Tree AT Bnary Search Trees An mportant applcaton of bnary trees s n searchng. Let us assume

More information

Lecture 5: Multilayer Perceptrons

Lecture 5: Multilayer Perceptrons Lecture 5: Multlayer Perceptrons Roger Grosse 1 Introducton So far, we ve only talked about lnear models: lnear regresson and lnear bnary classfers. We noted that there are functons that can t be represented

More information

A Unified Framework for Semantics and Feature Based Relevance Feedback in Image Retrieval Systems

A Unified Framework for Semantics and Feature Based Relevance Feedback in Image Retrieval Systems A Unfed Framework for Semantcs and Feature Based Relevance Feedback n Image Retreval Systems Ye Lu *, Chunhu Hu 2, Xngquan Zhu 3*, HongJang Zhang 2, Qang Yang * School of Computng Scence Smon Fraser Unversty

More information

Advanced Computer Networks

Advanced Computer Networks Char of Network Archtectures and Servces Department of Informatcs Techncal Unversty of Munch Note: Durng the attendance check a stcker contanng a unque QR code wll be put on ths exam. Ths QR code contans

More information

User Authentication Based On Behavioral Mouse Dynamics Biometrics

User Authentication Based On Behavioral Mouse Dynamics Biometrics User Authentcaton Based On Behavoral Mouse Dynamcs Bometrcs Chee-Hyung Yoon Danel Donghyun Km Department of Computer Scence Department of Computer Scence Stanford Unversty Stanford Unversty Stanford, CA

More information

Analysis of Continuous Beams in General

Analysis of Continuous Beams in General Analyss of Contnuous Beams n General Contnuous beams consdered here are prsmatc, rgdly connected to each beam segment and supported at varous ponts along the beam. onts are selected at ponts of support,

More information

Lobachevsky State University of Nizhni Novgorod. Polyhedron. Quick Start Guide

Lobachevsky State University of Nizhni Novgorod. Polyhedron. Quick Start Guide Lobachevsky State Unversty of Nzhn Novgorod Polyhedron Quck Start Gude Nzhn Novgorod 2016 Contents Specfcaton of Polyhedron software... 3 Theoretcal background... 4 1. Interface of Polyhedron... 6 1.1.

More information

VISUAL SELECTION OF SURFACE FEATURES DURING THEIR GEOMETRIC SIMULATION WITH THE HELP OF COMPUTER TECHNOLOGIES

VISUAL SELECTION OF SURFACE FEATURES DURING THEIR GEOMETRIC SIMULATION WITH THE HELP OF COMPUTER TECHNOLOGIES UbCC 2011, Volume 6, 5002981-x manuscrpts OPEN ACCES UbCC Journal ISSN 1992-8424 www.ubcc.org VISUAL SELECTION OF SURFACE FEATURES DURING THEIR GEOMETRIC SIMULATION WITH THE HELP OF COMPUTER TECHNOLOGIES

More information

A Taste of Java and Object-Oriented Programming

A Taste of Java and Object-Oriented Programming Introducn Computer Scence Shm Schocken IDC Herzlya Lecture 1-2: Lecture 1-2: A Taste Java Object-Orented Programmng A Taste Java OO programmng, Shm Schocken, IDC Herzlya, www.ntro2cs.com slde 1 Lecture

More information

Guidelines for Developing Effective Slide Presentations

Guidelines for Developing Effective Slide Presentations Gudelnes for Developng Effectve Slde Presentatons Most presentatons consst of three man components: Content Vsuals Delvery Content Know your materal. No matter how great your presentaton looks, nothng

More information

Alufix Expert D Design Software #85344

Alufix Expert D Design Software #85344 238 ALUFIX SOFTWARE Alufx Expert 2014 3D Desgn Software #85344 Alufx Expert software makes automatc desgns for fxtures wth correspondng partlsts. You choose the system and defne clampng ponts. The software

More information

Ontology Generator from Relational Database Based on Jena

Ontology Generator from Relational Database Based on Jena Computer and Informaton Scence Vol. 3, No. 2; May 2010 Ontology Generator from Relatonal Database Based on Jena Shufeng Zhou (Correspondng author) College of Mathematcs Scence, Laocheng Unversty No.34

More information

Real-time Motion Capture System Using One Video Camera Based on Color and Edge Distribution

Real-time Motion Capture System Using One Video Camera Based on Color and Edge Distribution Real-tme Moton Capture System Usng One Vdeo Camera Based on Color and Edge Dstrbuton YOSHIAKI AKAZAWA, YOSHIHIRO OKADA, AND KOICHI NIIJIMA Graduate School of Informaton Scence and Electrcal Engneerng,

More information

Evaluation of an Enhanced Scheme for High-level Nested Network Mobility

Evaluation of an Enhanced Scheme for High-level Nested Network Mobility IJCSNS Internatonal Journal of Computer Scence and Network Securty, VOL.15 No.10, October 2015 1 Evaluaton of an Enhanced Scheme for Hgh-level Nested Network Moblty Mohammed Babker Al Mohammed, Asha Hassan.

More information

R s s f. m y s. SPH3UW Unit 7.3 Spherical Concave Mirrors Page 1 of 12. Notes

R s s f. m y s. SPH3UW Unit 7.3 Spherical Concave Mirrors Page 1 of 12. Notes SPH3UW Unt 7.3 Sphercal Concave Mrrors Page 1 of 1 Notes Physcs Tool box Concave Mrror If the reflectng surface takes place on the nner surface of the sphercal shape so that the centre of the mrror bulges

More information

Parallel matrix-vector multiplication

Parallel matrix-vector multiplication Appendx A Parallel matrx-vector multplcaton The reduced transton matrx of the three-dmensonal cage model for gel electrophoress, descrbed n secton 3.2, becomes excessvely large for polymer lengths more

More information

user journey: a series of steps (typically 4-12) which represent a scenario in which a user might interact with the thing you are designing.

user journey: a series of steps (typically 4-12) which represent a scenario in which a user might interact with the thing you are designing. Topc Dscovery user journey: a seres of steps (typcally 4-12) whch represent a scenaro n whch a user mght nteract wth the thng you are desgnng. Two (2) man uses: 1. demonstratng the way users currently

More information

CSc 520 Principles of Programming Languages. Example Language Translators. What s a Language Translator??? 2: Translators

CSc 520 Principles of Programming Languages. Example Language Translators. What s a Language Translator??? 2: Translators What s a Compler??? Sprng 2005 2 CSc 520 Prncples of Programmng Languages 2: Translators Chrstan Collberg collberg@cs.arzona.edu Department of Computer Scence Unversty of Arzona Copyrght c 2004 Chrstan

More information

AADL : about scheduling analysis

AADL : about scheduling analysis AADL : about schedulng analyss Schedulng analyss, what s t? Embedded real-tme crtcal systems have temporal constrants to meet (e.g. deadlne). Many systems are bult wth operatng systems provdng multtaskng

More information

Compiling Process Networks to Interaction Nets

Compiling Process Networks to Interaction Nets Complng Process Networks to Interacton Nets Ian Macke LIX, CNRS UMR 7161, École Polytechnque, 91128 Palaseau Cede, France Kahn process networks are a model of computaton based on a collecton of sequental,

More information

UB at GeoCLEF Department of Geography Abstract

UB at GeoCLEF Department of Geography   Abstract UB at GeoCLEF 2006 Mguel E. Ruz (1), Stuart Shapro (2), June Abbas (1), Slva B. Southwck (1) and Davd Mark (3) State Unversty of New York at Buffalo (1) Department of Lbrary and Informaton Studes (2) Department

More information

Meta-heuristics for Multidimensional Knapsack Problems

Meta-heuristics for Multidimensional Knapsack Problems 2012 4th Internatonal Conference on Computer Research and Development IPCSIT vol.39 (2012) (2012) IACSIT Press, Sngapore Meta-heurstcs for Multdmensonal Knapsack Problems Zhbao Man + Computer Scence Department,

More information

Virtual Machine Migration based on Trust Measurement of Computer Node

Virtual Machine Migration based on Trust Measurement of Computer Node Appled Mechancs and Materals Onlne: 2014-04-04 ISSN: 1662-7482, Vols. 536-537, pp 678-682 do:10.4028/www.scentfc.net/amm.536-537.678 2014 Trans Tech Publcatons, Swtzerland Vrtual Machne Mgraton based on

More information

Parallel Branch and Bound Algorithm - A comparison between serial, OpenMP and MPI implementations

Parallel Branch and Bound Algorithm - A comparison between serial, OpenMP and MPI implementations Journal of Physcs: Conference Seres Parallel Branch and Bound Algorthm - A comparson between seral, OpenMP and MPI mplementatons To cte ths artcle: Luco Barreto and Mchael Bauer 2010 J. Phys.: Conf. Ser.

More information

T3 (IP) Classic connected to Integral 5

T3 (IP) Classic connected to Integral 5 IP Telephony Contact Centers Moblty Servces T3 (IP) Classc connected to Integral 5 Benutzerhandbuch User s gude Manual de usuaro Manuel utlsateur Manuale d uso Gebrukersdocumentate Contents Contents...

More information

AP PHYSICS B 2008 SCORING GUIDELINES

AP PHYSICS B 2008 SCORING GUIDELINES AP PHYSICS B 2008 SCORING GUIDELINES General Notes About 2008 AP Physcs Scorng Gudelnes 1. The solutons contan the most common method of solvng the free-response questons and the allocaton of ponts for

More information

Review of approximation techniques

Review of approximation techniques CHAPTER 2 Revew of appromaton technques 2. Introducton Optmzaton problems n engneerng desgn are characterzed by the followng assocated features: the objectve functon and constrants are mplct functons evaluated

More information

Classifying Acoustic Transient Signals Using Artificial Intelligence

Classifying Acoustic Transient Signals Using Artificial Intelligence Classfyng Acoustc Transent Sgnals Usng Artfcal Intellgence Steve Sutton, Unversty of North Carolna At Wlmngton (suttons@charter.net) Greg Huff, Unversty of North Carolna At Wlmngton (jgh7476@uncwl.edu)

More information

TWO DIAGNOSTIC MODELS FOR PLC CONTROLLED FLEXIBLE MANUFACTURING SYSTEMS. W. HU*, A. G. STARR* and A. Y. T. LEUNG*

TWO DIAGNOSTIC MODELS FOR PLC CONTROLLED FLEXIBLE MANUFACTURING SYSTEMS. W. HU*, A. G. STARR* and A. Y. T. LEUNG* TWO DIAGNOSTIC MODELS FOR PLC CONTROLLED FLEXIBLE MANUFACTURING SYSTEMS W. HU*, A. G. STARR* and A. Y. T. LEUNG* * Manchester School of Engneerng, The Unversty of Manchester, Manchester M13 9PL, UK To

More information