Submitted to the 11th International Symposium on Visual Languages, Darmstadt, Germany, September David Wetherall
|
|
- Antony Walsh
- 5 years ago
- Views:
Transcription
1 An Interactive Programming System for Media Computation Submitted to the 11th International Symposium on Visual Languages, Darmstadt, Germany, September 1995 David Wetherall Telemedia Networks and Systems Group Laboratory for Computer Science Massachusetts Institute of Technology Abstract This paper presents PAVES, a direct manipulation system that combines aspects of visualization and multimedia systems to form an interactive video programming environment. PAVES extends the VuSystem media processing toolkit with dataow-style views for controlling compute-intensive media applications as they run. Thus video may be manipulated graphically and interactively both program and data are visual and live. PAVES is also novel in its approach to extensibility. Users may freely combine graphical and underlying VuSystem textual programming methods to restructure and reuse applications. This cooperative programming is available across sessions as well as within them. It is implemented with an object-oriented programming foundation that automatically translates between multiple program representations and maintains them in synchrony. PAVES (for Programming Active Video with an Embedded System) is an interactive and graphical environment for controlling such applications. It allows running programs to be directly manipulated via a dataow-style interface. The liveness and visual aspects of the programming system thus match the characteristics of the data. We feel that this is important for the problem domain, since visual data feedback is provided as the graphical program is manipulated. For example, the parameters of the motion segmentation program may be tuned by observing their eects on the processed video, and alternative algorithms may be tried by editing the ow graph. A novel aspect of PAVES is its support for using graphical and textual programming interfaces cooperatively. Like multiple-view editors, changes to one interface may aect the others, and dierent interfaces 1 Introduction As digital video is manipulated by increasingly powerful computers, new applications that perform significant computation on media are becoming viable. In addition to presenting media for conferencing, monitoring, or playback, programs may act on its content to become more responsive to their users. Figure 1, for example, shows a motion segmentation sub-program developed as part of the COMMA project [11]. It can be used in a variety of intelligent applications, such as automatically noting oce visitors while the user is absent. The author can be reached at: MIT Laboratory for Computer Science, Room 505, 545 Technology Square, Cambridge, MA 02139; Tel: ; djw@lcs.mit.edu. Figure 1: Bluescreen Program with Flow Graph 1
2 may be used to accomplish a given task. PAVES goes further, however, in translating graphical actions to their textual equivalent to help the user form an association, and integrating interactive (graphical) sessions with traditional (textual) development cycles. From the user's point of view, PAVES appears as a set of programming windows: ow graphs, control and code panels, and interpreters. Because these windows are embedded in an application toolkit, they are available across many video programs as a consistent higher level interface for control. We chose to provide a dataow representation both because it is a natural model of the media processing component of our applications, and because it has successfully been used in related domains [13, 15, 12, 9]. Other windows complement the dataow representation. Control and code panels allow the user to focus on the detailed conguration of particular processing modules. Interpreters allow the program to be controlled with a textual language based on Tcl [10]. Underlying PAVES is the VuSystem media processing toolkit [7]. It is the programming foundation, designed for compute-intensive media applications, from which PAVES inherits its timely manipulation of video. It also provides the interpreted programming level that is leveraged to present textual facilities to the user. This paper investigates PAVES by starting with the VuSystem, since it largely denes the application domain. Much of the strength of PAVES as an interface, however, lies in the way it handles multiple representations. We formalize this behavior in terms of a cooperative model. The PAVES interface is then presented from a user's perspective, followed by a discussion of the design issues we encountered. Finally, we place PAVES in perspective by comparing it with other work. 2 The VuSystem The VuSystem [7] software development environment focuses on compute-intensive multimedia applications, where the computer not only manipulates media but also digests it and performs independent actions based on media content. VuSystem applications are modeled as a graph of reusable processing modules through which video and other data ow. Some modules correspond to video capture from the outside world, some to computations such as compression, some to storage and retrieval, Commands Callbacks Out of band code Source Filter Sink Data In band code Data Figure 2: Organization of a VuSystem Program and some to presentation to the user. Program structure thus has a natural representation as ow that PAVES presents for interactive programming. Several levels of programming are available to the application developer, each suited to a dierent task. The basic programming division arises from the model of a program as separated into an in-band data stream and an out-of-band control message queue. This is shown in Figure 2. The components of the time-critical data stream, where video frames are directly manipulated, are implemented by a library of ecient C++ modules. Generic ltering modules may be specialized as a simple but constrained way of implementing new computations. Alternatively, new modules may be written from scratch, with few operational constraints. Programming of the control message processing, in which user events are decoded and user feedback is displayed, is expressed with an extended version of the Tcl [10]. The system contains an embedded Tcl interpreter, which provides great exibility in reconguring and extending the runtime environment. Tcl scripts are used to combine modules into applications, as well as describe standardized user interface panels for conguring each module. 3 Cooperative Approach At the outset of design, we considered PAVES to be an interface implemented on top of the VuSystem, one which would be more accessible to users who are also programmers. The resulting spread of programming levels is shown in Figure 3, with PAVES interactive 2
3 Accessibility simple to use interactive facilities detailed coding cycles visual flow graphs visual control panels command interpreters application module scripts scripts filter modules graphical methods Tcl C/C++ Generality general modules Figure 3: Spread of VuSystem Programming Methods Text Form source code.. describe execute Internal Form Program Database evaluate draw Figure 4: Model of Representation Shifts Interface Form facilities shaded. We were strongly motivated, however, to ensure that these levels could be used in combination. For example, PAVES ow graphs should be applicable to VuSystem programs developed textually, and programs developed graphically should not be locked into the graphical interface. This cooperative strategy is modeled in Figure 4. It addresses a weakness of many visual programming systems: that they are often well-suited to their specic tasks, but can lock users to their interface for a larger set of tasks, and become frustrating to use after a promising beginning. For example, graphical shells as exemplied by the MacIntosh Finder are apt for small le management tasks, while command-line shells as provided by UNIX are appropriate for more complex tasks. Yet there is no easy way to combine the strengths of both methods. The abstract cooperative model is quite general, and places few restrictions on the way users may work with the system; the diculty is the implmentation issues that this raises, which are discussed in a later section. Forms of View In Figure 4, three forms of representation of a single video application can be seen. Each generic form is presented to the user through dierent types of views that capture observable information about the executing program image. Many dierent views can reveal dierent aspects of the application. In the middle, the internal form represents the video program as it evolves from moment to moment. Its views are depicted by the program database because they provide momentary direct access to the running VuSystem application. A command interpreter is a view of internal form. The interface form models the executing program image across the graphical user interface. Its views are depicted by windows because they provide a direct manipulation representation of the application. The media ow graph, showing the pattern of processing currently implemented by the application and allowing it to be altered, is a view of interface form. The text form models the running video program in terms of the source code that corresponds to it. It is extended Tcl code that is interpreted by the VuSystem shell to run the application, and is edited as the traditional means of programming. Views of text form are depicted by lines of source code because they provide a snapshot of a portion of the program database at the moment they were constructed. Mappings The path moving from left to right represents the course of action for traditional applications: stored code is interpreted to yield a program image, which presents a standard interface to its users. It is the reverse path, from right to left, that enables cooperative programming between dierent interfaces. Cooperative use requires a means of mapping between the interface, text, and internal forms, since any view can be used to drive the others. The mappings are represented in Figure 4 with the addition of the evaluate and describe operations. The evaluate operation represents the interactive reprogramming of the application via its graphical interface, such as edit actions on the media ow graph. 3
4 Since the edit actions are not articially restricted, they may eect general program changes. For example, a user might remove components of the application, rearrange them, or substitute entirely new components. This requires the user interface to be updated to match the altered program, complicating the usually straightforward draw operation. A describe operation represents the serialization of the program into equivalent source code, code of the same type originally interpreted to launch the program. This code may be rened as well as reused, in contrast to lower level representations, such as a suspended process image, that are opaque to further development. However, determining the source code that is in some sense equivalent to a running application raises the issue of what state should be observed. Figure 5: Peering Inside the BlueScreen Group 4 A Tour of PAVES PAVES is targeted at customization and experimentation tasks, as well as prototyping and more general program development. It is intended to be accessible to inexperienced programmers as well as act as an overview facility that is available on demand for experts. We present its interfaces by using the BlueScreen video application as an example. BlueScreen segments moving objects from a stationary background by assuming a xed camera position, and is named because of its similarity to the chroma-key technique used to combine analog video 1. Its user programmable interface is shown in Figure 1, with the input and output video streams showing a moving person segmented from the oce scene in the background. We chose it as an example because it performs a non-trivial task, is implemented with a small number of more primitive processing modules, and is itself used as a subsystem in larger applications. Media Flow Graphs Figures 1, as well as 5 and 6, contain ow graph representations of the media processing component of the program. In terms of the cooperative model, the ow graph is an interface form of view. It presents a direct manipulation interface with a straightforward interpretation: vertices represent processing modules; and edges represent the ow of media between them, from left to right. Media ows are not visually dierentiated, and no restrictions are made on the connections between modules. Each ow may contain payloads of any type, and modules process only those types they recognize, passing the rest without error. It is thus allowable, but not useful, to pass video data to an audio processing device. Beyond edit actions for creating, destroying and rearranging modules, modules may be grouped to form a new type of module. The resulting abstraction is rst class, that is, it has all the properties of a primitive modules. A grouping is seen in Figure 5, which shows the ow graph of Figure 1 after abstracting the ve modules that comprise the segmentation eect. The internal arrangement of the group is also presented, and appears in a separate window to emphasize the existence of the abstraction barrier. With these operations a library of primitives, a means of combination, and a means of abstraction ow graph manipulations form a language and support a method of programming. Interpreters For textual programming, an interpreter window is provided in the lower section of the ow graph window. In terms of the model it corresponds to an internal 1 In chroma-keying, a specially colored background is eliminated and substituted by a dierent background. Saturated blue is traditionally chosen as the special color because it is unlikely to occur in natural scenes. 4
5 User Interface Boundary presenters Flow Graph Executing Program Image Control Panel other views recognizers Figure 6: BlueScreen views generated by PAVES Figure 7: Presentation-Style Synchronization Model form of view, recording queries and commands at the moment they aect the executing program. As well as providing direct access to the underlying VuSystem program, the interpreter monitors ow graph activity. When a graph operation is completed and executed, its textual equivalent is displayed in the interpreter window as though it had been typed. Thus not only may either interpreter or ow graph to be used as appropriate, but the user is aided in forming an association between equivalent textual and graphical commands. 5 Design Issues Our goal of using graphical and textual programming cooperatively, both in a single interactive session and across oine development sessions, raised several design issues. Primarily, automatic mechanisms were needed for: synchronizing multiple program views; drawing a graphical representation of an application that was developed textually; and serializing equivalent source code for an application that was developed with graphical tools. Synchronization of Views Control Panels and Code Fragments Control panel and code fragement windows are the remaining views, generated automatically by PAVES to complement ow graphs. An example of each, coresponding to the highlighted modules, is seen in Figure 6. Control panels are a view of interface form, and contain controls for dynamically adjusting the internal parameters of modules. Code fragments are a text form of view that reveal the internal state of the modules as a source code serialization of the running application. They provide a means of linking the graphical views of the program with the underlying textual representation, and the code can be saved for later renement. A presentation-style synchronization model, after that of Ciccarelli [2] and shown in Figure 7, is used to maintain the program and interface in synchrony. In Figure 7, each view is linked to the executing program by recognizer and presenter activities. The recognizer translates interface directives, such as edit actions on the ow graph, into program commands. The presenter monitors the program database for relevant changes and translates in the reverse direction. Implementing the recognizer activity is accomplished by using the event translation functionality of the Xt widget set [1], which batches sets of primitive window events into higher level actions. Implementing the presenter activity potentially requires feedback from each recognizer to all presenters. 5
6 Many ad hoc schemes can be invented to cater to particular situations, but they will work at the cost of restricting exibility. Instead, PAVES build presenter and view management support into its object infrastructure. The outcome of each observable change to a module is packaged and signalled to a view manager, which distributes it to the relevant presenters. Presenters themselves are responsible for compressing multiple module change messages into the appropriate incremental interface change. For example, destroying a media processing module causes all of its ports to be destroyed too. Multiple messages are generated, yet only one screen widget (corresponding to the entire module) should be destroyed. PAVES takes advantage of the generality of this synchronization framework in two other ways. Formalizing the feedback pathways allows for monitoring the trac along them. This is the mechanism by which the textual translation of graphical ow graph edits is displayed in the interpreter window. Programs changes that do not originate with an interface will also be correctly handled. For example, a program may internally alter media ow connections as a normal part of its operation, and these changes will be externally reected by the graph. The main programming convention is the organization of an application as a tree with an embedded graph. The tree indicates functional containment, while the graph connects its leaves according to media ow. This structure can be seen in Figure 8 for the Bluescreen example. We have tried to adopt structuring conventions that provide insight about the organization of the application but that do not overly constrain the programmer. The conventions then provide a generic model for applications, so that operations which are safe for the model are safe across a variety of real applications. The structuring conventions also serve to embed PAVES interface functionality into applications. Applications are expressed in an object-oriented extension to Tcl, Object Tcl [14], that was developed as part of PAVES. Inheritance mechanisms on objects ensure that all modules have a default method to draw and describe themselves. The programmer can then use class and object delegation, along with multiple inheritance with method combination, to specialize operations. This is how abstractions (groups of objects acting as a single object) and proxy objects (representing remote computation) are accommodated. vs Drawing Interfaces and Describing Programs vs.source.video vs.source vs.filter vs.sink vs.filter.stat vs.filter.dup vs.filter.mg vs.filter.mo vs.filter.color vs.sink.raw Figure 8: Program Structure Structuring Conventions and Objects vs.sink.bluescreen The translation of running programs into graphical interfaces and equivalent source code is facilitated by object-oriented programming techniques and structuring conventions. The structuring conventions and inheritance mechanisms, plus the primitive object library, provide all the framework needed to draw interfaces and serialize source code. Beyond this, some special issues arise for each type of view. A default ow graph layout is needed because applications that were developed textually have no userspecied positioning information. We use a simple topological sort algorithm to ensure that media ows from left to right, and allow the user to improve upon this. A means of deciding what state information should be serialized to accurately describe the program is needed. Some state information captures the intent of the application, such as the sequence of media processing operations it performs. Other state information pertains only to a particular run of the program, being derived from the content of the video and other environmental bindings. These types of state are, in the general case, dicult to separate. PAVES solves this problem by leveraging the structuring conventions, effectively letting the user decide. 6
7 6 Perspective PAVES addresses the domain of compute-intensive multimedia applications. We have tried to build on successes in related domains: the Cantata interface to KHOROS for image processing [15]; AVS for scientic visualization [13]; and MAVIS for active computer vision [9]. With them, we share with them the basic idea of image data owing through a graph of processing elements as introduced in HI-VISUAL [5]. Unlike them, we cater to wider audience than researchers. This is reected in choices such as: an emphasis on video presentation rather than resource control; embedding of the interactive facilities as secondary tools available on demand; and visually undierentiated ows of data with unconstrained module connections. PAVES is fully live in the sense of Tantimoto's VIVA [12], but achieves this through the timeliness of its video data, rather than requiring a separate constraint-based propogation system. This is because video is always owing, with resource scheduling accomplished by the underlying VuSystem, so program changes naturally lead to presentation updates that appear to be responsive. Timeliness also distinguishes PAVES from inherently oine video programming environments, such as VideoScheme [8]. PAVES is also notable for its support of multiple view editing. It allows graphical and textual programming methods to be used in combination, as do applications such as SchemePaint [3]. Its synchronization and free interchange between textual and graphical methods, however, match the generality of generic multi-view frameworks such as MViews [4], and take them a step further with a cooperative model that spans interactive and traditional development cycles. Finally, PAVES has supports extensibility, an area which is weak in many dataow systems. Like VPL [6], modules can be grouped interactively to dene rstclass abstractions, which may then be hierarchically composed and interrogated with the graphical interface. 7 Results and Conclusions Half a dozen users have experimented with PAVES through a variety of video programs and over the course of a year 2. We have found it most convenient 2 Actually, many more have used PAVES. The TNS World Wide Web technology demonstrations are available on the Inas an embedded facility that is consistently available across VuSystem applications for expressing throwaway customizations. That is, programming is often a secondary concern to application use. As in similar domains, a dataow-style interface proved an eective formalism, this time for expressing the media processing component of computeintensitve multimedia programs. We believe this is promising area for future applications, and that interactive programming facilities coupled with video feedback can be an eective user tool. We also found the cooperative approach, which allowed graphical and textual methods to be used in combination and across sessions, to be promising and worthy of further exploration. While we did not fully achieve the goal of automatically integrating interactive and oine development cycles (manual intervention was typically involved to verify that the generated code was both necessary and sucient), we enabled a useful synergy of developement modes. In implementing our model, the object foundation provided by Object Tcl proved particularly useful. An object naming scheme with inheritance is well-suited for expressing the patterns of similarities and dierences between program components in a modular fashion. Acknowledgements I am grateful to my supervisor, Prof. David Tennenhouse, for his support and encouragement. I am also fortunate that this research was supported by the Advanced Research Projects Agency of the Department of Defense, monitored by the United States Air Force (AFSC, Rome Laboratory) under contract No. F C-0019, and by the University of Western Australia under a Hackett Studentship. References [1] Paul J. Asenta and Ralph R. Swick. X Window System Toolkit: The Complete Programmer's Guide and Specication. Digital Press, [2] Eugene C. Ciccarelli. Presentation based user interfaces (revised Ph.D.). Technical Report MIT/AI/TR 794, Articial Intelligence Lab., ternet and include several video programs from which PAVES is accessible. The feedback gained from this exposure was positive, but not detailed enough to include here. 7
8 Massachusetts Institute of Technology, August [3] Michael Eisenberg. Programmable Applications: Interpreter Meets Interface. Technical Report AI Memo 1325, MIT, October [4] John C. Grundy and John G.Hosking. Constructing Multi-View Editing Environments Using MViews. In Proceedings of 1993 IEEE Symposium on Visual Languages, pages 220{224, Bergen, Norway, August [14] David Wetherall and Christopher J. Lindblad. Extending Tcl for Dynamic Object-Oriented Programming. Submitted to the Tcl/Tk Workshop 1995, Toronto, Ontario, July [15] C. Williams and J. Rasure. A visual language for image processing. In IEEE Computer Society Workshop on Visual Languages, Skokie, IL, IEEE Computer Society. [5] M. Hirakawa et al. HI-VISUAL Iconic Programming. In Proceedings of the IEEE Computer Society Workshop on Visual Languages, Linkoping, Sweden, [6] David Lau-Kee et al. VPL: An Active, Declarative Visual Programming System. In Proceedings of VL '91, pages 40{46, Kobe, Japan, October [7] C. J. Lindblad, D. Wetherall, and D. Tennenhouse. The VuSystem: A Programming System for Visual Processing of Digital Video. In Proceedings of ACM Multimedia 94. ACM, October [8] James Matthews, Peter Gloor, and Fillia Makedon. VideoScheme: A Programmable Video Editing System for Automation and Media Recognition. In Proceedings of ACM Multimedia 93, pages 419{426, Anaheim, CA, August ACM. [9] Thomas J. Olsen et al. MAVIS: A Visual Environment for Active Computer Vision. In Proceedings of Workshop on Visual Languages, pages 170{176, Seattle, WA, September IEEE. [10] John Ousterhout. Tcl: An Embeddable Command Language. USENIX, [11] William Stasior. Visual Processing for Seamless Interactive Computing. in MIT/LCS/TR-590, November [12] Steven L. Tantimoto. VIVA: A visual language for image processing. Journal of Visual Languages and Computing, 1(2), [13] C. Upson et al. The Application Visualization System: A computational environment for scientic visualization. IEEE Computer Graphics and Applications, pages 30{42, July
LABORATORY FOR COMPUTER SCIENCE
LABORATORY FOR COMPUTER SCIENCE MASSACHUSETTS INSTITUTE OF TECHNOLOGY MIT/LCS/TR-637 A PROGRAMMING SYSTEM FOR THE DYNAMIC MANIPULATION OF TEMPORALLY SENSITIVE DATA Christopher J. Lindblad August, 1994
More informationKhoral Research, Inc. Khoros is a powerful, integrated system which allows users to perform a variety
Data Parallel Programming with the Khoros Data Services Library Steve Kubica, Thomas Robey, Chris Moorman Khoral Research, Inc. 6200 Indian School Rd. NE Suite 200 Albuquerque, NM 87110 USA E-mail: info@khoral.com
More informationand easily tailor it for use within the multicast system. [9] J. Purtilo, C. Hofmeister. Dynamic Reconguration of Distributed Programs.
and easily tailor it for use within the multicast system. After expressing an initial application design in terms of MIL specications, the application code and speci- cations may be compiled and executed.
More informationVisualisation of ATM network connectivity and. topology.
Visualisation of ATM network connectivity and topology O. Saal, J. Feng, A.E. Krzesinski y and E.H. Blake fosaal,jfeng,edwing@cs.uct.ac.za, aek1@cs.sun.ac.za Collaborative Visual Computing Laboratory Department
More informationStackable Layers: An Object-Oriented Approach to. Distributed File System Architecture. Department of Computer Science
Stackable Layers: An Object-Oriented Approach to Distributed File System Architecture Thomas W. Page Jr., Gerald J. Popek y, Richard G. Guy Department of Computer Science University of California Los Angeles
More informationDeveloping a Multimedia Toolbox for the Khoros System. Yuh-Lin Chang. Rafael Alonso. Matsushita Information Technology Laboratory
Developing a Multimedia Toolbox for the Khoros System Yuh-Lin Chang Rafael Alonso Matsushita Information Technology Laboratory Panasonic Technologies, Inc. Two Research Way Princeton, NJ 08540, USA fyuhlin,alonsog@mitl.research.panasonic.com
More informationA taxonomy of race. D. P. Helmbold, C. E. McDowell. September 28, University of California, Santa Cruz. Santa Cruz, CA
A taxonomy of race conditions. D. P. Helmbold, C. E. McDowell UCSC-CRL-94-34 September 28, 1994 Board of Studies in Computer and Information Sciences University of California, Santa Cruz Santa Cruz, CA
More informationDewayne E. Perry. Abstract. An important ingredient in meeting today's market demands
Maintaining Consistent, Minimal Congurations Dewayne E. Perry Software Production Research, Bell Laboratories 600 Mountain Avenue, Murray Hill, NJ 07974 USA dep@research.bell-labs.com Abstract. An important
More informationSteering. Stream. User Interface. Stream. Manager. Interaction Managers. Snapshot. Stream
Agent Roles in Snapshot Assembly Delbert Hart Dept. of Computer Science Washington University in St. Louis St. Louis, MO 63130 hart@cs.wustl.edu Eileen Kraemer Dept. of Computer Science University of Georgia
More informationSoftware Component Relationships. Stephen H. Edwards. Department of Computer Science. Virginia Polytechnic Institute and State University
Software Component Relationships Stephen H. Edwards Department of Computer Science Virginia Polytechnic Institute and State University 660 McBryde Hall Blacksburg, VA 24061-0106 Tel: (540)-231-7537 Email:
More informationThe Architecture of a System for the Indexing of Images by. Content
The Architecture of a System for the Indexing of s by Content S. Kostomanolakis, M. Lourakis, C. Chronaki, Y. Kavaklis, and S. C. Orphanoudakis Computer Vision and Robotics Laboratory Institute of Computer
More informationAdaptive Methods for Distributed Video Presentation. Oregon Graduate Institute of Science and Technology. fcrispin, scen, walpole,
Adaptive Methods for Distributed Video Presentation Crispin Cowan, Shanwei Cen, Jonathan Walpole, and Calton Pu Department of Computer Science and Engineering Oregon Graduate Institute of Science and Technology
More informationRon Weiss. Andrzej Duda. David K. Giord. Programming Systems Research Group. Many existing digital video abstractions rely on the
Content-Based Access to Algebraic Video Ron Weiss Andrzej Duda David K. Giord Programming Systems Research Group MIT Laboratory for Computer Science Abstract Algebraic video uses a set of basic operations
More informationSolution: Reuse Design Patterns Design patterns support reuse of software architecture Patterns embody successful solutions to problems that arise whe
Introduction Experience Using Design Patterns to Evolve Communication Software Across Diverse Platforms Developing portable, reuseable, and ecient communication software is hard OS platforms are often
More informationVideo Representation. Video Analysis
BROWSING AND RETRIEVING VIDEO CONTENT IN A UNIFIED FRAMEWORK Yong Rui, Thomas S. Huang and Sharad Mehrotra Beckman Institute for Advanced Science and Technology University of Illinois at Urbana-Champaign
More informationTEMPORAL AND SPATIAL SEMANTIC MODELS FOR MULTIMEDIA PRESENTATIONS ABSTRACT
TEMPORAL AND SPATIAL SEMANTIC MODELS FOR MULTIMEDIA PRESENTATIONS Shu-Ching Chen and R. L. Kashyap School of Electrical and Computer Engineering Purdue University, West Lafayette, IN 47907-285, U.S.A.
More informationComponent-Based Technologies for End-User Development
Paper to be published in Communications of the ACM, special issue on End-User Development, Sept. 2004 Component-Based Technologies for End-User Development Anders I. Mørch 1, Gunnar Stevens 2, Markus Won
More informationElectronic Examinations e-exams Using Open Source Software
Electronic Examinations e-exams Using Open Source Software L. FRAGIDIS, V. MARDIRIS, Ch. MIZAS, S. SIMEONIDIS and V. CHATZIS Information Management Department Technological Institute of Kavala GR-65404
More informationA Framework for Building Parallel ATPs. James Cook University. Automated Theorem Proving (ATP) systems attempt to prove proposed theorems from given
A Framework for Building Parallel ATPs Geo Sutclie and Kalvinder Singh James Cook University 1 Introduction Automated Theorem Proving (ATP) systems attempt to prove proposed theorems from given sets of
More informationW3P: A Portable Presentation System for the World-Wide Web
W3P: A Portable Presentation System for the World-Wide Web Christopher R. Vincent Intelligent Information Infrastructure Project MIT Artificial Intelligence Laboratory cvince@ai.mit.edu http://web.mit.edu/cvince/
More informationRance Cleaveland The Concurrency Factory is an integrated toolset for specication, simulation,
The Concurrency Factory Software Development Environment Rance Cleaveland (rance@csc.ncsu.edu) Philip M. Lewis (pml@cs.sunysb.edu) y Scott A. Smolka (sas@cs.sunysb.edu) y Oleg Sokolsky (oleg@ccc.com) y
More informationAutomatic Code Generation for Non-Functional Aspects in the CORBALC Component Model
Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model Diego Sevilla 1, José M. García 1, Antonio Gómez 2 1 Department of Computer Engineering 2 Department of Information and
More informationA Freely Congurable Audio-Mixing Engine. M. Rosenthal, M. Klebl, A. Gunzinger, G. Troster
A Freely Congurable Audio-Mixing Engine with Automatic Loadbalancing M. Rosenthal, M. Klebl, A. Gunzinger, G. Troster Electronics Laboratory, Swiss Federal Institute of Technology CH-8092 Zurich, Switzerland
More information2 Application Support via Proxies Onion Routing can be used with applications that are proxy-aware, as well as several non-proxy-aware applications, w
Onion Routing for Anonymous and Private Internet Connections David Goldschlag Michael Reed y Paul Syverson y January 28, 1999 1 Introduction Preserving privacy means not only hiding the content of messages,
More informationImplementation Techniques
V Implementation Techniques 34 Efficient Evaluation of the Valid-Time Natural Join 35 Efficient Differential Timeslice Computation 36 R-Tree Based Indexing of Now-Relative Bitemporal Data 37 Light-Weight
More informationSOFTWARE REQUIREMENTS ENGINEERING LECTURE # 7 TEAM SKILL 2: UNDERSTANDING USER AND STAKEHOLDER NEEDS REQUIREMENT ELICITATION TECHNIQUES-IV
1 SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 7 TEAM SKILL 2: UNDERSTANDING USER AND STAKEHOLDER NEEDS REQUIREMENT ELICITATION TECHNIQUES-IV 12 th June, 2013 Instructor Information 2 Course Instructor:
More informationCUMULVS: Collaborative Infrastructure for Developing. Abstract. by allowing them to dynamically attach to, view, and \steer" a running simulation.
CUMULVS: Collaborative Infrastructure for Developing Distributed Simulations James Arthur Kohl Philip M. Papadopoulos G. A. Geist, II y Abstract The CUMULVS software environment provides remote collaboration
More informationOn Object Orientation as a Paradigm for General Purpose. Distributed Operating Systems
On Object Orientation as a Paradigm for General Purpose Distributed Operating Systems Vinny Cahill, Sean Baker, Brendan Tangney, Chris Horn and Neville Harris Distributed Systems Group, Dept. of Computer
More informationAn Evaluation of Information Retrieval Accuracy. with Simulated OCR Output. K. Taghva z, and J. Borsack z. University of Massachusetts, Amherst
An Evaluation of Information Retrieval Accuracy with Simulated OCR Output W.B. Croft y, S.M. Harding y, K. Taghva z, and J. Borsack z y Computer Science Department University of Massachusetts, Amherst
More informationServer 1 Server 2 CPU. mem I/O. allocate rec n read elem. n*47.0. n*20.0. select. n*1.0. write elem. n*26.5 send. n*
Information Needs in Performance Analysis of Telecommunication Software a Case Study Vesa Hirvisalo Esko Nuutila Helsinki University of Technology Laboratory of Information Processing Science Otakaari
More informationMobile Computing Models What is the best way to partition a computation as well as the functionality of a system or application between stationary and
Mobile Computig: Conclusions Evaggelia Pitoura Computer Science Department, University of Ioannina, Ioannina, Greece http://www.cs.uoi.gr/~ pitoura Summer School, Jyvaskyla, August 1998 Mobile Computing
More informationIntroduction. Analytic simulation. Time Management
XMSF Workshop Monterey, CA Position Paper Kalyan S. Perumalla, Ph.D. College of Computing, Georgia Tech http://www.cc.gatech.edu/~kalyan August 19, 2002 Introduction The following are some of the authors
More informationBrian Drabble, Je Dalton and Austin Tate
Technical Report O-Plan Tasking Specication Brian Drabble, Je Dalton and Austin Tate Approved for public release; distribution is unlimited Articial Intelligence Applications Institute University of Edinburgh
More informationBrouillon d'article pour les Cahiers GUTenberg n?? February 5, xndy A Flexible Indexing System Roger Kehr Institut fur Theoretische Informatik
Brouillon d'article pour les Cahiers GUTenberg n?? February 5, 1998 1 xndy A Flexible Indexing System Roger Kehr Institut fur Theoretische Informatik Darmstadt University of Technology Wilhelminenstrae
More informationCentre for Parallel Computing, University of Westminster, London, W1M 8JS
Graphical Construction of Parallel Programs G. R. Ribeiro Justo Centre for Parallel Computing, University of Westminster, London, WM 8JS e-mail: justog@wmin.ac.uk, Abstract Parallel programming is not
More informationUMIACS-TR December, CS-TR-3192 Revised April, William Pugh. Dept. of Computer Science. Univ. of Maryland, College Park, MD 20742
UMIACS-TR-93-133 December, 1992 CS-TR-3192 Revised April, 1993 Denitions of Dependence Distance William Pugh Institute for Advanced Computer Studies Dept. of Computer Science Univ. of Maryland, College
More informationCOMPUTER GRAPHICS ANIMATION FOR CONSTRUCTION MANAGEMENT
COMPUTER GRAPHICS ANIMATION FOR CONSTRUCTION MANAGEMENT Yoshihiko FUKUCHI *, Ichiro KOBAYASHI ** ABSTRACT : Computer graphics animation systems provide the ability to integrate on-site engineers* expertise
More informationIn earlier work, an image representation was developed which was appropriate to both image coding and object recognition. The representation involved
The Use of Object Recognition in Multimedia David B. Lowe, Athula Ginige School of Electrical Engineering, University of Technology, Sydney Ph: +61 2 330 2526, Fax: +61 2 330 2435 E-mail: fdbl, athulag@ee.uts.edu.au
More informationRowena Cole and Luigi Barone. Department of Computer Science, The University of Western Australia, Western Australia, 6907
The Game of Clustering Rowena Cole and Luigi Barone Department of Computer Science, The University of Western Australia, Western Australia, 697 frowena, luigig@cs.uwa.edu.au Abstract Clustering is a technique
More informationsecurity model. The framework allowed for quickly creating applications that examine nancial data stored in a database. The applications that are gene
Patterns For Developing Successful Object-Oriented Frameworks Joseph W. Yoder August 27, 1997 1 Overview The work described here extends last years OOPSLA framework workshop paper [Yoder 1996] describing
More informationAn Introduction to Software Architecture
An Introduction to Software Architecture Software Engineering Design Lecture 11 Motivation for studying SW architecture As the size of SW systems increases, the algorithms and data structures of the computation
More informationShared File Directory
A Web-Based Repository Manager for Brain Mapping Data R.M. Jakobovits, B. Modayur, and J.F. Brinkley Departments of Computer Science and Biological Structure University of Washington, Seattle, WA The Web
More informationMonitoring the Usage of the ZEUS Analysis Grid
Monitoring the Usage of the ZEUS Analysis Grid Stefanos Leontsinis September 9, 2006 Summer Student Programme 2006 DESY Hamburg Supervisor Dr. Hartmut Stadie National Technical
More informationAdobe Flash Professional CC Voluntary Product Accessibility Template
Adobe Flash Professional CC Voluntary Product Accessibility Template The purpose of the Voluntary Product Accessibility Template is to assist Federal contracting officials in making preliminary assessments
More informationKnowledge- Based System CORBA ORB
The Role of Network Trac Statistics in Devising Object Migration Policies Ivan Marsic and Kanth S.L. Jonnalagadda CAIP Center, Rutgers University Piscataway, NJ 08855{1390 fmarsic,kanthg@caip.rutgers.edu
More informationComputational Electronic Mail And Its Application In Library Automation
Computational electronic mail and its application in library automation Foo, S. (1997). Proc. of Joint Pacific Asian Conference on Expert Systems/Singapore International Conference on Intelligent Systems
More informationLanguage-Based Parallel Program Interaction: The Breezy Approach. Darryl I. Brown Allen D. Malony. Bernd Mohr. University of Oregon
Language-Based Parallel Program Interaction: The Breezy Approach Darryl I. Brown Allen D. Malony Bernd Mohr Department of Computer And Information Science University of Oregon Eugene, Oregon 97403 fdarrylb,
More informationEgemen Tanin, Tahsin M. Kurc, Cevdet Aykanat, Bulent Ozguc. Abstract. Direct Volume Rendering (DVR) is a powerful technique for
Comparison of Two Image-Space Subdivision Algorithms for Direct Volume Rendering on Distributed-Memory Multicomputers Egemen Tanin, Tahsin M. Kurc, Cevdet Aykanat, Bulent Ozguc Dept. of Computer Eng. and
More informationMartin P. Robillard and Gail C. Murphy. University of British Columbia. November, 1999
Migrating a Static Analysis Tool to AspectJ TM Martin P. Robillard and Gail C. Murphy Department of Computer Science University of British Columbia 201-2366 Main Mall Vancouver BC Canada V6T 1Z4 fmrobilla,murphyg@cs.ubc.ca
More informationRelative Reduced Hops
GreedyDual-Size: A Cost-Aware WWW Proxy Caching Algorithm Pei Cao Sandy Irani y 1 Introduction As the World Wide Web has grown in popularity in recent years, the percentage of network trac due to HTTP
More informationAn Approach to Task Attribute Assignment for Uniprocessor Systems
An Approach to ttribute Assignment for Uniprocessor Systems I. Bate and A. Burns Real-Time Systems Research Group Department of Computer Science University of York York, United Kingdom e-mail: fijb,burnsg@cs.york.ac.uk
More informationDesign Pattern What is a Design Pattern? Design Pattern Elements. Almas Ansari Page 1
What is a Design Pattern? Each pattern Describes a problem which occurs over and over again in our environment,and then describes the core of the problem Novelists, playwrights and other writers rarely
More informationGeneralized Document Data Model for Integrating Autonomous Applications
6 th International Conference on Applied Informatics Eger, Hungary, January 27 31, 2004. Generalized Document Data Model for Integrating Autonomous Applications Zsolt Hernáth, Zoltán Vincellér Abstract
More information2 The MiníMax Principle First consider a simple problem. This problem will address the tradeos involved in a two-objective optimiation problem, where
Determining the Optimal Weights in Multiple Objective Function Optimiation Michael A. Gennert Alan L. Yuille Department of Computer Science Division of Applied Sciences Worcester Polytechnic Institute
More informationCh 1: The Architecture Business Cycle
Ch 1: The Architecture Business Cycle For decades, software designers have been taught to build systems based exclusively on the technical requirements. Software architecture encompasses the structures
More informationAn Introduction to Software Architecture
An Introduction to Software Architecture Software Requirements and Design CITS 4401 Lecture 11 Motivation for studying SW architecture As the size of SW systems increase, the algorithms and data structures
More informationA Java-based Course in Human-Computer Interaction. Eileen Kraemer. The University of Georgia. Athens, GA interface.
A Java-based Course in Human-Computer Interaction Eileen Kraemer Computer Science Department The University of Georgia Athens, GA 30602 Abstract The ACM/SIGCHI proposed curriculum for Human-Computer Interaction
More informationBuilding FPGA Communications Projects with LabVIEW
OpenStax-CNX module: m31349 1 Building FPGA Communications Projects with LabVIEW Christopher Li Christopher Schmitz Andrew Muehlfeld This work is produced by OpenStax-CNX and licensed under the Creative
More informationTKQML: A Scripting Tool for Building Agents
TKQML: A Scripting Tool for Building Agents R. Scott Cost, Ian Soboroff, Jeegar Lakhani, Tim Finin, Ethan Miller, and Charles Nicholas Computer Science and Electrical Engineering University of Maryland
More informationReflective Java and A Reflective Component-Based Transaction Architecture
Reflective Java and A Reflective Component-Based Transaction Architecture Zhixue Wu APM Ltd., Poseidon House, Castle Park, Cambridge CB3 0RD UK +44 1223 568930 zhixue.wu@citrix.com ABSTRACT In this paper,
More informationThe members of the Committee approve the thesis of Baosheng Cai defended on March David B. Whalley Professor Directing Thesis Xin Yuan Commit
THE FLORIDA STATE UNIVERSITY COLLEGE OF ARTS AND SCIENCES COMPILER MODIFICATIONS TO SUPPORT INTERACTIVE COMPILATION By BAOSHENG CAI A Thesis submitted to the Department of Computer Science in partial fulllment
More informationSIGNAL PROCESSING TOOLS FOR SPEECH RECOGNITION 1
SIGNAL PROCESSING TOOLS FOR SPEECH RECOGNITION 1 Hualin Gao, Richard Duncan, Julie A. Baca, Joseph Picone Institute for Signal and Information Processing, Mississippi State University {gao, duncan, baca,
More informationAppendix: How to get OBST / tclobst. References
development effort for applications and by opening the way to functionality already available as Tcl extensions, most notably Tk and related s. With tcl the full power of is provided for convenient and
More informationThe ImageTcl Multimedia Algorithm Development System
The following paper was originally published in the Proceedings of the Fifth Annual Tcl/Tk Workshop Boston, Massachusetts, July 1997 The ImageTcl Multimedia Algorithm Development System Charles B. Owen
More informationWimba Classroom VPAT
Wimba Classroom VPAT The purpose of this Voluntary Product Accessibility Template, or VPAT, is to assist Federal contracting officials and other buyers in making preliminary assessments regarding the availability
More informationWeb site Image database. Web site Video database. Web server. Meta-server Meta-search Agent. Meta-DB. Video query. Text query. Web client.
(Published in WebNet 97: World Conference of the WWW, Internet and Intranet, Toronto, Canada, Octobor, 1997) WebView: A Multimedia Database Resource Integration and Search System over Web Deepak Murthy
More informationBenchmarking the CGNS I/O performance
46th AIAA Aerospace Sciences Meeting and Exhibit 7-10 January 2008, Reno, Nevada AIAA 2008-479 Benchmarking the CGNS I/O performance Thomas Hauser I. Introduction Linux clusters can provide a viable and
More informationDepartment of. Computer Science. Remapping Subpartitions of. Hyperspace Using Iterative. Genetic Search. Keith Mathias and Darrell Whitley
Department of Computer Science Remapping Subpartitions of Hyperspace Using Iterative Genetic Search Keith Mathias and Darrell Whitley Technical Report CS-4-11 January 7, 14 Colorado State University Remapping
More informationSubmitted for TAU97 Abstract Many attempts have been made to combine some form of retiming with combinational
Experiments in the Iterative Application of Resynthesis and Retiming Soha Hassoun and Carl Ebeling Department of Computer Science and Engineering University ofwashington, Seattle, WA fsoha,ebelingg@cs.washington.edu
More informationFigure 1: Representation of moving images using layers Once a set of ane models has been found, similar models are grouped based in a mean-square dist
ON THE USE OF LAYERS FOR VIDEO CODING AND OBJECT MANIPULATION Luis Torres, David Garca and Anna Mates Dept. of Signal Theory and Communications Universitat Politecnica de Catalunya Gran Capita s/n, D5
More informationBSDM. David Robertson. John Fraser y. Christine Lissoni z. techniques can be used to build domain specic knowledge into such a tool
KBST: A Support Tool for Business Modelling in BSDM Yun-Heh Chen-Burger David Robertson John Fraser y Christine Lissoni z September 25, 1995 Abstract This paper describes a knowledge-based support tool
More informationAn Annotation Tool for Semantic Documents
An Annotation Tool for Semantic Documents (System Description) Henrik Eriksson Dept. of Computer and Information Science Linköping University SE-581 83 Linköping, Sweden her@ida.liu.se Abstract. Document
More information2. PRELIMINARIES MANICURE is specically designed to prepare text collections from printed materials for information retrieval applications. In this ca
The MANICURE Document Processing System Kazem Taghva, Allen Condit, Julie Borsack, John Kilburg, Changshi Wu, and Je Gilbreth Information Science Research Institute University of Nevada, Las Vegas ABSTRACT
More information2 Data Reduction Techniques The granularity of reducible information is one of the main criteria for classifying the reduction techniques. While the t
Data Reduction - an Adaptation Technique for Mobile Environments A. Heuer, A. Lubinski Computer Science Dept., University of Rostock, Germany Keywords. Reduction. Mobile Database Systems, Data Abstract.
More informationSkill. Robot/ Controller
Skill Acquisition from Human Demonstration Using a Hidden Markov Model G. E. Hovland, P. Sikka and B. J. McCarragher Department of Engineering Faculty of Engineering and Information Technology The Australian
More informationOutline. Computer Science 331. Information Hiding. What This Lecture is About. Data Structures, Abstract Data Types, and Their Implementations
Outline Computer Science 331 Data Structures, Abstract Data Types, and Their Implementations Mike Jacobson 1 Overview 2 ADTs as Interfaces Department of Computer Science University of Calgary Lecture #8
More informationMachines that test Software like Humans
Machines that test Software like Humans Anurag Dwarakanath anurag.dwarakanath@accenture.com Neville Dubash neville.dubash@accenture.com Sanjay Podder sanjay.podder@accenture.com Abstract Automated software
More informationIntroducing Motif. Motif User s Guide 1
Introducing Motif Motif is a software system that provides you with a great deal of control over the appearance of your computer s visual display. This introductory chapter provides information on the
More informationApplication Programmer. Vienna Fortran Out-of-Core Program
Mass Storage Support for a Parallelizing Compilation System b a Peter Brezany a, Thomas A. Mueck b, Erich Schikuta c Institute for Software Technology and Parallel Systems, University of Vienna, Liechtensteinstrasse
More informationPerlDSM: A Distributed Shared Memory System for Perl
PerlDSM: A Distributed Shared Memory System for Perl Norman Matloff University of California, Davis matloff@cs.ucdavis.edu Abstract A suite of Perl utilities is presented for enabling Perl language programming
More informationAADL Graphical Editor Design
AADL Graphical Editor Design Peter Feiler Software Engineering Institute phf@sei.cmu.edu Introduction An AADL specification is a set of component type and implementation declarations. They are organized
More informationWriting Tcl programs in the Medusa Applications Environment
Writing Tcl programs in the Medusa Applications Environment Frank Stajano Olivetti Research Limited Phone: (+ 44 223) 34.30.00 24a, Trumpington Street, Fax: (+44 223) 31.35.42 Cambridge CB2 1QA, England
More informationClassifier C-Net. 2D Projected Images of 3D Objects. 2D Projected Images of 3D Objects. Model I. Model II
Advances in Neural Information Processing Systems 7. (99) The MIT Press, Cambridge, MA. pp.949-96 Unsupervised Classication of 3D Objects from D Views Satoshi Suzuki Hiroshi Ando ATR Human Information
More informationUsability Evaluation as a Component of the OPEN Development Framework
Usability Evaluation as a Component of the OPEN Development Framework John Eklund Access Testing Centre and The University of Sydney 112 Alexander Street, Crows Nest NSW 2065 Australia johne@testingcentre.com
More informationMigration to Service Oriented Architecture Using Web Services Whitepaper
WHITE PAPER Migration to Service Oriented Architecture Using Web Services Whitepaper Copyright 2004-2006, HCL Technologies Limited All Rights Reserved. cross platform GUI for web services Table of Contents
More informationToward Spatial Queries for Spatial Surveillance Tasks
MITSUBISHI ELECTRIC RESEARCH LABORATORIES http://www.merl.com Toward Spatial Queries for Spatial Surveillance Tasks Yuri A. Ivanov, Christopher R. Wren TR2006-051 May 2006 Abstract Surveillance systems
More informationSDC Design patterns GoF
SDC Design patterns GoF Design Patterns The design pattern concept can be viewed as an abstraction of imitating useful parts of other software products. The design pattern is a description of communicating
More informationAOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz
AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz Results obtained by researchers in the aspect-oriented programming are promoting the aim to export these ideas to whole software development
More informationActive Motion Detection and Object Tracking. Joachim Denzler and Dietrich W.R.Paulus.
0 Active Motion Detection and Object Tracking Joachim Denzler and Dietrich W.R.Paulus denzler,paulus@informatik.uni-erlangen.de The following paper was published in the Proceedings on the 1 st International
More informationMIKE: a Multimodal Cinematographic Editor for Virtual Worlds
MIKE: a Multimodal Cinematographic Editor for Virtual Worlds Bruno de Araújo, André Campos, Joaquim A. Jorge Department of Information Systems and Computer Science INESC-ID/IST/Technical University of
More informationUNICORE Globus: Interoperability of Grid Infrastructures
UNICORE : Interoperability of Grid Infrastructures Michael Rambadt Philipp Wieder Central Institute for Applied Mathematics (ZAM) Research Centre Juelich D 52425 Juelich, Germany Phone: +49 2461 612057
More informationBACnet: A Data Communication Protocol for Building Automation and Control Networks
. BACnet: A Data Communication Protocol for Building Automation and Control Networks.......... CS495 Computer Networking Research Project Submitted By: Eric Durant Submitted To: Dr. Henry Welch Date: Wednesday
More informationSolve the Data Flow Problem
Gaining Condence in Distributed Systems Gleb Naumovich, Lori A. Clarke, and Leon J. Osterweil University of Massachusetts, Amherst Computer Science Department University of Massachusetts Amherst, Massachusetts
More informationResearch on outlier intrusion detection technologybased on data mining
Acta Technica 62 (2017), No. 4A, 635640 c 2017 Institute of Thermomechanics CAS, v.v.i. Research on outlier intrusion detection technologybased on data mining Liang zhu 1, 2 Abstract. With the rapid development
More informationDefinition, Detection, and Evaluation of Meeting Events in Airport Surveillance Videos
Definition, Detection, and Evaluation of Meeting Events in Airport Surveillance Videos Sung Chun Lee, Chang Huang, and Ram Nevatia University of Southern California, Los Angeles, CA 90089, USA sungchun@usc.edu,
More informationScaling-Out with Oracle Grid Computing on Dell Hardware
Scaling-Out with Oracle Grid Computing on Dell Hardware A Dell White Paper J. Craig Lowery, Ph.D. Enterprise Solutions Engineering Dell Inc. August 2003 Increasing computing power by adding inexpensive
More informationTechnische Universitat Munchen. Institut fur Informatik. D Munchen.
Developing Applications for Multicomputer Systems on Workstation Clusters Georg Stellner, Arndt Bode, Stefan Lamberts and Thomas Ludwig? Technische Universitat Munchen Institut fur Informatik Lehrstuhl
More informationCluster quality 15. Running time 0.7. Distance between estimated and true means Running time [s]
Fast, single-pass K-means algorithms Fredrik Farnstrom Computer Science and Engineering Lund Institute of Technology, Sweden arnstrom@ucsd.edu James Lewis Computer Science and Engineering University of
More informationMonitor and Map Vegetation Dynamics
Monitor and Map Vegetation Dynamics Design Specifications Client: Aaron Moody Submitted to: Professor Greg Welch, Comp145 February 20, 2001 Michael Smith Hani Alkhaldi Daniel Chen Victor Ibrahim Sarath
More informationThunks (continued) Olivier Danvy, John Hatcli. Department of Computing and Information Sciences. Kansas State University. Manhattan, Kansas 66506, USA
Thunks (continued) Olivier Danvy, John Hatcli Department of Computing and Information Sciences Kansas State University Manhattan, Kansas 66506, USA e-mail: (danvy, hatcli)@cis.ksu.edu Abstract: Call-by-name
More information