Software Architecture for Immersipresence

Size: px
Start display at page:

Download "Software Architecture for Immersipresence"

Transcription

1 Software Architecture for Immersipresence Alexandre R.J. François Computer Science Department ARJF 2006

2 Software Architecture Design, analysis and implementation of software systems Explicit system structure Improve the flexibility and comprehensibility of software systems (Parnas, 1972) Address modularization as a design issue (Parnas) Technical basis for design Provable properties Blue-prints for implementation Tools for analysis Project management Separation of concerns Planning: cost estimation, resource allocation

3 Immersipresence Vision of the Integrated Media System Center Combine real world with virtual world NSF ERC in Multimedia, est Experience immersion, presence Interact naturally Collaborate through shared virtual/augmented space Build systems capable of: Handling video, sound, haptics, etc. Real-time analysis/synthesis (immersion) Low latency (interaction)

4 Requirements for Immersipresence Interoperability Efficiency On-line, real-time, low latency Scalability Combine research from different fields/teams Performance evaluation and prediction General model for distributed asynchronous concurrent processing of data streams

5 SAI Principles Time Volatile vs. persistent data Asynchronous concurrent processing Architectural style [ICSE2004] High level abstractions Hybrid model or more general model?

6 Architectural Primitives Stream Processing unit (no state) Asynchronous parallel model Source Volatile data Cell persistent data Source Volatile data Cell Stream Shared repository of persistent data Pulse Synchronization structure (time stamp, duration) Active: volatile, flow down stream connections Passive: persistent (dynamic), held in sources

7 Constraints and Semantics Cell-cell: volatile data samples (stream) Cell-source: persistent data access At most one upstream cell Any number of downstream cells Process dependency Exactly one source to a given cell Any number of cells to a given source Stream (message passing) Source Concurrent access (shared repository) Processing model Active pulse triggers cell process Process may add to active pulse Process may modify passive pulse Cell Passive pulse: persistent data Active pulse: volatile data

8 Architectural Middleware Support architectural abstractions Pulse, source, cell, etc. Direct mapping from logical specification to code! Modular Flow Scheduling Middleware (MFSM) Open source project: mfsm.sourceforge.net C++, cross-platform (GNU compiler) Base library, functional modules, documentation, tutorials

9 MFSM Diagram

10 VisualSAI

11 CAMSHIFT Tracking Tracking algorithm: CAMSHIFT Continuous Adaptive Mean SHIFT (Bradski, 1998) Mean shift: iteratively find the mode in a probability density distribution (Comaniciu & Meer, 1997) Perceptual User Interface Real-time video processing

12 Example System Video input +input image CAMSHIFT tracker CAMSHIFT tracker node +new position Rendering +composite image Image display

13 Refinement 1 Video input Video input +input image +input image CAMSHIFT tracker CAMSHIFT tracker node Step I +new position Rendering +composite image Image display Color conversion +HSV image Step II Histogram node Step III Last known bounding box Back-projection +back-projection image CAMSHIFT +new bounding box, size and orientation Rendering Constrains +composite image Image display

14 Refinement 2 Video input Video input Video input +input image +input image +input image Color conversion Color conversion +HSV image +HSV image CAMSHIFT tracker CAMSHIFT tracker node Step I +new position Rendering +composite image Image display Step II Histogram node Step III Last known bounding box Back-projection +back-projection image +back-projection image CAMSHIFT +new bounding box, size and orientation Rendering Constrains Back-projection Histogram node +composite image Image display Box update Mean shift +new position Last known bounding box Moments +new bounding box, size and orientation Rendering +composite image Image display

15 General Tracking Pattern Video input +input image Color conversion +HSV image Back-projection Tracking source Predict +Predicted targets Tracked targets Update Histogram node +back-projection image Box update Mean shift +new position Last known bounding box Track +Tracked targets Moments +new bounding box, size and orientation Acquire +New targets Rendering +composite image Image display

16 Vision for Robot: Stevi 1 Stereo input and pre-processing +input left +input right Photo courtesy of ETRI Stereo video input Video input Video input interface left interface right Color transform right Color transform left +HSV right +HSV left Color data left Color data right +Color data left +Color data right Barrier Stereo multi-target tracking Barrier synchronization Predict targets Update targets Tracking source +Predicted targets Tracked targets Track targets Acquire targets +Tracked targets +Residual image left +Residual image right +New targets Visualization Render targets +Composite image left +Composite image right Image display left Image display right

17 MuSA.RT Music on the Spiral Array. Real Time Commands Spectator Pulsar Co-PI: Elaine Chew Camera control Pulsar Rendering Frames User input Display Spiral array camera and other process parameters MIDI input Events Pulsar Tonal data integration Event processing Performer

18 ESP Expression Synthesis Project Driver Co-PI: Elaine Chew Velocity update Pulsar Driver input Position computation Pulsar Pulsar Frames parameters for rendering and other processes Display Events MIDI event buffer current position and velocity MIDI output Visual rendering Pulsar MIDI event generation synthesizer

19 Distributed Game Project Net Receive Game server graph Net Send (Game Server) Decoding Encoding Physics (motion+collision) User input (player control) Consistency (referee) World update World description 25 students, 2 months Distributed development Real-time multiplayer gaming with database recording/replay Encoding Net Send (Clients) Net Send (DataBase) Database Player client graph Net Receive (Game server) Game Server Player Pulsar Renderer World update (Decoding) Parameters World description Spectator Client Player Client Image display

20 Summary SAI: Software Architecture for Immersipresence Applications: Design and analysis of complex software systems MFSM: Architectural middleware Patterns for synchronization Interactive music systems, Computer vision and graphics systems, Distributed Interactive games, etc. For more information:

21 SAI Properties (1) Model time explicitly in data and processing Model modularity Model concurrent execution (asynchronous) Separation of concerns Scalability Separate throughput and latency Model distributed computing

22 SAI Properties (2) Facilitate system design Facilitate system analysis Safety, liveness, etc. Facilitate distributed development Intuitive architectural style, based on data streams Unified processing model and unified data model Design patterns Fast integration Code reusability Facilitate system maintenance, modification and evolution Change in algorithm and in function

23 Acknowledgments and Disclaimer The research presented here was funded in part by: The Integrated Media Systems Center, an NSF Engineering Research Center, Cooperative agreement No. EEC The Advanced Research and Development Activity of the U.S. Government under contract No. MDA C-0036 Any opinions, findings and conclusions or recommendations expressed in this material are those of the author and do not necessarily reflect those of the funding agencies.

CAMSHIFT Tracker Design Experiments with Intel OpenCV and SAI

CAMSHIFT Tracker Design Experiments with Intel OpenCV and SAI CAMSHIFT Tracker Design Experiments with Intel OpenCV and SAI Alexandre R.J. François Institute for Robotics and Intelligent Systems University of Southern California afrancoi@usc.edu July 2004 Abstract

More information

Software Architecture for Immersipresence

Software Architecture for Immersipresence Software Architecture for Immersipresence Alexandre R.J. François Integrated Media Systems Center University of Southern California afrancoi@usc.edu December 2003 Abstract Immersive, interactive applications

More information

Software Architecture for Computer Vision: Beyond Pipes and Filters

Software Architecture for Computer Vision: Beyond Pipes and Filters Software Architecture for Computer Vision: Beyond Pipes and Filters Alexandre R.J. François Institute for Robotics and Intelligent Systems University of Southern California afrancoi@usc.edu July 2003 Abstract

More information

Completing the Multimedia Architecture

Completing the Multimedia Architecture Copyright Khronos Group, 2011 - Page 1 Completing the Multimedia Architecture Erik Noreke Chair of OpenSL ES Working Group Chair of OpenMAX AL Working Group Copyright Khronos Group, 2011 - Page 2 Today

More information

SOA = Same Old Architecture?

SOA = Same Old Architecture? SOA = Same Old Architecture? Gregor Hohpe Software Engineer www.eaipatterns.com Could It Be So Easy? WSDL SOAP WS-* Int MyMethod(String text) { } WebMethod Cut Copy Paste Buzzword compliant, but not a

More information

The OpenVX Computer Vision and Neural Network Inference

The OpenVX Computer Vision and Neural Network Inference The OpenVX Computer and Neural Network Inference Standard for Portable, Efficient Code Radhakrishna Giduthuri Editor, OpenVX Khronos Group radha.giduthuri@amd.com @RadhaGiduthuri Copyright 2018 Khronos

More information

Teleport Messaging for. Distributed Stream Programs

Teleport Messaging for. Distributed Stream Programs Teleport Messaging for 1 Distributed Stream Programs William Thies, Michal Karczmarek, Janis Sermulins, Rodric Rabbah and Saman Amarasinghe Massachusetts Institute of Technology PPoPP 2005 http://cag.lcs.mit.edu/streamit

More information

Challenges in component based programming. Lena Buffoni

Challenges in component based programming. Lena Buffoni Challenges in component based programming Lena Buffoni Challenge: Size & complexity Software is everywhere and increasingly complex (embedded systems, internet of things ) Single products have become product

More information

PROCESSES AND THREADS

PROCESSES AND THREADS PROCESSES AND THREADS A process is a heavyweight flow that can execute concurrently with other processes. A thread is a lightweight flow that can execute concurrently with other threads within the same

More information

An Introduction to Software Architecture. David Garlan & Mary Shaw 94

An Introduction to Software Architecture. David Garlan & Mary Shaw 94 An Introduction to Software Architecture David Garlan & Mary Shaw 94 Motivation Motivation An increase in (system) size and complexity structural issues communication (type, protocol) synchronization data

More information

The MPI Message-passing Standard Practical use and implementation (I) SPD Course 2/03/2010 Massimo Coppola

The MPI Message-passing Standard Practical use and implementation (I) SPD Course 2/03/2010 Massimo Coppola The MPI Message-passing Standard Practical use and implementation (I) SPD Course 2/03/2010 Massimo Coppola What is MPI MPI: Message Passing Interface a standard defining a communication library that allows

More information

Optimal Video Adaptation and Skimming Using a Utility-Based Framework

Optimal Video Adaptation and Skimming Using a Utility-Based Framework Optimal Video Adaptation and Skimming Using a Utility-Based Framework Shih-Fu Chang Digital Video and Multimedia Lab ADVENT University-Industry Consortium Columbia University Sept. 9th 2002 http://www.ee.columbia.edu/dvmm

More information

Distributed Multimedia Systems

Distributed Multimedia Systems Distributed Multimedia Systems 8. Multimedia Applications László Böszörményi Distributed Multimedia Systems Multimedia Applications - 1 Application Categorization Market-oriented view Kiosk, educational,

More information

WHAT IS BFA NEW MEDIA?

WHAT IS BFA NEW MEDIA? VISUAL & TYPE WEB & INTERACTIVE MOTION GRAPHICS DIGITAL IMAGING VIDEO DIGITAL PHOTO VECTOR DRAWING AUDIO To learn more and see three years of our best student work, please visit: webdesignnewmedia.com

More information

Amigo Symposium 28 February 2008

Amigo Symposium 28 February 2008 Ambient Intelligence for the networked home environment Amigo Symposium 28 February 2008 Maddy D. Janse Philips Research Content problem Amigo approach architecture applications and services conclusion

More information

About Phoenix FD PLUGIN FOR 3DS MAX AND MAYA. SIMULATING AND RENDERING BOTH LIQUIDS AND FIRE/SMOKE. USED IN MOVIES, GAMES AND COMMERCIALS.

About Phoenix FD PLUGIN FOR 3DS MAX AND MAYA. SIMULATING AND RENDERING BOTH LIQUIDS AND FIRE/SMOKE. USED IN MOVIES, GAMES AND COMMERCIALS. About Phoenix FD PLUGIN FOR 3DS MAX AND MAYA. SIMULATING AND RENDERING BOTH LIQUIDS AND FIRE/SMOKE. USED IN MOVIES, GAMES AND COMMERCIALS. Phoenix FD core SIMULATION & RENDERING. SIMULATION CORE - GRID-BASED

More information

9/8/2016. Characteristics of multimedia Various media types

9/8/2016. Characteristics of multimedia Various media types Chapter 1 Introduction to Multimedia Networking CLO1: Define fundamentals of multimedia networking Upon completion of this chapter students should be able to define: 1- Multimedia 2- Multimedia types and

More information

Processing Interaction Protocols in Parallel: a Logic Programming implementation for Robotic Soccer

Processing Interaction Protocols in Parallel: a Logic Programming implementation for Robotic Soccer Processing Interaction Protocols in Parallel: a Logic Programming implementation for Robotic Soccer Mariano Tucat 1 Alejandro J. García 2 Artificial Intelligence Research and Development Laboratory Department

More information

Traditional Approaches to Modeling

Traditional Approaches to Modeling Traditional Approaches to Modeling Timeliness, Performance and How They Relate to Modeling, Architecture and Design Mark S. Gerhardt Chief Architect Pittsburgh, PA 15213 Levels of Real Time Performance

More information

Real-Time Multi-Resolution Blob Tracking

Real-Time Multi-Resolution Blob Tracking Real-Time Multi-Resolution Blob Tracking Alexandre R.J. François Institute for Robotics and Intelligent Systems University of Southern California afrancoi@usc.edu April 2004 Abstract This paper introduces

More information

Embedded Software Engineering

Embedded Software Engineering Embedded Software Engineering 3 Unit Course, Spring 2002 EECS Department, UC Berkeley Christoph Kirsch www.eecs.berkeley.edu/~fresco/giotto/course-2002 It s significant $4 billion development effort >

More information

MODEL BASED TEST DESIGN AT UNITY

MODEL BASED TEST DESIGN AT UNITY Sophia Antipolis, French Riviera 20-22 October 2015 MODEL BASED TEST DESIGN AT UNITY Marek Turski, Ilya Turshatov, Tomasz Paszek Unity Technologies All rights reserved Unity Technologies Provider of an

More information

OpenMAX AL, OpenSL ES

OpenMAX AL, OpenSL ES Copyright Khronos Group, 2011 - Page 1 OpenMAX AL, OpenSL ES Native Multimedia in Android Erik Noreke Chair of OpenMAX AL and OpenSL ES Working Groups Copyright Khronos Group, 2011 - Page 2 Why Create

More information

A Model-Driven Approach to Embedded Control System Implementation

A Model-Driven Approach to Embedded Control System Implementation A Model-Driven Approach to Embedded Control System Implementation Jan F. Broenink, Marcel A. Groothuis, Peter M. Visser, Bojan Orlic Control Engineering, CTIT, Faculty EE-M-CS,, Enschede, Netherlands e-mail:

More information

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES Dr. Jack Lange Computer Science Department University of Pittsburgh Fall 2015 Outline System Architectural Design Issues Centralized Architectures Application

More information

Streaming Media. Advanced Audio. Erik Noreke Standardization Consultant Chair, OpenSL ES. Copyright Khronos Group, Page 1

Streaming Media. Advanced Audio. Erik Noreke Standardization Consultant Chair, OpenSL ES. Copyright Khronos Group, Page 1 Streaming Media Advanced Audio Erik Noreke Standardization Consultant Chair, OpenSL ES Copyright Khronos Group, 2010 - Page 1 Today s Consumer Requirements Rich media applications and UI - Consumer decisions

More information

Chapter 6 Architectural Design

Chapter 6 Architectural Design Chapter 6 Architectural Design Chapter 6 Architectural Design Slide 1 Topics covered The WHAT and WHY of architectural design Architectural design decisions Architectural views/perspectives Architectural

More information

Copyright Khronos Group Page 1. Vulkan Overview. June 2015

Copyright Khronos Group Page 1. Vulkan Overview. June 2015 Copyright Khronos Group 2015 - Page 1 Vulkan Overview June 2015 Copyright Khronos Group 2015 - Page 2 Khronos Connects Software to Silicon Open Consortium creating OPEN STANDARD APIs for hardware acceleration

More information

Processing Interaction Protocols in Parallel: a Logic Programming implementation for Robotic Soccer

Processing Interaction Protocols in Parallel: a Logic Programming implementation for Robotic Soccer Processing Interaction Protocols in Parallel: a Logic Programming implementation for Robotic Soccer Mariano Tucat Alejandro J. García mt@cs.uns.edu.ar ajg@cs.uns.edu.ar Consejo Nacional de Investigaciones

More information

Toward a Memory-centric Architecture

Toward a Memory-centric Architecture Toward a Memory-centric Architecture Martin Fink EVP & Chief Technology Officer Western Digital Corporation August 8, 2017 1 SAFE HARBOR DISCLAIMERS Forward-Looking Statements This presentation contains

More information

Networked CPS: Some Fundamental Challenges

Networked CPS: Some Fundamental Challenges Networked CPS: Some Fundamental Challenges John S. Baras Institute for Systems Research Department of Electrical and Computer Engineering Fischell Department of Bioengineering Department of Mechanical

More information

Raising the Level of Development: Models, Architectures, Programs

Raising the Level of Development: Models, Architectures, Programs IBM Software Group Raising the Level of Development: Models, Architectures, Programs Dr. James Rumbaugh IBM Distinguished Engineer Why Is Software Difficult? Business domain and computer have different

More information

MPEG-4 Structured Audio Systems

MPEG-4 Structured Audio Systems MPEG-4 Structured Audio Systems Mihir Anandpara The University of Texas at Austin anandpar@ece.utexas.edu 1 Abstract The MPEG-4 standard has been proposed to provide high quality audio and video content

More information

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms?

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? CIS 8690 Enterprise Architectures Duane Truex, 2013 Cognitive Map of 8090

More information

Review Sources of Architecture. Why Domain-Specific?

Review Sources of Architecture. Why Domain-Specific? Domain-Specific Software Architectures (DSSA) 1 Review Sources of Architecture Main sources of architecture black magic architectural visions intuition theft method Routine design vs. innovative design

More information

An Introduction to Software Architecture By David Garlan & Mary Shaw 94

An Introduction to Software Architecture By David Garlan & Mary Shaw 94 IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion An Introduction to

More information

Program generation for schema-based, typed data access

Program generation for schema-based, typed data access Program generation for schema-based, typed data access Ralf Lämmel Software Engineer Facebook, London Program generation A use case at Facebook Purpose of generation: typed data access ("O/R mapping" et

More information

Software Architectures

Software Architectures Software Architectures Richard N. Taylor Information and Computer Science University of California, Irvine Irvine, California 92697-3425 taylor@ics.uci.edu http://www.ics.uci.edu/~taylor +1-949-824-6429

More information

Design guidelines for embedded real time face detection application

Design guidelines for embedded real time face detection application Design guidelines for embedded real time face detection application White paper for Embedded Vision Alliance By Eldad Melamed Much like the human visual system, embedded computer vision systems perform

More information

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS What is an operating system? A collection of software modules to assist programmers in enhancing system efficiency, flexibility, and robustness An Extended Machine

More information

Module 10 MULTIMEDIA SYNCHRONIZATION

Module 10 MULTIMEDIA SYNCHRONIZATION Module 10 MULTIMEDIA SYNCHRONIZATION Lesson 36 Packet architectures and audio-video interleaving Instructional objectives At the end of this lesson, the students should be able to: 1. Show the packet architecture

More information

Towards a DDS-based Platform Specific Model for Robotics

Towards a DDS-based Platform Specific Model for Robotics Towards a DDS-based Platform Specific Model for Robotics Juan Pedro Bandera Rubio, Adrián Garcés and Jesús Martínez SDIR VI, ICRA 2011 May 9, 2011 Shangai (China) University of Málaga, University of Extremadura,

More information

Dietrich Paulus Joachim Hornegger. Pattern Recognition of Images and Speech in C++

Dietrich Paulus Joachim Hornegger. Pattern Recognition of Images and Speech in C++ Dietrich Paulus Joachim Hornegger Pattern Recognition of Images and Speech in C++ To Dorothea, Belinda, and Dominik In the text we use the following names which are protected, trademarks owned by a company

More information

Overview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host

Overview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host Distributed Software Architecture Using Middleware Mitul Patel 1 Overview Distributed Systems Middleware What is it? Why do we need it? Types of Middleware Example Summary 2 Distributed Systems Components

More information

Dynamic Dataflow. Seminar on embedded systems

Dynamic Dataflow. Seminar on embedded systems Dynamic Dataflow Seminar on embedded systems Dataflow Dataflow programming, Dataflow architecture Dataflow Models of Computation Computation is divided into nodes that can be executed concurrently Dataflow

More information

Sentinet for Windows Azure VERSION 2.2

Sentinet for Windows Azure VERSION 2.2 Sentinet for Windows Azure VERSION 2.2 Sentinet for Windows Azure 1 Contents Introduction... 2 Customer Benefits... 2 Deployment Topologies... 3 Isolated Deployment Model... 3 Collocated Deployment Model...

More information

Embedded System Design

Embedded System Design Embedded System Design p. 1/2 Embedded System Design Prof. Stephen A. Edwards sedwards@cs.columbia.edu Spring 2006 Spot the Computer Embedded System Design p. 2/2 Embedded System Design p. 3/2 Hidden Computers

More information

ISO/IEC TR TECHNICAL REPORT. Information technology Coding of audio-visual objects Part 24: Audio and systems interaction

ISO/IEC TR TECHNICAL REPORT. Information technology Coding of audio-visual objects Part 24: Audio and systems interaction TECHNICAL REPORT ISO/IEC TR 14496-24 First edition 2008-01-15 Information technology Coding of audio-visual objects Part 24: Audio and systems interaction Technologies de l'information Codage d'objets

More information

Intelligent Robots for Handling of Flexible Objects. IRFO Vision System

Intelligent Robots for Handling of Flexible Objects. IRFO Vision System Intelligent Robots for Handling of Flexible Objects IRFO Vision System Andreas Jordt Multimedia Information Processing Institute of Computer Science University Kiel IRFO Vision System Overview 2) Sensing

More information

Architectural Design. Topics covered. Architectural Design. Software architecture. Recall the design process

Architectural Design. Topics covered. Architectural Design. Software architecture. Recall the design process Architectural Design Objectives To introduce architectural design and to discuss its importance To explain the architectural design decisions that have to be made To introduce three complementary architectural

More information

Architecture or Parallel Computers CSC / ECE 506

Architecture or Parallel Computers CSC / ECE 506 Architecture or Parallel Computers CSC / ECE 506 Summer 2006 Scalable Programming Models 6/19/2006 Dr Steve Hunter Back to Basics Parallel Architecture = Computer Architecture + Communication Architecture

More information

Architectural Blueprint

Architectural Blueprint IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint

More information

TouchSense System 1000 Series Tactile Feedback Design Kit for Industrial Strength Applications

TouchSense System 1000 Series Tactile Feedback Design Kit for Industrial Strength Applications TouchSense System 1000 Series Tactile Feedback Design Kit for Industrial Strength Applications TouchSense Design Kits include components and documentation for prototyping haptic effects into your industrial

More information

Software Architecture

Software Architecture Software Architecture Does software architecture global design?, architect designer? Overview What is it, why bother? Architecture Design Viewpoints and view models Architectural styles Architecture asssessment

More information

Project Report for EE7700

Project Report for EE7700 Project Report for EE7700 Name: Jing Chen, Shaoming Chen Student ID: 89-507-3494, 89-295-9668 Face Tracking 1. Objective of the study Given a video, this semester project aims at implementing algorithms

More information

A Modified Mean Shift Algorithm for Visual Object Tracking

A Modified Mean Shift Algorithm for Visual Object Tracking A Modified Mean Shift Algorithm for Visual Object Tracking Shu-Wei Chou 1, Chaur-Heh Hsieh 2, Bor-Jiunn Hwang 3, Hown-Wen Chen 4 Department of Computer and Communication Engineering, Ming-Chuan University,

More information

Unit 2: High-Level Synthesis

Unit 2: High-Level Synthesis Course contents Unit 2: High-Level Synthesis Hardware modeling Data flow Scheduling/allocation/assignment Reading Chapter 11 Unit 2 1 High-Level Synthesis (HLS) Hardware-description language (HDL) synthesis

More information

Studio 4. software for machine vision engineers. intuitive powerful adaptable. Adaptive Vision 4 1

Studio 4. software for machine vision engineers. intuitive powerful adaptable. Adaptive Vision 4 1 Studio 4 intuitive powerful adaptable software for machine vision engineers Adaptive Vision 4 Introduction Adaptive Vision Studio Adaptive Vision Studio software is the most powerful graphical environment

More information

An Introduction to Software Architecture By David Garlan & Mary Shaw 94

An Introduction to Software Architecture By David Garlan & Mary Shaw 94 IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion An Introduction to

More information

Curriculum 2013 Knowledge Units Pertaining to PDC

Curriculum 2013 Knowledge Units Pertaining to PDC Curriculum 2013 Knowledge Units Pertaining to C KA KU Tier Level NumC Learning Outcome Assembly level machine Describe how an instruction is executed in a classical von Neumann machine, with organization

More information

Today: Distributed Objects. Distributed Objects

Today: Distributed Objects. Distributed Objects Today: Distributed Objects Case study: EJBs (Enterprise Java Beans) Case study: CORBA Lecture 23, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy.

More information

Networked Virtual Environments

Networked Virtual Environments Special Course on Networked Virtual Jouni Smed Turku Centre for Computer Science (TUCS) Department of Information Technology, University of Turku 2004 Course Syllabus credits: 2 cu prerequisites: knowledge

More information

ALTERA M9K EMBEDDED MEMORY BLOCKS

ALTERA M9K EMBEDDED MEMORY BLOCKS ALTERA M9K EMBEDDED MEMORY BLOCKS M9K Overview M9K memories are Altera s embedded high-density memory arrays Nearly all modern FPGAs include something similar of varying sizes 8192 bits per block (9216

More information

Chapter 6 Architectural Design. Chapter 6 Architectural design

Chapter 6 Architectural Design. Chapter 6 Architectural design Chapter 6 Architectural Design 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process for identifying

More information

CMSC 330: Organization of Programming Languages

CMSC 330: Organization of Programming Languages CMSC 330: Organization of Programming Languages Multithreading Multiprocessors Description Multiple processing units (multiprocessor) From single microprocessor to large compute clusters Can perform multiple

More information

MPEG-4 AUTHORING TOOL FOR THE COMPOSITION OF 3D AUDIOVISUAL SCENES

MPEG-4 AUTHORING TOOL FOR THE COMPOSITION OF 3D AUDIOVISUAL SCENES MPEG-4 AUTHORING TOOL FOR THE COMPOSITION OF 3D AUDIOVISUAL SCENES P. Daras I. Kompatsiaris T. Raptis M. G. Strintzis Informatics and Telematics Institute 1,Kyvernidou str. 546 39 Thessaloniki, GREECE

More information

Nooks. Robert Grimm New York University

Nooks. Robert Grimm New York University Nooks Robert Grimm New York University The Three Questions What is the problem? What is new or different? What are the contributions and limitations? Design and Implementation Nooks Overview An isolation

More information

CS 528 Mobile and Ubiquitous Computing Lecture 4a: Playing Sound and Video Emmanuel Agu

CS 528 Mobile and Ubiquitous Computing Lecture 4a: Playing Sound and Video Emmanuel Agu CS 528 Mobile and Ubiquitous Computing Lecture 4a: Playing Sound and Video Emmanuel Agu Reminder: Final Project 1-slide from group in 2 weeks Thursday October 11: 2/30 of final project grade Slide should

More information

Visual Tracking. Image Processing Laboratory Dipartimento di Matematica e Informatica Università degli studi di Catania.

Visual Tracking. Image Processing Laboratory Dipartimento di Matematica e Informatica Università degli studi di Catania. Image Processing Laboratory Dipartimento di Matematica e Informatica Università degli studi di Catania 1 What is visual tracking? estimation of the target location over time 2 applications Six main areas:

More information

Computer Vision II Lecture 4

Computer Vision II Lecture 4 Computer Vision II Lecture 4 Color based Tracking 29.04.2014 Bastian Leibe RWTH Aachen http://www.vision.rwth-aachen.de leibe@vision.rwth-aachen.de Course Outline Single-Object Tracking Background modeling

More information

Experiences from the first step in designing an Architecture executing Executable UML semantics in Programmable Logic using VHDL

Experiences from the first step in designing an Architecture executing Executable UML semantics in Programmable Logic using VHDL Experiences from the first step in designing an Architecture executing Executable UML semantics in Programmable Logic using VHDL 1 SAAB BOFORS DYNAMICS Anders Eriksson Senior Software Systems Engineer

More information

ISO/IEC Information technology High efficiency coding and media delivery in heterogeneous environments. Part 3: 3D audio

ISO/IEC Information technology High efficiency coding and media delivery in heterogeneous environments. Part 3: 3D audio INTERNATIONAL STANDARD ISO/IEC 23008-3 First edition 2015-10-15 Corrected version 2016-03-01 Information technology High efficiency coding and media delivery in heterogeneous environments Part 3: 3D audio

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

Investigation of System Timing Concerns in Embedded Systems: Tool-based Analysis of AADL Models

Investigation of System Timing Concerns in Embedded Systems: Tool-based Analysis of AADL Models Investigation of System Timing Concerns in Embedded Systems: Tool-based Analysis of AADL Models Peter Feiler Software Engineering Institute phf@sei.cmu.edu 412-268-7790 2004 by Carnegie Mellon University

More information

Modelling, Analysis and Scheduling with Dataflow Models

Modelling, Analysis and Scheduling with Dataflow Models technische universiteit eindhoven Modelling, Analysis and Scheduling with Dataflow Models Marc Geilen, Bart Theelen, Twan Basten, Sander Stuijk, AmirHossein Ghamarian, Jeroen Voeten Eindhoven University

More information

Chapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design

Chapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design Chapter 6 Architectural Design Lecture 1 1 Topics covered ² Architectural design decisions ² Architectural views ² Architectural patterns ² Application architectures 2 Software architecture ² The design

More information

The Impact of SOA Policy-Based Computing on C2 Interoperation and Computing. R. Paul, W. T. Tsai, Jay Bayne

The Impact of SOA Policy-Based Computing on C2 Interoperation and Computing. R. Paul, W. T. Tsai, Jay Bayne The Impact of SOA Policy-Based Computing on C2 Interoperation and Computing R. Paul, W. T. Tsai, Jay Bayne 1 Table of Content Introduction Service-Oriented Computing Acceptance of SOA within DOD Policy-based

More information

Visual Tracking. Antonino Furnari. Image Processing Lab Dipartimento di Matematica e Informatica Università degli Studi di Catania

Visual Tracking. Antonino Furnari. Image Processing Lab Dipartimento di Matematica e Informatica Università degli Studi di Catania Visual Tracking Antonino Furnari Image Processing Lab Dipartimento di Matematica e Informatica Università degli Studi di Catania furnari@dmi.unict.it 11 giugno 2015 What is visual tracking? estimation

More information

High-assurance software for autonomous ground systems

High-assurance software for autonomous ground systems High-assurance software for autonomous ground systems Aleksey Nogin HRL Laboratories, LLC December 15, 2016 Acknowledgment: This material is based upon work supported by the United States Air Force and

More information

Chapter 2 Overview of the Design Methodology

Chapter 2 Overview of the Design Methodology Chapter 2 Overview of the Design Methodology This chapter presents an overview of the design methodology which is developed in this thesis, by identifying global abstraction levels at which a distributed

More information

Why Consider Implementation-Level Decisions in Software Architectures?

Why Consider Implementation-Level Decisions in Software Architectures? 1. Abstract Why Consider Implementation-Level Decisions in Software Architectures? Nikunj Mehta Nenad Medvidović Marija Rakić {mehta, neno, marija}@sunset.usc.edu Department of Computer Science University

More information

Real-Time Coordination in Distributed Multimedia Systems

Real-Time Coordination in Distributed Multimedia Systems Real-Time Coordination in Distributed Multimedia Systems Theophilos A. Limniotes and George A. Papadopoulos Department of Computer Science University of Cyprus 75 Kallipoleos Str, P.O.B. 20537 CY-1678

More information

3C05 - Advanced Software Engineering Thursday, April 29, 2004

3C05 - Advanced Software Engineering Thursday, April 29, 2004 Distributed Software Architecture Using Middleware Avtar Raikmo Overview Middleware What is middleware? Why do we need middleware? Types of middleware Distributed Software Architecture Business Object

More information

Measured latency of low-latency frontend

Measured latency of low-latency frontend Measured latency of low-latency frontend W.Pasman, 29/4/99 Introduction In earlier reports it was discussed that augmented reality has severe constraints on the latency (Pasman, 1997). The end-to-end latency

More information

Synthesizing Communication Middleware from Explicit Connectors in Component Based Distributed Architectures

Synthesizing Communication Middleware from Explicit Connectors in Component Based Distributed Architectures Synthesizing Communication Middleware from Explicit Connectors in Component Based Distributed Architectures Dietmar Schreiner 1,2 and Karl M. Göschka 1 1 Vienna University of Technology Institute of Information

More information

Supercomputing and Mass Market Desktops

Supercomputing and Mass Market Desktops Supercomputing and Mass Market Desktops John Manferdelli Microsoft Corporation This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

More information

Computer Architecture: Dataflow/Systolic Arrays

Computer Architecture: Dataflow/Systolic Arrays Data Flow Computer Architecture: Dataflow/Systolic Arrays he models we have examined all assumed Instructions are fetched and retired in sequential, control flow order his is part of the Von-Neumann model

More information

Software Architecture

Software Architecture Software Architecture Architectural Design and Patterns. Standard Architectures. Dr. Philipp Leitner @xleitix University of Zurich, Switzerland software evolution & architecture lab Architecting, the planning

More information

Protocols SPL/ SPL

Protocols SPL/ SPL Protocols 1 Application Level Protocol Design atomic units used by protocol: "messages" encoding reusable, protocol independent, TCP server, LinePrinting protocol implementation 2 Protocol Definition set

More information

Architectural Design. Architectural Design. Software Architecture. Architectural Models

Architectural Design. Architectural Design. Software Architecture. Architectural Models Architectural Design Architectural Design Chapter 6 Architectural Design: -the design the desig process for identifying: - the subsystems making up a system and - the relationships between the subsystems

More information

IPC. Communication. Layered Protocols. Layered Protocols (1) Data Link Layer. Layered Protocols (2)

IPC. Communication. Layered Protocols. Layered Protocols (1) Data Link Layer. Layered Protocols (2) IPC Communication Chapter 2 Inter-Process Communication is the heart of all DSs. Processes on different machines. Always based on low-level message passing. In this chapter: RPC RMI MOM (Message Oriented

More information

Media Streaming for Immersive, Collaborative Environments

Media Streaming for Immersive, Collaborative Environments Media Streaming for Immersive, Collaborative Environments Integrated Media Systems Center University of Southern California Los Angeles, CA 90089 NTU / EDB Singapore Visit, February 14, 2006 http://imsc.usc.edu

More information

Introduction to Parallel Computing

Introduction to Parallel Computing Portland State University ECE 588/688 Introduction to Parallel Computing Reference: Lawrence Livermore National Lab Tutorial https://computing.llnl.gov/tutorials/parallel_comp/ Copyright by Alaa Alameldeen

More information

Functional Programming in Hardware Design

Functional Programming in Hardware Design Functional Programming in Hardware Design Tomasz Wegrzanowski Saarland University Tomasz.Wegrzanowski@gmail.com 1 Introduction According to the Moore s law, hardware complexity grows exponentially, doubling

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

MDF4 Lib. Product Information

MDF4 Lib. Product Information Product Information Table of Contents 1 Overview...3 1.1 Introduction...3 1.2 Application Areas...3 1.3 Overview of Advantages...3 2 Features and Advantages...4 2.1 Supported MDF Versions...4 3 Functional

More information

Hardware-Software Codesign. 1. Introduction

Hardware-Software Codesign. 1. Introduction Hardware-Software Codesign 1. Introduction Lothar Thiele 1-1 Contents What is an Embedded System? Levels of Abstraction in Electronic System Design Typical Design Flow of Hardware-Software Systems 1-2

More information

On the Advanced 5G Network Infrastructure for the Future Internet

On the Advanced 5G Network Infrastructure for the Future Internet On the Advanced 5G Network Infrastructure for the Future Internet IEEE ICC 2013 Panel 8 Budapest 12/06/2013 www.huawei.com Dr. David Soldani http://de.linkedin.com/pub/dr-david-soldani/a/6a0/336 Head of

More information

Context Aware Computing

Context Aware Computing CPET 565/CPET 499 Mobile Computing Systems Context Aware Computing Lecture 7 Paul I-Hai Lin, Professor Electrical and Computer Engineering Technology Purdue University Fort Wayne Campus 1 Context-Aware

More information

Design Patterns for Real-Time Computer Music Systems

Design Patterns for Real-Time Computer Music Systems Design Patterns for Real-Time Computer Music Systems Roger B. Dannenberg and Ross Bencina 4 September 2005 This document contains a set of design patterns for real time systems, particularly for computer

More information