A SUIF Interface Module for Eli. W. M. Waite. University of Colorado
|
|
- Shauna Turner
- 6 years ago
- Views:
Transcription
1 A SUIF Interace Module or Eli W. M. Waite Department o Electrical and Computer Enineerin University o Colorado William.Waite@Colorado.edu 1 What is Eli? Eli [2] is a domain-specic prorammin environment or lanuae and translator development. It embodies the standard decomposition o the translation process ound in any text on compiler construction [1,6]. An Eli user is invited to describe the characteristics o their problem in terms o this decomposition. The environment then creates C code to solve the problem described. That enerated code, which is completely independent o Eli, can be compiled by either a C or a C++ compiler and linked with other modules i desired. Most o the sub-problem descriptions are static - they describe relationships that hold amon items o inormation in various parts o a proram. For example, in most lanuaes the type o value resultin rom a dyadic operator is related to the operator indication (what the author o the proram wrote) and the types o values supplied as operands. This relationship is a static property o prorams in the iven lanuae, and can be described without statin an alorithm or operator identication [6]. Sinicant leverae can oten be ained by writin the description o a problem in a lanuae specic to that class o problem. Describin a parsin problem in terms o a context-ree rammar is a technique that has been used or many years, and one has only to look at the early literature on expression analysis [5] to et an idea o the simplication in that case. Context-ree rammars are used to describe the phrase structure o a lanuae to Eli, and reular expressions are used to describe the lexical structure o the non-literal terminal symbols appearin in that rammar. Problem-oriented lanuaes are also used to describe computations over trees, storae o entities and their properties, and production o output text. At rst lance, the use o a variety o lanuaes simply makes Eli harder to learn. The payo, however, is sinicant. For example, most o the interestin tasks o any lanuae processor involve computations over trees. A description o such a computation in a prorammin lanuae embodies relationships amon values at various nodes in the tree, a traversal alorithm, and the necessary intermediate storae. I an attribute rammar is used or the description, however, only the relationships amon values need be described - the traversal alorithm and intermediate storae requirements can be deduced rom those relationships [7]. Experience shows that hand-coded tree computations have a larer investment in the traversal alorithm and intermediate storae manaement than in the computation o the relationships. This investment is not only in the code itsel, but in the desin as well. Such alorithms are hard to et riht in the rst place, and even harder to maintain, but they are really only scaoldin or determinin the relevant values. The leverae ained rom bein able to simply inore that scaoldin is obvious. 1
2 Avoidin the need to speciy tree traversal and intermediate storae manaement not only reduces the conitive load on both implementers and readers, but supports decomposition o the specication into modules [3]. Many o the values o interest when analyzin a proram depend only slihtly on each other. For example, a compiler uses scope rules to relate uses o identiers to their denitions. That inormation allows it to determine the types o values represented by the leaves o an expression. It can then use the denitions o operators to nd what type o value is represented by every expression. The computation o expression types is quite distinct rom the computation implementin the scope rules; the ormer depends upon the result o the latter, but the detailed relationships involved are independent o one another. Not only can sets o relationships be made independent o one another, they can also be made independent o the detailed structure o the tree. Thus common computations, like the ones implementin scope rules, can be placed in libraries and reused or a variety o applications. In addition, specications or distinct subtasks can be used as buildin blocks to create a variety o processors. Eli has been in the eld or six years, and has been used to implement both special purpose lanuaes and special processors or mainstream lanuaes. The library currently contains specication modules or many o the common tree computations, and or several subtasks o processors or C and FORTRAN. For example, there are modules describin the structurin tasks or C, FORTRAN 77, FORTRAN 90 and HPF, and modules describin the symbol properties o C and FORTRAN 77. These modules have been used to implement processors that extract metrics rom C prorams, produce HTML representations o C prorams in which symbol uses reer to denitions, and convert VMS FORTRAN to RS6000 FORTRAN. Modules describin SUIF and DEC Alpha assembly lanuae are also available. The ormer has been used to produce SUIF representations o FORTRAN 77 prorams, and the latter in an experimental processor that creates symbolic debuers rom lanuae specications. 2 What does the SUIF interace module look like? The eneral orm o the SUIF interace module is a reerence manual or SUIF itsel. Eli specications are enerally written usin the \literate prorammin" style [4], which mixes descriptive text with the ormal notation to provide a document that can easily be read by humans. Our primary purpose in usin this style is to match the specication to other descriptions o what's bein specied, so that its correctness and completeness is easily determined. Three aspects o SUIF must be described by the Eli interace specication: Process control is the aspect involvin initialization o the SUIF library, creation o les in a le set, and output o each SUIF-coded procedure. Data representation provides primitives and ormation rules or describin data structure, and action representation provides primitives and ormation rules or describin control structure. The interace specication simply exports names that can be used in speciyin relationships involvin these aspects. Sinle identiers must be used to denote the types o values that are related in the tree. Because SUIF is implemented in C++, many SUIF entities are represented by pointer types denoted with leadin asterisks. The SUIF interace module uses C typede statements to provide sinle identiers or these types. These typede statements appear in sections o the specication describin the SUIF types and their purpose, and can thereore easily be checked aainst other descriptions o SUIF. Relationships amon values that are more complex than simple identity are expressed in Eli by unction application. SUIF denotes some o these relationships as method calls, which the interace module must 2
3 \packae" as unction application. In some cases, this is easily done via a #dene directive appearin in the section o the specication describin the correspondin ormation rule. In others, however, an interace procedure must be dened. Fiure 1 shows a rament o the denition as an approximation o the way it appears when printed. There are three macros shown in Fiure 1, and these are raments o the actual specication. The third o these macros illustrates use o a typede to provide a sinle identier or the proc symtab * type, while the rst and second packae the method call that creates a new procedure scope. Two specications are needed or this purpose because the packain involves both a C le and a header le. The SUIF interace module or Eli simply makes SUIF operations and data types available or use in other modules. The module is invoked by mentionin its name as one o the specications needed or a particular processor. It is up to some other module to use the operations dened by the SUIF interace module to actually produce SUIF. 3 How is the interace module used? The SUIF interace module is used by mentionin the data types and operations that it makes available in describin relations amon values at nodes in a tree describin the proram. For example, Fiure 2 shows how the interace procedures o Fiure 1 are used to create procedure scopes or FORTRAN proram units. In each case the created scope is attached to the node o the abstract syntax tree as an attribute called suiscope. This attribute can be reerred to anywhere in the body o the proram unit by INCLUDING xproramunit.suiscope, and Eli will uarantee that the value has been computed beore it is used. Thus there is no need or the user to think about how (or whether) to distribute the value to AST nodes, or when the use should be computed. Eli enerates a C++ proram rom the collection o specications it was iven. The enerated proram uses types and invokes methods that are exported by the SUIF library. Thus the list o specications made available to Eli must include the name o the SUIF library on the machine bein used. 4 Benets Eli specications are easy to create and maintain, and there is a rowin set o such specications or common lanuaes. The SUIF interace module thus simplies use o SUIF with a variety o input lanuaes, and also makes additional annotations based on special source proram analyses relatively cheap to create. Extensions o existin source can be dened readily by chanin existin specication modules, and these extensions expressed in SUIF by describin the relationships they enender amon components o a SUIF proram. Because the structure o the SUIF interace module is identical to that o the SUIF denition, it is easy to veriy that the module is correct. Also, as the SUIF denition itsel chanes, those chanes can be easily reected in the interace module. The result is that the Eli specication is much easier to maintain than an implementation written in C++. Use o an Eli specication involves no systematic loss in perormance, and in act one usually sees a ain in perormance vis{vis a hand-coded implementation durin maintenance. The reason is that chanes made in the set o relationships amon values at tree nodes oten results in a chane in the optimum traversal stratey and/or the manaement o intermediate results. With an Eli specication, the system will automatically adjust these, but the author o a hand-coded implementation usually has too 3
4 A procedure scope is created by invokin the NewProcedureScope operation, ivin the parent scope and a name describin the created scope as aruments. Normally the name iven is the name o the procedure with which the scope is associated. It is important to note that SUIF provides no connection between a procedure scope and a procedure. The user may interpret the name as a connection, but any use o that connection must be provided by user code and is not supported by the SUIF data structure. Procedure scope[8] proc_symtab * NewProcedureScope(lobal_symtab *s, char *n) { proc_symtab *t = new proc_symtab(n); s->add_child(t); return t; } proc_symtab * NewProcedureScope(ile_symtab *s, char *n) { proc_symtab *t = new proc_symtab(n); s->add_child(t); return t; } This macro is invoked in denition 53. Interace procedure prototypes[9] extern proc_symtab *NewProcedureScope(lobal_symtab *s, char *n); extern proc_symtab *NewProcedureScope(ile_symtab *s, char *n); This macro is dened in denitions 9 and 12. This macro is invoked in denition 54. The type proc symtab * must be dened as an identier to make it acceptable in an Eli specication: LIDO representations o C++ types[10] typede proc_symtab *ProcedureScope; #deine NoProcedureScope ((proc_symtab *)0) This macro is dened in denitions 7, 10, 13, 15, 23, and 27. This macro is invoked in denition 54. Fiure 1: A Specication Frament 4
5 An executable proram as a scope or symbolic names is embodied in a SuiFileSet object, while both proram units and statement unctions are embodied in SuiProcedures. The implied-do in a DATA statement is executed by the translator and thus does not appear in the SUIF proram. Each proram unit is a procedure that denes a scope. The names and types o the procedures must be derived rom context: Scope and Classes o Symbolic Names[15] SYMBOL xproramunit: suiscope: ProcedureScope; SYMBOL xproramunit SYNT.suiscope=NoProcedureScope; RULE: xproramunit ::= xlblde 'subroutine' xsubroutinename xsubproramrane xproramunit.suiscope= NewProcedureScope(GlobalScope,StrinTable(xSubroutineName.Sym)); RULE: xproramunit ::= xlblde xfunctionpreix xfunctionname xsubproramrane xproramunit.suiscope= NewProcedureScope(GlobalScope,StrinTable(xFunctionName.Sym)); RULE: xproramunit ::= xmainrane xproramunit.suiscope=newprocedurescope(globalscope,"main "); RULE: xproramunit ::= xproramstmt xmainrane xproramunit.suiscope=newprocedurescope(globalscope,"main "); This macro is dened in denitions 15 and 16. This macro is invoked in denition 19. Fiure 2: Creatin Scopes or FORTRAN Proram units 5
6 much invested in them to make any chanes. The result is that there is a steady deradation o perormance with time in a hand-coded implementation but not in the enerated processor. 5 Availability The SUIF interace module and the module that converts FORTRAN 77 to SUIF are both available with Eli 4.0. This version o the system is due or release in January, 1996 and is available or beta test by interested parties. Further inormation about Eli can be ound on the World-Wide Web at URL \ eliuser/". 6 Reerences 1. Aho, A. V., Sethi, R. & Ullman, J. D., Compilers, Addison Wesley, Readin, MA, Gray, R. W., Heurin, V. P., Levi, S. P., Sloane, A. M. & Waite, W. M., \Eli: A Complete, Flexible Compiler Construction System," Communications o the ACM 35 (February 1992), 121{ Kastens, U. & Waite, W. M., \Modularity and Reusability in Attribute Grammars," Acta Inormatica 31 (1994), 601{ Knuth, D. E., \Literate Prorammin," The Computer Journal 27 (1984), 97{ Sheridan, P. B., \The FORTRAN Arithmetic-Compiler o the IBM FORTRAN Automatic Codin System," Communications o the ACM 2 (February 1959), 9{. 6. Waite, W. M. & Carter, L. R., An Introduction to Compiler Construction, HarperCollins, New York, Waite, W. M. & Goos, G., Compiler Construction, Spriner Verla, New York, NY,
Status. We ll do code generation first... Outline
Status Run-time Environments Lecture 11 We have covered the ront-end phases Lexical analysis Parsin Semantic analysis Next are the back-end phases Optimization Code eneration We ll do code eneration irst...
More informationRE2C { A More Versatile Scanner Generator. Peter Bumbulis Donald D. Cowan. University of Waterloo. April 15, Abstract
RE2C { A More Versatile Scanner Generator Peter Bumbulis Donald D. Cowan Computer Science Department and Computer Systems Group University o Waterloo April 15, 1994 Abstract It is usually claimed that
More informationClient Host. Server Host. Registry. Client Object. Server. Remote Object. Stub. Skeleton
Compiler support or an RMI implementation usin NexusJava Fabian Bre Dennis Gannon December 16, 1997 1 Introduction Java [7] is a portable, object oriented prorammin lanuae. Its portability is obtained
More informationConstruction of Application Generators Using Eli. Uwe Kastens, University of Paderborn, FRG. Abstract
Construction of Application Generators Using Eli Uwe Kastens, University of Paderborn, FRG Abstract Application generators are a powerful means for reuse of software design. They produce special purpose
More informationMetaTeD A Meta Language for Modeling. Telecommunication Networks. Kalyan S. Perumalla and Richard M. Fujimoto
MetaTeD A Meta Lanuae or Modelin Telecommunication Networks Kalyan S. Perumalla and Richard M. Fujimoto (kalyan@cc.atech.edu and ujimoto@cc.atech.edu) Collee o Computin Georia Institute o Technoloy Atlanta,
More informationEcient Detection of Data Races in SR Programs. Darren John Esau. presented to the University of Waterloo. in fullment of the
Ecient Detection o Data Races in SR Prorams by Darren John Esau A thesis presented to the University o Waterloo in ullment o the thesis requirement or the deree o Master o Mathematics in Computer Science
More informationpp , John Wiley and Sons, 1991 No. 3, 1994, pp , Victoria, 1994 Vol. 37, No. 5, pp Baltimore, 1993 pp.
termediate representation used is much simpler than a ull UI specication lanuae. We have also proposed to populate automatically the taret GUI builder space thus allowin desiners/developers to ully exploit
More information1 Theory 1 (CSc 473): Automata, Grammars, and Lanuaes For any strin w = w 1 w 2 :::w n, define w R to be the reversal of w: w R = w n w n 1 :::w 1. Su
Masters Examination Department of Computer Science March 27, 1999 Instructions This examination consists of nine problems. The questions are in three areas: 1. Theory and Alorithms: CSc 473, 545, and 573;
More informationImitation: An Alternative to Generalization in Programming by Demonstration Systems
Imitation: An Alternative to Generalization in Prorammin by Demonstration Systems Technical Report UW-CSE-98-08-06 Amir Michail University of Washinton amir@cs.washinton.edu http://www.cs.washinton.edu/homes/amir/opsis.html
More informationOCC and Its Variants. Jan Lindström. Helsinki 7. November Seminar on real-time systems UNIVERSITY OF HELSINKI. Department of Computer Science
OCC and Its Variants Jan Lindström Helsinki 7. November 1997 Seminar on real-time systems UNIVERSITY OF HELSINKI Department o Computer Science Contents 1 Introduction 1 2 Optimistic Concurrency Control
More informationTheory (CSc 473): Automata, Grammars, and Lanuaes. Let D = fwjw contains an equal number of occurrences of the substrins 0 and 0 Thus 0 2 D because 0
Masters Examination Department of Computer Science October 3, 998 Instructions This examination consists of nine problems. The questions are in three areas:. Theory and Alorithms: CSc 473, 545, and 573;
More informationCoarse Grained Parallel Maximum Matching In Convex Bipartite Graphs
Coarse Grained Parallel Maximum Matchin In Convex Bipartite Graphs P. Bose, A. Chan, F. Dehne, and M. Latzel School o Computer Science Carleton University Ottawa, Canada K1S 5B6 jit,achan,dehne,mlatzel@scs.carleton.ca
More informationIntegrated QOS management for disk I/O. Dept. of Comp. Sci. Dept. of Elec. Engg. 214 Zachry. College Station, TX
Interated QOS manaement or disk I/O Ravi Wijayaratne A. L. Narasimha Reddy Dept. o Comp. Sci. Dept. o Elec. En. Texas A & M University 214 Zachry Collee Station, TX 77843-3128 ravi,reddy@ee.tamu.edu Abstract
More informationFrom Java to C A Supplement to Computer Algorithms, Third Edition. Sara Baase Allen Van Gelder
From Java to C A Supplement to Computer Alorithms, Third Edition Sara Baase Allen Van Gelder October 30, 2004 ii clcopyriht 2000, 2001 Sara Baase and Allen Van Gelder. All rihts reserved. This document
More informationCentrum voor Wiskunde en Informatica REPORTRAPPORT. Manifold Version 1.0 Programming: Programs and Problems
Centrum voor Wiskunde en Inormatica REPORTRAPPORT Maniold Version 1.0 Prorammin: Prorams and Problems C.L. Blom Computer ScienceDepartment o Interactive Systems CS-R9334 1993 Centrum voor Wiskunde en
More information2 The Vector class takes two template parameters (line 1): T, a type parameter, species the element type or the vector; N, a nontype parameter, is the
C++ Templates as Partial Evaluation Todd L. Veldhuizen Abstract This paper explores the relationship between C++ templates and partial evaluation. Templates were desined to support eneric prorammin, but
More informationA Cell Burst Scheduling for ATM Networking Part II: Implementation
A Cell Burst Schedulin or ATM Networkin Part II: Implementation C. Tan, A. T. Chronopoulos, Senior Member, IEEE Computer Science Department Wayne State University email:ctan, chronos@cs.wayne.edu E. Yaprak,
More informationa<b x = x = c!=d = y x = = x false true
1 Introduction 1.1 Predicated execution Predicated execution [HD86, RYYT89, DT93, KSR93] is an architectural model in which each operation is uarded by a boolean operand whose value determines whether
More informationThe SpecC Methodoloy Technical Report ICS December 29, 1999 Daniel D. Gajski Jianwen Zhu Rainer Doemer Andreas Gerstlauer Shuqin Zhao Department
The SpecC Methodoloy Technical Report ICS-99-56 December 29, 1999 Daniel D. Gajski Jianwen Zhu Rainer Doemer Andreas Gerstlauer Shuqin Zhao Department of Information and Computer Science University of
More informationThread-based vs Event-based Implementation of a Group Communication Service
Thread-based vs Event-based Implementation o a Group Communication Service Shivakant Mishra and Ronuan Yan Department o Computer Science University o Wyomin, P.O. Box 3682 Laramie, WY 8271-3682, USA. Email:
More informationDeclarative Specialization of Object-Oriented Programs
INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Declarative Specialization of Object-Oriented Prorams Euen N. Volanschi, Charles Consel, Gilles Muller, Crispin Cowan N 3118 Février 1997
More informationJAVA XML PARSING SPECIFICATION
JAVA XML PARSING SPECIFICATION Joona Palaste Abstract: XML is a mark-up lanuae, or more precisely, a definition of mark-up lanuaes which allows information of arbitrary kind to be accurately and hierarchically
More informationClient Host. Server Host. Registry. Client Object. Server. Remote Object. Stub. Skeleton
Exploitin implicit loop parallelism usin multiple multithreaded servers in Java Fabian Bre Aart Bik Dennis Gannon December 16, 1997 1 Introduction Since its introduction in the late eihties, the lobal
More informationPerformance and Overhead Measurements. on the Makbilan. Department of Computer Science. The Hebrew University of Jerusalem
Perormance and Overhead Measurements on the Makbilan Yosi Ben-Asher Dror G. Feitelson Dtment o Computer Science The Hebrew University o Jerusalem 91904 Jerusalem, Israel E-mail: yosi,dror@cs.huji.ac.il
More informationImage Fusion for Enhanced Vision System using Laplacian Pyramid
Imae Fusion or Enhanced Vision System usin aplacian Pyramid Abhilash G, T.V. Rama Murthy Department o ECE REVA Institute o Technoloy and Manaement Banalore-64, India V. P. S Naidu MSDF ab, FMCD, CSIR-National
More informationoptimization agents user interface agents database agents program interface agents
A MULTIAGENT SIMULATION OPTIMIZATION SYSTEM Sven Hader Department of Computer Science Chemnitz University of Technoloy D-09107 Chemnitz, Germany E-Mail: sha@informatik.tu-chemnitz.de KEYWORDS simulation
More informationImproving Computer Security using Extended Static Checking
Improvin Computer Security usin Extended Static Checkin Brian V. Chess Department o Computer Enineerin University o Caliornia, Santa Cruz Abstract We describe a method or indin security laws in source
More informationFPGA Technology Mapping: A Study of Optimality
FPGA Technoloy Mappin: A Study o Optimality Andrew Lin Department o Electrical and Computer Enineerin University o Toronto Toronto, Canada alin@eec.toronto.edu Deshanand P. Sinh Altera Corporation Toronto
More informationEclipse Support for Using Eli and Teaching Programming Languages
Electronic Notes in Theoretical Computer Science 141 (2005) 189 194 www.elsevier.com/locate/entcs Eclipse Support for Using Eli and Teaching Programming Languages Anthony M. Sloane 1,2 Department of Computing
More informationf y f x f z exu f xu syu s y s x s zl ezl f zl s zu ezu f zu sign logic significand multiplier exponent adder inc multiplexor multiplexor ty
A Combined Interval and Floatin Point Multiplier James E. Stine and Michael J. Schulte Computer Architecture and Arithmetic Laboratory Electrical Enineerin and Computer Science Department Lehih University
More informationAspect-oriented programming with AspectJ
Aspect-oriented prorammin with AspectJ & A. Colyer A. Clement Aspect-oriented prorammin (AOP) is an excitin new development in the field of software enineerin. The open-source AspectJt project has taken
More informationDynamic Reconguration of. Distributed Applications. University of Maryland. College Park, MD Abstract
Dynamic Reconuration of Distributed Applications Christine R. Hofmeister Department of Computer Science University of Maryland Collee Park, MD 20742 Abstract Applications requirin concurrency or access
More informationStop & Copy. Gen1 Gen2 Gen3. top
A Customisable Memory Manaement Framework for C++ Giuseppe Attardi, Tito Flaella and Pietro Ilio Dipartimento di Informatica, Universita di Pisa Corso Italia 40, I-56125 Pisa, Italy email: attardi@di.unipi.it,
More information2 CHAPTR 1. BOTTOM UP PARSING 1. S ::= 4. T ::= T* F 2. ::= +T 5. j F 3. j T 6. F ::= 7. j Fiure 1.1: Our Sample Grammar for Bottom Up Parsin Our beli
Chapter 1 Bottom Up Parsin The key diæculty with top-down parsin is the requirement that the rammar satisfy the LL1 property. You will recall that this entailed knowin, when you are facin the token that
More informationTheodore Johnson. Dept. of Computer and Information Science, University of Florida. Abstract
A Concurrent Fast-Fits Memory Manaer University o Florida, Dept. o CIS Electronic TR91-009 Theodore Johnson Dept. o Computer and Inormation Science, University o Florida ted@cis.u.edu September 12, 1991
More informationRTL Modeling in C++ Technical Report ICS April 30, Shuqing Zhao. Irvine, CA , USA (949)
RTL Modelin in C++ Technical Report ICS-01-18 April 30, 2001 Shuqin Zhao Department o Inormation and Computer Science University o Caliornia, Irvine Irvine, CA 92697-3425, USA (949)824-8059 szhao@ics.uci.edu
More informationLEGEND. Cattail Sawgrass-Cattail Mixture Sawgrass-Slough. Everglades. National. Park. Area of Enlargement. Lake Okeechobee
An Ecient Parallel Implementation of the Everlades Landscape Fire Model Usin Checkpointin Fusen He and Jie Wu Department of Computer Science and Enineerin Florida Atlantic University Boca Raton, FL 33431
More informationBackwards-compatible bounds checking for arrays and pointers in C. programs. Richard W M Jones and Paul H J Kelly. Department of Computing
Backwards-compatible bounds checkin or arrays and pointers in C prorams Richard W M Jones and Paul H J Kelly Department o Computin Imperial Collee o Science, Technoloy and Medicine 180 Queen's Gate, London
More informationUsing LDAP Directory Caches. Olga Kapitskaia. AT&T Labs{Research. on sample queries from a directory enabled application
Usin LDAP Directory Caches Sophie Cluet INRIA Rocquencourt Sophie.Cluet@inria.fr Ola Kapitskaia AT&T Labs{Research ola@research.att.com Divesh Srivastava AT&T Labs{Research divesh@research.att.com 1 Introduction
More informationDSL Design. Overview of DSLE. DSL Design. DSL Desing. Domain specific languages
Overview of DSLE Model driven software enineerin in eneral Grammars, and meta-models Code eneration Model-driven enineerin Goal: Raisin the level of abstraction from the computin domain to the problem
More informationGeneral Design of Grid-based Data Replication. Schemes Using Graphs and a Few Rules. availability of read and write operations they oer and
General esin of Grid-based ata Replication Schemes Usin Graphs and a Few Rules Oliver Theel University of California epartment of Computer Science Riverside, C 92521-0304, US bstract Grid-based data replication
More informationWirsin and Knapp To close partly this ap we propose a combination o ormal specication techniques with pramatic sotware enineerin methods. Our specicat
Electronic Notes in Theoretical Computer Science 4 (1996) A Formal Approach to Object-Oriented Sotware Enineerin Martin Wirsin and Alexander Knapp 1 Ludwi{Maximilians{Universitat Munchen Institut ur Inormatik
More informationWeb e-transactions. Svend Frolund, Fernando Pedone, Jim Pruyne Software Technology Laboratory HP Laboratories Palo Alto HPL July 12 th, 2001*
Web e-transactions Svend Frolund, Fernando Pedone, Jim Pruyne Software Technoloy Laboratory HP Laboratories Palo Alto HPL-2001-177 July 12 th, 2001* E-mail: {frolund, pedone, pruyne} @ hpl.hp.com reliability,
More informationEfficient and Provably Secure Ciphers for Storage Device Block Level Encryption
Efficient and Provably Secure Ciphers for Storae Device Block evel Encryption Yulian Zhen SIS Department, UNC Charlotte yzhen@uncc.edu Yone Wan SIS Department, UNC Charlotte yonwan@uncc.edu ABSTACT Block
More informationA Flexible Integration Strategy for In-Car Telematics Systems
A Flexible Interation Stratey for In-Car Telematics Systems Thomas Bauer Jens Herrmann Peter Liesmeyer Christopher Robinson-Mallett University of Potsdam Hasso-Plattner-Institute thomas.bauer @hpi.uni-potsdam.de
More information10. SOPC Builder Component Development Walkthrough
10. SOPC Builder Component Development Walkthrough QII54007-9.0.0 Introduction This chapter describes the parts o a custom SOPC Builder component and guides you through the process o creating an example
More informationAn Internet Collaborative Environment for Sharing Java Applications
An Internet Collaborative Environment for Sharin Java Applications H. Abdel-Wahab and B. Kvande Department of Computer Science Old Dominion University Norfolk, Va 23529 fwahab,kvande@cs.odu.edu O. Kim
More informationThe performance of single-keyword and multiple-keyword. pattern matching algorithms. Bruce W. Watson. Eindhoven University of Technology
The performance of sinle-keyword and multiple-keyword pattern matchin alorithms Bruce W. Watson Faculty of Mathematics and Computin Science Eindhoven University of Technoloy P.O. Box 513, 5600 MB Eindhoven,
More informationint FindToken(int *data, int count, int token) f int i = 0, *p = data while ((i < count) && (*p!= token)) f p++ i++ return (*p == token) typedef f <ty
Ecient Detection of All Pointer and Array Access Errors Todd M. Austin Scott E. Breach Gurindar S. Sohi Computer Sciences Department University of Wisconsin-Madison 1210 W. Dayton Street Madison, WI 53706
More informationo code which one must write: modern lanuaes have complicated syntax trees, and so code which manipulates and enerates these trees tends to be complex
C++ Templates as Partial Evaluation Todd L. Veldhuizen Abstract This paper explores the relationship between C++ templates and partial evaluation. Templates were desined to support eneric prorammin but
More informationdisambiuation, conservative assumptions about memory dependence have to be made, leavin the code optimized in a dissatised way. Many researchers have
A Practical Interprocedural Pointer Analysis Framework Ben-Chun Chen Wen-mei W. Hwu y Department of Computer Science y Department of Electrical and Computer Enineerin The Coordinated Science Laboratory
More informationPizza ëordersky 1997ë. However, we felt that Pizza èand other similar lanuaesè suered from one fault that we had taken pains to avoid in the oriinal d
Multiparadim Extensions to Java Timothy A.Budd Department of Computer Science Oreon State University Corvallis, Oreon, USA November 1, 2000 Abstract In 1995 my students and I developed Leda, a multiparadim
More informationSalto: System for Assembly-Language. Transformation and Optimization. Erven Rohou, Francois Bodin, Andre Seznec.
Salto: System for Assembly-Lanuae Transformation and Optimization Erven Rohou, Francois Bodin, Andre Seznec ferohou,bodin,seznec@irisa.fr Abstract On critical applications the performance tunin requires
More informationIn Proceedings of ICPP 90, The 1990 International Conference on Parallel Processing, Chicago,Illinois, August 1990.
In Proceedins of IPP 9, The 99 International onference on Parallel Processin, hicao,illinois, uust 99. SETH VLSI HIP FOR THE REL-TIME INFORMTION DISPERSL ND RETRIEVL FOR SEURITY ND FULT-TOLERNE zer estavros
More informationmga in C: A Messy Genetic Algorithm in C Kalyanmoy Deb and David E. Goldberg University of Illinois at Urbana-Champaign Urbana, IL 61801
mga in C: A Messy Genetic Alorithm in C Kalyanmoy Deb and David E. Goldber Department o General Enineerin University o Illinois at Urbana-Champain Urbana, IL 61801 IlliGAL Report No. 91008 September 1991
More informationLearning Geometric Concepts with an Evolutionary Algorithm. Andreas Birk. Universitat des Saarlandes, c/o Lehrstuhl Prof. W.J.
Learnin Geometric Concepts with an Evolutionary Alorithm Andreas Birk Universitat des Saarlandes, c/o Lehrstuhl Prof. W.J. Paul Postfach 151150, 66041 Saarbrucken, Germany cyrano@cs.uni-sb.de http://www-wjp.cs.uni-sb.de/cyrano/
More informationDepartment of Computer Science, University of Utah. 1 Introduction
International Conference on Computer Systems and Education, IISc, Banalore, 1994 Type-safe Composition of Object Modules Guruduth Banavar, Gary Lindstrom, Doulas Orr Department of Computer Science, University
More informationTexture Un mapping. Computer Vision Project May, Figure 1. The output: The object with texture.
Texture Un mappin Shinjiro Sueda sueda@cs.ruters.edu Dinesh K. Pai dpai@cs.ruters.edu Computer Vision Project May, 2003 Abstract In computer raphics, texture mappin refers to the technique where an imae
More informationThe Compositional C++ Language. Denition. Abstract. This document gives a concise denition of the syntax and semantics
The Compositional C++ Language Denition Peter Carlin Mani Chandy Carl Kesselman March 12, 1993 Revision 0.95 3/12/93, Comments welcome. Abstract This document gives a concise denition of the syntax and
More informationto chanes in the user interface desin. By embeddin the object-oriented, interpreted lanuae into the application, it can also be used as a tool for rer
Usin C++ Class Libraries from an Interpreted Lanuae Wolfan Heidrich, Philipp Slusallek, Hans-Peter Seidel Computer Graphics Department, Universitat Erlanen-Nurnber Am Weichselarten 9, 91058 Erlanen, Germany.
More informationarxiv:cs/ v2 [cs.pl] 2 Nov 1998
C++ Templates as Partial Evaluation Todd L. Veldhuizen arxiv:cs/9810010v2 [cs.pl] 2 Nov 1998 Abstract This paper explores the relationship between C++ templates and partial evaluation. Templates were desined
More informationA Rigorous Correctness Proof of a Tomasulo Scheduler Supporting Precise Interrupts
A Riorous Correctness Proo o a Tomasulo Scheduler Supportin Precise Interrupts Daniel Kroenin Λ, Silvia M. Mueller y, and Wolan J. Paul Dept. 14: Computer Science, University o Saarland, Post Box 151150,
More informationStraiht Line Detection Any straiht line in 2D space can be represented by this parametric euation: x; y; ; ) =x cos + y sin, =0 To nd the transorm o a
Houh Transorm E186 Handout Denition The idea o Houh transorm is to describe a certain line shape straiht lines, circles, ellipses, etc.) lobally in a parameter space { the Houh transorm domain. We assume
More informationint x,y; Point; typedef enum f RED, BLUE color; int x,y; color c; ColorPoint; void translatex(point *p, int dx) f p->x += dx; main() f Point pt; Color
Appears as Bell Laboratories Technical Report BL011350-990202-03. Copin with Type Casts in C Michael Si, Satish Chandra?, Thomas Ball? Krishna Kunchithapadam >, Thomas Reps > Mathematics Dept? Software
More informationModied Java-to-bytecode compiler that extends the Java lanuae with eneralized operator overloadin; Array class libraries that use the operator overloa
JaLA: a Java packae for Linear Alebra David F. Bacon IBM T.J. Watson Research Center 1 Introduction While the Java lanuae has taken the world by storm, it has left the scientic computin community out in
More informationIBM Thomas J. Watson Research Center. Yorktown Heights, NY, U.S.A. The major advantage of BDDs is their eciency for a
Equivalence Checkin Usin Cuts and Heaps Andreas Kuehlmann Florian Krohm IBM Thomas J. Watson Research Center Yorktown Heihts, NY, U.S.A. Abstract This paper presents a verication technique which is specically
More informationMotivation Dynamic bindin facilitates more exible and extensible software architectures, e.., { Not all desin decisions need to be known durin the ini
The C++ Prorammin Lanuae Dynamic Bindin Outline Motivation Dynamic vs. Static Bindin Shape Example Callin Mechanisms Downcastin Run-Time Type Identication Summary Motivation When desinin a system it is
More informationSubject 1.- Introduction to Scheme language. First part: Scheme. Second part: Prolog
CÓRDOBA UNIVERSITY SUPERIOR POLYTECHNIC SCHOOL DEPARTMENT OF COMPUTER SCIENCE AND NUMERICAL ANALYSIS DECLARATIVE PROGRAMMING COMPUTER ENGINEERING COMPUTATION ESPECIALITY FOURTH YEAR FIRST FOUR-MONTH PERIOD
More informationCompiler Design (40-414)
Compiler Design (40-414) Main Text Book: Compilers: Principles, Techniques & Tools, 2 nd ed., Aho, Lam, Sethi, and Ullman, 2007 Evaluation: Midterm Exam 35% Final Exam 35% Assignments and Quizzes 10% Project
More informationUsing VCS with the Quartus II Software
Using VCS with the Quartus II Sotware December 2002, ver. 1.0 Application Note 239 Introduction As the design complexity o FPGAs continues to rise, veriication engineers are inding it increasingly diicult
More informationWhat is a language? Eclipse IMP: ... is Generic Language. Technology (GLT)? What is a Program Generator?
Examples of Generic IPEs What... Eclipse IMP: http://eclipse- -imp.sourcefore.net/imp.html... is a lanuae? Af framework kfor Generi ic Interated ddevelopment Environments (IDE) The oal of the Eclipse IMP
More informationmain Entry main main pow Entry pow pow
Interprocedural Path Prolin David Melski and Thomas Reps Computer Sciences Department, University of Wisconsin, 20 West Dayton Street, Madison, WI, 53706, USA, fmelski, reps@cs.wisc.edu Abstract. In path
More informationElkhound: A Fast, Practical GLR Parser Generator Scott McPeak University of California, Berkeley smcpeak@cs.berkeley.edu Report No. UCB/CSD--4 December 00 Computer Science Division (EECS) University of
More informationin two important ways. First, because each processor processes lare disk-resident datasets, the volume of the communication durin the lobal reduction
Compiler and Runtime Analysis for Ecient Communication in Data Intensive Applications Renato Ferreira Gaan Arawal y Joel Saltz Department of Computer Science University of Maryland, Collee Park MD 20742
More informationabstract class CustomerRole abstract class ChargerRole abstract double cost(int qty, double unitprice, ItemRole item)
Component Interation with Pluable Composite Adapters Mira Mezini (mira@informatik.uni-sieen.de) University of Sieen Linda Seiter (lseiter@scu.edu) Santa Clara University Karl Lieberherr (lieber@ccs.neu.edu)
More informationAn Interactive Desk Calculator. Project P2 of. Common Lisp: An Interactive Approach. Stuart C. Shapiro. Department of Computer Science
An Interactive Desk Calculator Project P2 of Common Lisp: An Interactive Approach Stuart C. Shapiro Department of Computer Science State University of New York at Bualo January 25, 1996 The goal of this
More informationUsing Real-Time Serializability and Optimistic Concurrency Control in Firm Real-Time Databases
Usin Real-Time Serializability and Optimistic Concurrency Control in Firm Real-Time Databases Jan Lindström and Kimmo Raatikainen University o Helsinki, Department o Computer Science P.O. Box 26 (Teollisuuskatu
More informationCommunication Networks ( ) / Spring 2011 The Blavatnik School of Computer Science, Tel-Aviv University
ommunication Networks (0368-3030) / Sprin 0 The lavatnik School o omputer Science, Tel-viv University llon Waner urose & Ross, hapters 5.5-5.6 (5 th ed.) Tanenbaum & Wetherall, hapters 4.3.4 4.3.8 (5 th
More informationIEEE TRANSACTIONS ON COMPUTERS, VOL. 48, NO. 2, FEBRUARY Automatic Compiler-Inserted Prefetching for. Chi-Keung Luk and Todd C.
IEEE TRANSACTIONS ON COMPUTERS, VOL. 48, NO. 2, FEBRUARY 1999 1 Automatic Compiler-Inserted Preetchin or Pointer-Based Applications Chi-Keun Luk and Todd C. Mowry Abstract As the disparity between processor
More informationChapter 4. Coding systems. 4.1 Binary codes Gray (reflected binary) code
Chapter 4 Codin systems Codin systems define how information is mapped to numbers. Different codin systems try to store/transmit information more efficiently [Sec. 4.], or protect it from damae while it
More informationSIMPACK: GETTING STARTED WITH SIMULATION PROGRAMMING IN C AND C++ Paul A. Fishwick. University of Florida. Bldg. CSE, Room 301
SIMPACK: GETTING STARTED WITH SIMULATION PROGRAMMING IN C AND C++ Paul A. Fishwick Dept. of Computer & Information Science University of Florida Bld. CSE, Room 301 Gainesville, FL 32611 ABSTRACT SimPack
More informationLanguage (TeD) Brian J. Premore, David M. Nicol, Xiaowen Liu. Abstract
Dartmouth Collee Computer Science Technical Report PCS-TR96-299 A Critique o the Telecommunication Description Lanuae (TeD) Brian J. Premore, David M. Nicol, Xiaowen Liu Department o Computer Science Dartmouth
More informationMeasuring the Vulnerability of Interconnection. Networks in Embedded Systems. University of Massachusetts, Amherst, MA 01003
Measuring the Vulnerability o Interconnection Networks in Embedded Systems V. Lakamraju, Z. Koren, I. Koren, and C. M. Krishna Department o Electrical and Computer Engineering University o Massachusetts,
More informationTowards a Multi Metamodelling Approach for Developing Distributed Healthcare Applications
Towards a Multi Metamodellin Approach or Developin Distributed Healthcare Applications Fazle Rabbi 1,2, nve lamo 1, Inrid Chieh u 2, Lars Michael Kristensen 1 1 Beren Universit Collee, Beren, Norwa ra@hib.no,
More informationBinaryOperator. Array BinaryOpExpr Plus
Just when you thouht your little lanuae was sae: \Expression Templates" in Java ToddL.Veldhuizen Extreme Computin Laboratory Indiana University Computer Science Department Bloominton Indiana 47405, USA
More information(a) (b) Back End. Type. Partial Evaluation. Back End. User source files. AST Type AST IL IL Lex/Parse Translation Optimizer Analysis.
Five compilation models or C++ templates (Extended Abstract) Todd L. Veldhuizen Extreme Computin Laboratory Indiana University Computer Science Department Bloomon Indiana 47405, USA tveldhui@acm.or Abstract
More informationA Nearest Neighbor Method for Efficient ICP
A Nearest Neihbor Method or Eicient ICP Michael Greenspan Guy Godin Visual Inormation Technoloy Group Institute or Inormation Technoloy, National Research Council Canada Bld. M50, 1500 Montreal Rd., Ottawa,
More informationEcient and Precise Modeling of Exceptions for the Analysis of Java Programs. IBM Research. Thomas J. Watson Research Center
Ecient and Precise Modelin of Exceptions for the Analysis of Java Prorams Jon-Deok Choi David Grove Michael Hind Vivek Sarkar IBM Research Thomas J. Watson Research Center P.O. Box 704, Yorktown Heihts,
More informationSupporting Persistent Object Systems in a Single Address Space 1
Supportin Persistent Object Systems in a Sinle Address Space 1 Kevin Elphinstone, Stephen Russell, Gernot Heiser 2 School of Computer Science & Enineerin, The University of New South Wales, Sydney 2052,
More informationLanguage and Compiler Support for Dynamic Code Generation by Massimiliano A. Poletto S.B., Massachusetts Institute of Technology (1995) M.Eng., Massac
Lanuae and Compiler Support for Dynamic Code Generation by Massimiliano A. Poletto S.B., Massachusetts Institute of Technoloy (1995) M.En., Massachusetts Institute of Technoloy (1995) Submitted to the
More informationGenerell Topologi. Richard Williamson. May 6, 2013
Generell Topologi Richard Williamson May 6, Thursday 7th January. Basis o a topological space generating a topology with a speciied basis standard topology on R examples Deinition.. Let (, O) be a topological
More information1 Introduction It is not dicult to convince prorammers (or employers of prorammers) that prorammin errors are costly, both in terms of time and money.
Ecient Detection of All Pointer and Array Access Errors Todd M. Austin Scott E. Breach Gurindar S. Sohi Computer Sciences Department University of Wisconsin-Madison 1210 W. Dayton Street Madison, WI 53706
More informationAdding Constraint Systems to DFKI Oz. Tobias Muller. German Research Center for Articial Intelligence (DFKI) D Saarbrucken,
Addin Constraint Systems to DFKI Oz Tobias Muller German Research Center for Articial Intellience (DFKI) D-66123 Saarbrucken, Stuhlsatzenhauswe 3, Germany Email: tmueller@dfki.uni-sb.de Abstract We present
More informationDESIGN PATTERNS IN GARBAGE COLLECTION. A thesis. submitted in partial fulfilment. of the requirements for the Degree
DESIGN PATTERNS IN GARBAGE COLLECTION A thesis submitted in partial fulfilment of the requirements for the Deree of Master of Science in Computer Science in the University of Canterbury by Stuart Andrew
More informationLinear Network Coding
IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 49, NO. 2, FEBRUARY 2003 371 Linear Network Codin Shuo-Yen Robert Li, Senior Member, IEEE, Raymond W. Yeun, Fellow, IEEE, Nin Cai Abstract Consider a communication
More informationSingle-pass Static Semantic Check for Efficient Translation in YAPL
Single-pass Static Semantic Check for Efficient Translation in YAPL Zafiris Karaiskos, Panajotis Katsaros and Constantine Lazos Department of Informatics, Aristotle University Thessaloniki, 54124, Greece
More informationTHE FINANCIAL CALCULATOR
Starter Kit CHAPTER 3 Stalla Seminars THE FINANCIAL CALCULATOR In accordance with the AIMR calculator policy in eect at the time o this writing, CFA candidates are permitted to use one o two approved calculators
More informationU1 S1 T1 U2 S1 T2 U3 S2 T3 U4 S3 T4
A Toolkit of Services for Implementin Fault-Tolerant Distributed Protocols Flaviu Cristian Department of Computer Science & Enineerin University of California, San Dieo La Jolla, CA 92093-0114, U.S.A.
More informationSlicing Multi-threaded Java Programs : A Case Study
Slicin Multi-threaded Java Prorams : A Case Study Matthew B. Dwyer y, James C. Corbett z, John Hatcliff y, Stefan Sokolowski y, Honjun Zhen y ydepartment of Computin and Information Sciences Kansas State
More informationModular Design of Fuzzy Controller Integrating Deliberative and. Reactive Strategies. Technical Computer Science, Faculty of Technology,
Modular Desin of Fuzzy Controller Interatin Deliberative and Reactive Strateies Jianwei Zhan, Frank Wille and Alois Knoll Technical Computer Science, Faculty of Technoloy, University of Bielefeld, 33501
More information