Submitted to the 11th International Symposium on Visual Languages, Darmstadt, Germany, September David Wetherall

Size: px
Start display at page:

Download "Submitted to the 11th International Symposium on Visual Languages, Darmstadt, Germany, September David Wetherall"

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 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 information

Khoral Research, Inc. Khoros is a powerful, integrated system which allows users to perform a variety

Khoral 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 information

and 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. [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 information

Visualisation of ATM network connectivity and. topology.

Visualisation 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 information

Stackable 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. 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 information

Developing 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 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 information

A taxonomy of race. D. P. Helmbold, C. E. McDowell. September 28, University of California, Santa Cruz. Santa Cruz, CA

A 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 information

Dewayne E. Perry. Abstract. An important ingredient in meeting today's market demands

Dewayne 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 information

Steering. Stream. User Interface. Stream. Manager. Interaction Managers. Snapshot. Stream

Steering. 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 information

Software 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 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 information

The Architecture of a System for the Indexing of Images by. Content

The 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 information

Adaptive Methods for Distributed Video Presentation. Oregon Graduate Institute of Science and Technology. fcrispin, scen, walpole,

Adaptive 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 information

Ron Weiss. Andrzej Duda. David K. Giord. Programming Systems Research Group. Many existing digital video abstractions rely on the

Ron 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 information

Solution: Reuse Design Patterns Design patterns support reuse of software architecture Patterns embody successful solutions to problems that arise whe

Solution: 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 information

Video Representation. Video Analysis

Video 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 information

TEMPORAL AND SPATIAL SEMANTIC MODELS FOR MULTIMEDIA PRESENTATIONS ABSTRACT

TEMPORAL 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 information

Component-Based Technologies for End-User Development

Component-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 information

Electronic Examinations e-exams Using Open Source Software

Electronic 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 information

A 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. 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 information

W3P: A Portable Presentation System for the World-Wide Web

W3P: 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 information

Rance Cleaveland The Concurrency Factory is an integrated toolset for specication, simulation,

Rance 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 information

Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model

Automatic 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 information

A Freely Congurable Audio-Mixing Engine. M. Rosenthal, M. Klebl, A. Gunzinger, G. Troster

A 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 information

2 Application Support via Proxies Onion Routing can be used with applications that are proxy-aware, as well as several non-proxy-aware applications, w

2 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 information

Implementation Techniques

Implementation 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 information

SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 7 TEAM SKILL 2: UNDERSTANDING USER AND STAKEHOLDER NEEDS REQUIREMENT ELICITATION TECHNIQUES-IV

SOFTWARE 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 information

CUMULVS: Collaborative Infrastructure for Developing. Abstract. by allowing them to dynamically attach to, view, and \steer" a running simulation.

CUMULVS: 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 information

On Object Orientation as a Paradigm for General Purpose. Distributed Operating Systems

On 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 information

An 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. 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 information

Server 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*

Server 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 information

Mobile 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 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 information

Introduction. Analytic simulation. Time Management

Introduction. 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 information

Brian Drabble, Je Dalton and Austin Tate

Brian 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 information

Brouillon 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, 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 information

Centre for Parallel Computing, University of Westminster, London, W1M 8JS

Centre 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 information

UMIACS-TR December, CS-TR-3192 Revised April, William Pugh. Dept. of Computer Science. Univ. of Maryland, College Park, MD 20742

UMIACS-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 information

COMPUTER GRAPHICS ANIMATION FOR CONSTRUCTION MANAGEMENT

COMPUTER 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 information

In earlier work, an image representation was developed which was appropriate to both image coding and object recognition. The representation involved

In 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 information

Rowena Cole and Luigi Barone. Department of Computer Science, The University of Western Australia, Western Australia, 6907

Rowena 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 information

security model. The framework allowed for quickly creating applications that examine nancial data stored in a database. The applications that are gene

security 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 information

An Introduction to Software Architecture

An 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 information

Shared File Directory

Shared 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 information

Monitoring the Usage of the ZEUS Analysis Grid

Monitoring 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 information

Adobe Flash Professional CC Voluntary Product Accessibility Template

Adobe 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 information

Knowledge- Based System CORBA ORB

Knowledge- 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 information

Computational Electronic Mail And Its Application In Library Automation

Computational 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 information

Language-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. 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 information

Egemen Tanin, Tahsin M. Kurc, Cevdet Aykanat, Bulent Ozguc. Abstract. Direct Volume Rendering (DVR) is a powerful technique for

Egemen 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 information

Martin P. Robillard and Gail C. Murphy. University of British Columbia. November, 1999

Martin 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 information

Relative Reduced Hops

Relative 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 information

An Approach to Task Attribute Assignment for Uniprocessor Systems

An 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 information

Design Pattern What is a Design Pattern? Design Pattern Elements. Almas Ansari Page 1

Design 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 information

Generalized Document Data Model for Integrating Autonomous Applications

Generalized 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 information

2 The MiníMax Principle First consider a simple problem. This problem will address the tradeos involved in a two-objective optimiation problem, where

2 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 information

Ch 1: The Architecture Business Cycle

Ch 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 information

An Introduction to Software Architecture

An 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 information

A 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. 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 information

Building FPGA Communications Projects with LabVIEW

Building 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 information

TKQML: A Scripting Tool for Building Agents

TKQML: 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 information

Reflective Java and A Reflective Component-Based Transaction Architecture

Reflective 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 information

The members of the Committee approve the thesis of Baosheng Cai defended on March David B. Whalley Professor Directing Thesis Xin Yuan Commit

The 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 information

SIGNAL PROCESSING TOOLS FOR SPEECH RECOGNITION 1

SIGNAL 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 information

Appendix: How to get OBST / tclobst. References

Appendix: 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 information

The ImageTcl Multimedia Algorithm Development System

The 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 information

Wimba Classroom VPAT

Wimba 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 information

Web site Image database. Web site Video database. Web server. Meta-server Meta-search Agent. Meta-DB. Video query. Text query. Web client.

Web 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 information

Benchmarking the CGNS I/O performance

Benchmarking 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 information

Department 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 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 information

Submitted for TAU97 Abstract Many attempts have been made to combine some form of retiming with combinational

Submitted 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 information

Figure 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

Figure 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 information

BSDM. David Robertson. John Fraser y. Christine Lissoni z. techniques can be used to build domain specic knowledge into such a tool

BSDM. 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 information

An Annotation Tool for Semantic Documents

An 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 information

2. PRELIMINARIES MANICURE is specically designed to prepare text collections from printed materials for information retrieval applications. In this ca

2. 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 information

2 Data Reduction Techniques The granularity of reducible information is one of the main criteria for classifying the reduction techniques. While the t

2 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 information

Skill. Robot/ Controller

Skill. 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 information

Outline. Computer Science 331. Information Hiding. What This Lecture is About. Data Structures, Abstract Data Types, and Their Implementations

Outline. 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 information

Machines that test Software like Humans

Machines 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 information

Introducing Motif. Motif User s Guide 1

Introducing 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 information

Application Programmer. Vienna Fortran Out-of-Core Program

Application 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 information

PerlDSM: A Distributed Shared Memory System for Perl

PerlDSM: 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 information

AADL Graphical Editor Design

AADL 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 information

Writing Tcl programs in the Medusa Applications Environment

Writing 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 information

Classifier C-Net. 2D Projected Images of 3D Objects. 2D Projected Images of 3D Objects. Model I. Model II

Classifier 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 information

Usability Evaluation as a Component of the OPEN Development Framework

Usability 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 information

Migration to Service Oriented Architecture Using Web Services Whitepaper

Migration 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 information

Toward Spatial Queries for Spatial Surveillance Tasks

Toward 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 information

SDC Design patterns GoF

SDC 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 information

AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz

AOSA - 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 information

Active Motion Detection and Object Tracking. Joachim Denzler and Dietrich W.R.Paulus.

Active 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 information

MIKE: a Multimodal Cinematographic Editor for Virtual Worlds

MIKE: 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 information

UNICORE Globus: Interoperability of Grid Infrastructures

UNICORE 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 information

BACnet: A Data Communication Protocol for Building Automation and Control Networks

BACnet: 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 information

Solve the Data Flow Problem

Solve 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 information

Research on outlier intrusion detection technologybased on data mining

Research 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 information

Definition, Detection, and Evaluation of Meeting Events in Airport Surveillance Videos

Definition, 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 information

Scaling-Out with Oracle Grid Computing on Dell Hardware

Scaling-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 information

Technische Universitat Munchen. Institut fur Informatik. D Munchen.

Technische 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 information

Cluster quality 15. Running time 0.7. Distance between estimated and true means Running time [s]

Cluster 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 information

Monitor and Map Vegetation Dynamics

Monitor 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 information

Thunks (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 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