collaborative development of interactive software systems software architecture for immersipresence

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "collaborative development of interactive software systems software architecture for immersipresence"

Transcription

1 collaborative development of interactive software systems software architecture for immersipresence alexandre r.j. françois visiting assistant professor of computer science tufts university research assistant professor of computer science viterbi school of engineering, university of southern california

2 Software Architecture Design, analysis and implementation of software systems Improve the flexibility and comprehensibility of software systems Address modularization as a design issue (higher level than language level) Explicit system structure 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 related work: concurrent computation process calculi: csp, ccs, acp, pi-calculus synchronous message passing abstract time actor model asynchronous message passing concurrent processing ptolemy heterogenous mixtures of models of computation hard real-time systems time is an external constraint (add-on)

7 related work: visual programming Khoros/Cantata Pd OpenMusic Max/MSP LabView

8 related work: alds and uml Visual Paradigm for UML architecture description languages (adls) syntax (graphical) + semantics + tools domain/style specific: rapide, c2, sadl, wright, etc. unification efforts: acme, alfa dynamic systems? unified modeling language (uml) object-oriented concepts collection of loosely related standards structure? scalability? ArchStudio4 (C2)

9 primitives & organizing principles cell processing unit (no state) repository stream repository cell shared persistent data passive pulse: persistent data stream active pulse: volatile data flow of volatile data process dependency process trigger

10 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

11 MFSM Diagram

12 VisualSAI

13 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

14 camshift graph Video input +input image CAMSHIFT processing CAMSHIFT parameters +composite image Image display

15 architectural refinement: camshift Video input +input image CAMSHIFT tracker CAMSHIFT tracker node +new position Rendering +composite image Image display

16 architectural refinement: camshift Video input Video input +input image CAMSHIFT tracker CAMSHIFT tracker node +input image 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 +composite image Constrains Image display

17 architectural refinement: camshift Video input +input 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 Video input Video input +input image +input image Color conversion Color conversion +HSV image +HSV image Back-projection +back-projection image CAMSHIFT +new bounding box, size and orientation Rendering +composite image Constrains Image display Back-projection Histogram node +back-projection image Box update Mean shift +new position Last known bounding box Moments +new bounding box, size and orientation Rendering +composite image Image display

18 loops and time pulsar rate iterative process => feedback while((eps>min)&&(n<max)){ kp=f(k); eps=g(kp-k); k=kp; n++; } update k f k +f(k)

19 composition: stevi Stereo input and pre-processing concurrent processing +input left +input right tracking pattern feedback robust adaptive Video input Video input interface left interface right Color transform right Color transform left barrier synchronization Photo courtesy of ETRI Stereo video input +HSV right +HSV left Color data left Color data right +Color data right +Color data left Barrier Stereo multi-target tracking Barrier synchronization Predict targets Update targets Tracking repository +Predicted targets visualization Tracked targets Track targets +Tracked targets +Residual image left +Residual image right feedback to developer Acquire targets modular architecture +New targets Visualization patterns facilitate integration Render targets +Composite image left +Composite image right Image display left Image display right

20 loops and time pulsar rate iterative process => feedback while((eps>min)&&(n<max)){ kp=f(k); eps=g(kp-k); k=kp; n++; } update k 3d engine event loop => concurrent streams while(1){ process_user_inputs(); process_nw_inputs(); process_physics(); process_ai(); render(); } f k +f(k)

21 musa.rt architecture Pulsar MIDI input + event Compute tonal structures Pulsar Pulsar Poll device Spiral array camera and other process parameters + command Render Control camera Process event

22 esp architecture Pulsar Pulsar Poll device + command Compute position Pulsar MIDI event buffer current position and velocity parameters for rendering and other processes Pulsar Render graphics Generate MIDI events Update velocity + events MIDI output synthesizer

23 crosswinds architecture Networking N/w receive N/w receive interface Keyboard control Rendering Gamepad control + buffer Filter buffers Keyboard input Gamepad input Decode key Decode gamepad Pulsar + filtered buffer Decode buffer Update + event interaction state Finish turn Update game state Game state Interaction state Chat data Rendering parameters Update + event interaction state Compose message Receive message Update game state Update + event interaction state Render + event Finish turn Finish turn + event Encode buffer Encode buffer + buffer N/w send N/w send Update game state + event Encode buffer + buffer N/w send N/w send interface + buffer N/w send

24 mimi architecture MIDI Input Visualization MIDI input MIDI input interface Process event Pulsar Pulsar + event Sample Current state + character Improvize Add character Oracle Render oracle + character and other process parameters Improvisation Engine Push Push Play Tracks Play + character Performance Engine mixer synthesizer Current state Generate MIDI events + events MIDI output MIDI output interface MIDI Output Render tracks

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

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

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

28 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.

OpenSL ES & OpenMAX Multimedia APIs

OpenSL ES & OpenMAX Multimedia APIs Copyright Khronos Group, 2011 - Page 1 OpenSL ES & OpenMAX Multimedia APIs Erik Noreke Chair of OpenSL ES Working Group Chair of OpenMAX AL Working Group Copyright Khronos Group, 2011 - Page 4 Why Create

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 Erik Noreke, Standardization Consultant Chair, OpenSL ES erik@noreke.se Copyright Khronos Group, 2010 - Page 1 OpenMAX Streaming Media Media Infrastructure Portability Open, royalty-free

More information

Business-Driven Software Engineering Lecture 3 Foundations of Processes

Business-Driven Software Engineering Lecture 3 Foundations of Processes Business-Driven Software Engineering Lecture 3 Foundations of Processes Jochen Küster jku@zurich.ibm.com Agenda Introduction and Background Process Modeling Foundations Activities and Process Models Summary

More information

Architectural Design

Architectural Design Software Engineering Architectural Design 1 Software architecture The design process for identifying the sub-systems making up a system and the framework for sub-system control and communication is architectural

More information

Interactive Multimedia Courses-1

Interactive Multimedia Courses-1 Interactive Multimedia Courses-1 IMM 110/Introduction to Digital Media An introduction to digital media for interactive multimedia through the study of state-of-the-art methods of creating digital media:

More information

STRATEGIES ON SOFTWARE INTEGRATION

STRATEGIES ON SOFTWARE INTEGRATION STRATEGIES ON SOFTWARE INTEGRATION Cornelia Paulina Botezatu and George Căruţaşu Faculty of Computer Science for Business Management Romanian-American University, Bucharest, Romania ABSTRACT The strategy

More information

Application Architectures

Application Architectures Software Engineering Application Architectures Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain the organization of two fundamental models of business systems - batch

More information

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems SOFT 437 Software Performance Analysis Ch 5:Web Applications and Other Distributed Systems Outline Overview of Web applications, distributed object technologies, and the important considerations for SPE

More information

Software Architecture. ECE-355 Tutorial Ali Razavi

Software Architecture. ECE-355 Tutorial Ali Razavi Software Architecture ECE-355 Tutorial Ali Razavi arazavi@swen.uwaterloo.ca Introduction Problems of designing large and complex Software Systems are different from writing Programs. Programs : Software

More information

Information Science 1

Information Science 1 Topics covered Information Science 1 Terms and concepts from Week 05 The software development process Program'Development /Algorithms'and'Problem'Solving/'' ' software software life cycle life-cycle models

More information

HOW TO DESIGN AN END-USER INTERFACE WITH EMC DOCUMENTUM xcp

HOW TO DESIGN AN END-USER INTERFACE WITH EMC DOCUMENTUM xcp White Paper HOW TO DESIGN AN END-USER INTERFACE WITH EMC DOCUMENTUM xcp Best Practices Planning Abstract This white paper discusses the EMC Documentum xcelerated Composition Platform (xcp) in the context

More information

Algorithm (DCABES 2009)

Algorithm (DCABES 2009) People Tracking via a Modified CAMSHIFT Algorithm (DCABES 2009) Fahad Fazal Elahi Guraya, Pierre-Yves Bayle and Faouzi Alaya Cheikh Department of Computer Science and Media Technology, Gjovik University

More information

Multimedia Communication. Slides courtesy of Tay Vaughan Making Multimedia Work

Multimedia Communication. Slides courtesy of Tay Vaughan Making Multimedia Work Multimedia Communication Slides courtesy of Tay Vaughan Making Multimedia Work Outline Multimedia concept Tools for Multimedia communication _Software _Hardware Advanced coding standards Applications What

More information

What is a life cycle model?

What is a life cycle model? What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each

More information

Standard Languages for Developing Multimodal Applications

Standard Languages for Developing Multimodal Applications Standard Languages for Developing Multimodal Applications James A. Larson Intel Corporation 16055 SW Walker Rd, #402, Beaverton, OR 97006 USA jim@larson-tech.com Abstract The World Wide Web Consortium

More information

M3039 MPEG 97/ January 1998

M3039 MPEG 97/ January 1998 INTERNATIONAL ORGANISATION FOR STANDARDISATION ORGANISATION INTERNATIONALE DE NORMALISATION ISO/IEC JTC1/SC29/WG11 CODING OF MOVING PICTURES AND ASSOCIATED AUDIO INFORMATION ISO/IEC JTC1/SC29/WG11 M3039

More information

Service-Oriented Architecture and Software Engineering

Service-Oriented Architecture and Software Engineering -Oriented Architecture and Software Engineering T-86.5165 Seminar on Enterprise Information Systems (2008) 1.4.2008 Characteristics of SOA The software resources in a SOA are represented as services based

More information

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The

More information

Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering Component-Based Software Engineering Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain that CBSE is concerned with developing standardised components

More information

School of Computer Science

School of Computer Science School of Computer Science Computer Science - Honours Level - 2014/15 October 2014 General degree students wishing to enter 3000- level modules and non- graduating students wishing to enter 3000- level

More information

SL-110: Fundamentals of Java Revision 15 October Sun Educational Services Instructor-Led Course Description

SL-110: Fundamentals of Java Revision 15 October Sun Educational Services Instructor-Led Course Description Sun Educational Services Instructor-Led Course Description Fundamentals of Java SL-110 The Fundamentals of the Java course provides students, with little or no programming experience, with the basics of

More information

ABET General Outcomes. Student Learning Outcomes for BS in Computing

ABET General Outcomes. Student Learning Outcomes for BS in Computing ABET General a. An ability to apply knowledge of computing and mathematics appropriate to the program s student outcomes and to the discipline b. An ability to analyze a problem, and identify and define

More information

Event-based middleware services

Event-based middleware services 3 Event-based middleware services The term event service has different definitions. In general, an event service connects producers of information and interested consumers. The service acquires events

More information

CLOUD GAMING WITH NVIDIA GRID TECHNOLOGIES Franck DIARD, Ph.D., SW Chief Software Architect GDC 2014

CLOUD GAMING WITH NVIDIA GRID TECHNOLOGIES Franck DIARD, Ph.D., SW Chief Software Architect GDC 2014 CLOUD GAMING WITH NVIDIA GRID TECHNOLOGIES Franck DIARD, Ph.D., SW Chief Software Architect GDC 2014 Introduction Cloud ification < 2013 2014+ Music, Movies, Books Games GPU Flops GPUs vs. Consoles 10,000

More information

Equalizer. Parallel OpenGL Application Framework. Stefan Eilemann, Eyescale Software GmbH

Equalizer. Parallel OpenGL Application Framework. Stefan Eilemann, Eyescale Software GmbH Equalizer Parallel OpenGL Application Framework Stefan Eilemann, Eyescale Software GmbH Outline Overview High-Performance Visualization Equalizer Competitive Environment Equalizer Features Scalability

More information

CONTROL CODE GENERATOR USED FOR CONTROL EXPERIMENTS IN SHIP SCALE MODEL

CONTROL CODE GENERATOR USED FOR CONTROL EXPERIMENTS IN SHIP SCALE MODEL CONTROL CODE GENERATOR USED FOR CONTROL EXPERIMENTS IN SHIP SCALE MODEL Polo, O. R. (1), Esteban, S. (2), Maron, A. (3), Grau, L. (4), De la Cruz, J.M. (2) (1) Dept Arquitectura de Computadores y Automatica.

More information

Visual Studio 2008: Windows Presentation Foundation

Visual Studio 2008: Windows Presentation Foundation Visual Studio 2008: Windows Presentation Foundation Course 6460A: Three days; Instructor-Led Introduction This three-day instructor-led course provides students with the knowledge and skills to build and

More information

Making Multicore Work and Measuring its Benefits. Markus Levy, president EEMBC and Multicore Association

Making Multicore Work and Measuring its Benefits. Markus Levy, president EEMBC and Multicore Association Making Multicore Work and Measuring its Benefits Markus Levy, president EEMBC and Multicore Association Agenda Why Multicore? Standards and issues in the multicore community What is Multicore Association?

More information

Designing Real-Time and Embedded Systems with the COMET/UML method

Designing Real-Time and Embedded Systems with the COMET/UML method By Hassan Gomaa, Department of Information and Software Engineering, George Mason University. Designing Real-Time and Embedded Systems with the COMET/UML method Most object-oriented analysis and design

More information

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries First Semester Development 1A On completion of this subject students will be able to apply basic programming and problem solving skills in a 3 rd generation object-oriented programming language (such as

More information

Sample Project List. Consumer Electronics

Sample Project List. Consumer Electronics Sample Project List Consumer Electronics Hardware Analysis Audio, gaming, graphics systems Cell phone camera Digital camera Digital camera Evaluate over 300 patents to identify those valuable for licensing

More information

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements

More information

ANIMATION a system for animation scene and contents creation, retrieval and display

ANIMATION a system for animation scene and contents creation, retrieval and display ANIMATION a system for animation scene and contents creation, retrieval and display Peter L. Stanchev Kettering University ABSTRACT There is an increasing interest in the computer animation. The most of

More information

Stream Processing on GPUs Using Distributed Multimedia Middleware

Stream Processing on GPUs Using Distributed Multimedia Middleware Stream Processing on GPUs Using Distributed Multimedia Middleware Michael Repplinger 1,2, and Philipp Slusallek 1,2 1 Computer Graphics Lab, Saarland University, Saarbrücken, Germany 2 German Research

More information

Midi Workshop. SAWStudio. From RML Labs. To order this product, or download a free demo, visit www.sawstudio.com

Midi Workshop. SAWStudio. From RML Labs. To order this product, or download a free demo, visit www.sawstudio.com SAWStudio Midi Workshop From RML Labs Welcome to the exciting new Midi WorkShop add-on for SAWStudio! The Midi WorkShop requires SAWStudio, SAWStudioLite, or SAWStudioBasic as a host. The Midi WorkShop

More information

Java (12 Weeks) Introduction to Java Programming Language

Java (12 Weeks) Introduction to Java Programming Language Java (12 Weeks) Topic Lecture No. Introduction to Java Programming Language 1 An Introduction to Java o Java as a Programming Platform, The Java "White Paper" Buzzwords, Java and the Internet, A Short

More information

SERVICE ORIENTED ARCHITECTURE

SERVICE ORIENTED ARCHITECTURE SERVICE ORIENTED ARCHITECTURE Introduction SOA provides an enterprise architecture that supports building connected enterprise applications to provide solutions to business problems. SOA facilitates the

More information

Aerospace Software Engineering

Aerospace Software Engineering 16.35 Aerospace Software Engineering Software Architecture The 4+1 view Patterns Prof. Kristina Lundqvist Dept. of Aero/Astro, MIT Why Care About Software Architecture? An architecture provides a vehicle

More information

Dr. Pat Mirenda. Software Design Specification Document

Dr. Pat Mirenda. Software Design Specification Document CPSC 319 Team 2 Dr. Pat Mirenda Software Design Specification Document Version: 1.2 Date: (03/17/2006) 2Communicate SDS Revisions Version Primary Author(s) Description of Version Date Completed 1.0 Wei

More information

PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT

PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT Ing. David BEDNÁŘ, Doctoral Degree Programme (2) Dept. of Information Systems, FIT, BUT E-mail: bednar@fit.vutbr.cz Supervised by:

More information

Architecture. Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/

Architecture. Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/ Architecture Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/ Some slides were adapted from L. Osterweil, B. Meyer, and P. Müller material Reda Bendraou LI386-S1

More information

Enterprise SOA Strategy, Planning and Operations with Agile Techniques, Virtualization and Cloud Computing

Enterprise SOA Strategy, Planning and Operations with Agile Techniques, Virtualization and Cloud Computing Enterprise SOA Strategy, Planning and Operations with Agile Techniques, Virtualization and Cloud Computing Presented by : Ajay Budhraja, Chief, Enterprise Services ME (Engg), MS (Mgmt), PMP, CICM, CSM,

More information

E.L.A.P.S.: Studies in Improvised Electronics By Peter van Haaften. Project documentation is current as of November 18, 2014.

E.L.A.P.S.: Studies in Improvised Electronics By Peter van Haaften. Project documentation is current as of November 18, 2014. E.L.A.P.S.: Studies in Improvised Electronics By Peter van Haaften Project documentation is current as of November 18, 2014. The following paper will serve to document the on-going development of an expressive

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 Introduction Adaptive Vision Studio Adaptive Vision Studio software is the most powerful graphical environment for machine vision

More information

Programming and Software Development CTAG Alignments

Programming and Software Development CTAG Alignments Programming and Software Development CTAG Alignments This document contains information about four Career-Technical Articulation Numbers (CTANs) for Programming and Software Development Career-Technical

More information

Remote Graphical Visualization of Large Interactive Spatial Data

Remote Graphical Visualization of Large Interactive Spatial Data Remote Graphical Visualization of Large Interactive Spatial Data ComplexHPC Spring School 2011 International ComplexHPC Challenge Cristinel Mihai Mocan Computer Science Department Technical University

More information

Web Application Architectures

Web Application Architectures Web Engineering Web Application Architectures Copyright 2013 Ioan Toma & Srdjan Komazec 1 Where we are? # Date Title 1 5 th March Web Engineering Introduction and Overview 2 12 th March Requirements Engineering

More information

Domains and Competencies

Domains and Competencies Domains and Competencies DOMAIN I TECHNOLOGY APPLICATIONS CORE Standards Assessed: Computer Science 8 12 I VII Competency 001: The computer science teacher knows technology terminology and concepts; the

More information

RUP Design Workflow. Michael Fourman Cs2 Software Engineering

RUP Design Workflow. Michael Fourman Cs2 Software Engineering RUP Design Workflow Michael Fourman Introduction Design architecture that can meet all requirements Understand non-functional requirements and constraints related to technologies Identify subsystems (overall

More information

Data Visualization Using Polynomiography

Data Visualization Using Polynomiography Using Polynomiography Catherine Wilshusen 1, Bahman 2 1 Johns Hopkins University 2 Rutgers University, Dept. of Computer Science DIMACS REU First Student Presentations, 2013 Introduction to Polynomiography

More information

Tomáš Müller IT Architekt 21/04/2010 ČVUT FEL: SOA & Enterprise Service Bus. 2010 IBM Corporation

Tomáš Müller IT Architekt 21/04/2010 ČVUT FEL: SOA & Enterprise Service Bus. 2010 IBM Corporation Tomáš Müller IT Architekt 21/04/2010 ČVUT FEL: SOA & Enterprise Service Bus Agenda BPM Follow-up SOA and ESB Introduction Key SOA Terms SOA Traps ESB Core functions Products and Standards Mediation Modules

More information

Service Oriented Architectures

Service Oriented Architectures 8 Service Oriented Architectures Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ The context for SOA A bit of history

More information

Namgon Kim, Sangwoo Han and JongWon Kim {ngkim, swhan,

Namgon Kim, Sangwoo Han and JongWon Kim {ngkim, swhan, PerWare 2008, HongKong (Session-3: Middleware & Service Oriented Architectures) Design of Software Architecture for Smart Meeting Space Namgon Kim, Sangwoo Han and JongWon Kim {ngkim, swhan, jongwon}@nm.gist.ac.kr

More information

1 File Processing Systems

1 File Processing Systems COMP 378 Database Systems Notes for Chapter 1 of Database System Concepts Introduction A database management system (DBMS) is a collection of data and an integrated set of programs that access that data.

More information

A Review of an MVC Framework based Software Development

A Review of an MVC Framework based Software Development , pp. 213-220 http://dx.doi.org/10.14257/ijseia.2014.8.10.19 A Review of an MVC Framework based Software Development Ronnie D. Caytiles and Sunguk Lee * Department of Multimedia Engineering, Hannam University

More information

Software Engineering

Software Engineering Software Engineering Lecture 06: Design an Overview Peter Thiemann University of Freiburg, Germany SS 2013 Peter Thiemann (Univ. Freiburg) Software Engineering SWT 1 / 35 The Design Phase Programming in

More information

MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES FIELD 050: COMPUTER SCIENCE

MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES FIELD 050: COMPUTER SCIENCE MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES Subarea Educational Computing and Technology Literacy Computer Systems, Data, and Algorithms Program Design and Verification Programming Language

More information

Chapter 3. Technology review. 3.1. Introduction

Chapter 3. Technology review. 3.1. Introduction Technology review Chapter 3 3.1. Introduction Previous chapter covers detail description about problem domain. In this chapter I will discuss the technologies currently available to solve a problem in

More information

Ch 1: What is Game Programming Really Like? Ch 2: What s in a Game? Quiz #1 Discussion

Ch 1: What is Game Programming Really Like? Ch 2: What s in a Game? Quiz #1 Discussion Ch 1: What is Game Programming Really Like? Ch 2: What s in a Game? Quiz #1 Discussion Developing a Game Game Architecture Resources: Chapter 2 (Game Coding Complete) What was your last game architecture

More information

SOA + BPM = Agile Integrated Tax Systems. Hemant Sharma CTO, State and Local Government

SOA + BPM = Agile Integrated Tax Systems. Hemant Sharma CTO, State and Local Government SOA + BPM = Agile Integrated Tax Systems Hemant Sharma CTO, State and Local Government Nothing Endures But Change 2 Defining Agility It is the ability of an organization to recognize change and respond

More information

A standards-based approach to application integration

A standards-based approach to application integration A standards-based approach to application integration An introduction to IBM s WebSphere ESB product Jim MacNair Senior Consulting IT Specialist Macnair@us.ibm.com Copyright IBM Corporation 2005. All rights

More information

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures Part I EAI: Foundations, Concepts, and Architectures 5 Example: Mail-order Company Mail order Company IS Invoicing Windows, standard software IS Order Processing Linux, C++, Oracle IS Accounts Receivable

More information

Essentials of Developing Windows Store Apps Using HTML5 and JavaScript

Essentials of Developing Windows Store Apps Using HTML5 and JavaScript Essentials of Developing Windows Store Apps Using HTML5 and JavaScript Module 1: Overview of the Windows 8.1 Platform and Windows Store Apps This module introduces you to the Windows 8.1 user experience

More information

CORBA and object oriented middleware. Introduction

CORBA and object oriented middleware. Introduction CORBA and object oriented middleware Introduction General info Web page http://www.dis.uniroma1.it/~beraldi/elective Exam Project (application), plus oral discussion 3 credits Roadmap Distributed applications

More information

Configuration Management

Configuration Management What is CM? CM processes in practice CM and organizational context CM technology Configurations How are versions created? Versions SCM vs. PDM Configuration Management CM: a process for maintaining the

More information

REAL-TIME STREAMING ANALYTICS DATA IN, ACTION OUT

REAL-TIME STREAMING ANALYTICS DATA IN, ACTION OUT REAL-TIME STREAMING ANALYTICS DATA IN, ACTION OUT SPOT THE ODD ONE BEFORE IT IS OUT flexaware.net Streaming analytics: from data to action Do you need actionable insights from various data streams fast?

More information

Monitoring Infrastructure (MIS) Software Architecture Document. Version 1.1

Monitoring Infrastructure (MIS) Software Architecture Document. Version 1.1 Monitoring Infrastructure (MIS) Software Architecture Document Version 1.1 Revision History Date Version Description Author 28-9-2004 1.0 Created Peter Fennema 8-10-2004 1.1 Processed review comments Peter

More information

Effective Interface Design Using Face Detection for Augmented Reality Interaction of Smart Phone

Effective Interface Design Using Face Detection for Augmented Reality Interaction of Smart Phone Effective Interface Design Using Face Detection for Augmented Reality Interaction of Smart Phone Young Jae Lee Dept. of Multimedia, Jeonju University #45, Backma-Gil, Wansan-Gu,Jeonju, Jeonbul, 560-759,

More information

Software design (Cont.)

Software design (Cont.) Package diagrams Architectural styles Software design (Cont.) Design modelling technique: Package Diagrams Package: A module containing any number of classes Packages can be nested arbitrarily E.g.: Java

More information

WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT

WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT CONTENTS 1. THE NEED FOR DATA GOVERNANCE... 2 2. DATA GOVERNANCE... 2 2.1. Definition... 2 2.2. Responsibilities... 3 3. ACTIVITIES... 6 4. THE

More information

Cloud Based E-Learning Platform Using Dynamic Chunk Size

Cloud Based E-Learning Platform Using Dynamic Chunk Size Cloud Based E-Learning Platform Using Dynamic Chunk Size Dinoop M.S #1, Durga.S*2 PG Scholar, Karunya University Assistant Professor, Karunya University Abstract: E-learning is a tool which has the potential

More information

Chapter 12 Programming Concepts and Languages

Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Paradigm Publishing, Inc. 12-1 Presentation Overview Programming Concepts Problem-Solving Techniques The Evolution

More information

KWIC Implemented with Pipe Filter Architectural Style

KWIC Implemented with Pipe Filter Architectural Style KWIC Implemented with Pipe Filter Architectural Style KWIC Implemented with Pipe Filter Architectural Style... 2 1 Pipe Filter Systems in General... 2 2 Architecture... 3 2.1 Pipes in KWIC system... 3

More information

Using Separation of Concerns for Embedded Systems Design. α=90

Using Separation of Concerns for Embedded Systems Design. α=90 Using Separation of Concerns for Embedded Systems Design α=90 Ethan Jackson and Janos Sztipanovits EmSoft 05, Jersey City, New Jersey September 19, 2005 Part I Outline Introduction: Discuss major design

More information

Model-Driven Software Development for Robotics: an overview

Model-Driven Software Development for Robotics: an overview Model-Driven Software Development for Robotics: an overview IEEE-ICRA2011 Workshop on Software Development and Integration in Robotics Jan F. Broenink, Maarten M. Bezemer Control Engineering, University

More information

The Design and Implementation of Qt-based Cross-platform Video Conferencing Remote Control

The Design and Implementation of Qt-based Cross-platform Video Conferencing Remote Control Communications and Network, 2013, 5, 73-77 doi:10.4236/cn.2013.51b017 Published Online February 2013 (http://www.scirp.org/journal/cn) The Design and Implementation of Qt-based Cross-platform Video Conferencing

More information

Software Design. Design (I) Software Design Data Design. Relationships between the Analysis Model and the Design Model

Software Design. Design (I) Software Design Data Design. Relationships between the Analysis Model and the Design Model Software Design Design (I) Software Design is a process through which requirements are translated into a representation of software. Peter Lo CS213 Peter Lo 2005 1 CS213 Peter Lo 2005 2 Relationships between

More information

Component visualization methods for large legacy software in C/C++

Component visualization methods for large legacy software in C/C++ Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University mcserep@caesar.elte.hu

More information

Course Outline (MOC 20483)

Course Outline (MOC 20483) Course Outline (MOC 20483) Module 1: Review of C# Syntax This module reviews the core syntax and features of the C# programming language. It also provides an introduction to the Visual Studio 2012 debugger.

More information

Software Synthesis from Dataflow Models for G and LabVIEW

Software Synthesis from Dataflow Models for G and LabVIEW Presented at the Thirty-second Annual Asilomar Conference on Signals, Systems, and Computers. Pacific Grove, California, U.S.A., November 1998 Software Synthesis from Dataflow Models for G and LabVIEW

More information

Client/Server Computing Distributed Processing, Client/Server, and Clusters

Client/Server Computing Distributed Processing, Client/Server, and Clusters Client/Server Computing Distributed Processing, Client/Server, and Clusters Chapter 13 Client machines are generally single-user PCs or workstations that provide a highly userfriendly interface to the

More information

Compliance and Requirement Traceability for SysML v.1.0a

Compliance and Requirement Traceability for SysML v.1.0a 1. Introduction: Compliance and Traceability for SysML v.1.0a This document provides a formal statement of compliance and associated requirement traceability for the SysML v. 1.0 alpha specification, which

More information

Integrated Development of Distributed Real-Time Applications with Asynchronous Communication

Integrated Development of Distributed Real-Time Applications with Asynchronous Communication Integrated Development of Distributed Real-Time Applications with Asynchronous Communication Marc Schanne International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES) 26-28 September

More information

Electronic Healthcare Design and Development

Electronic Healthcare Design and Development Electronic Healthcare Design and Development Background The goal of this project is to design and develop a course on Electronic Healthcare Design and Development using Unified Modeling Language (UML)

More information

In: Proceedings of RECPAD 2002-12th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal

In: Proceedings of RECPAD 2002-12th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal Paper Title: Generic Framework for Video Analysis Authors: Luís Filipe Tavares INESC Porto lft@inescporto.pt Luís Teixeira INESC Porto, Universidade Católica Portuguesa lmt@inescporto.pt Luís Corte-Real

More information

TNM090 Software Engineering. Software Engineering

TNM090 Software Engineering. Software Engineering TNM090 Software Engineering Software Engineering Software Engineering Not programming => Software system development customer/producer negotiations budget and time constraints quality and feature requirements

More information

A Process for ATLAS Software Development

A Process for ATLAS Software Development Atlas Software Quality Control Group A Process for ATLAS Software Development Authors : Atlas Quality Control Group M. Asai, D. Barberis (chairman), M. Bosman, R. Jones, J.-F. Laporte, M. Stavrianakou

More information

Introduction. What is an Operating System?

Introduction. What is an Operating System? Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization

More information

LabVIEW Based Embedded Design

LabVIEW Based Embedded Design LabVIEW Based Embedded Design Sadia Malik Ram Rajagopal Department of Electrical and Computer Engineering University of Texas at Austin Austin, TX 78712 malik@ece.utexas.edu ram.rajagopal@ni.com Abstract

More information

Applying 4+1 View Architecture with UML 2. White Paper

Applying 4+1 View Architecture with UML 2. White Paper Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was

More information

Layered Approach to Development of OO War Game Models Using DEVS Framework

Layered Approach to Development of OO War Game Models Using DEVS Framework Layered Approach to Development of OO War Game Models Using DEVS Framework Chang Ho Sung*, Su-Youn Hong**, and Tag Gon Kim*** Department of EECS KAIST 373-1 Kusong-dong, Yusong-gu Taejeon, Korea 305-701

More information

COMP5426 Parallel and Distributed Computing. Distributed Systems: Client/Server and Clusters

COMP5426 Parallel and Distributed Computing. Distributed Systems: Client/Server and Clusters COMP5426 Parallel and Distributed Computing Distributed Systems: Client/Server and Clusters Client/Server Computing Client Client machines are generally single-user workstations providing a user-friendly

More information

ORACLE DATA INTEGRATOR TRAINING

ORACLE DATA INTEGRATOR TRAINING ORACLE DATA INTEGRATOR TRAINING DURATION 30hrs AVAILABLE BATCHES WEEKDAYS (7.30AM TO 8.30AM) & WEEKENDS (10AM TO 1PM) MODE OF TRAINING AVAILABLE ONLINE INSTRUCTOR LED CLASSROOM TRAINING (MARATHAHALLI,

More information

Real-Time Architectures 2003/2004. A real-time architecture for MCTs. Multimedia Consumer Terminals

Real-Time Architectures 2003/2004. A real-time architecture for MCTs. Multimedia Consumer Terminals Real-Time Architectures 2003/2004 A real-time architecture for multimedia consumer terminals (MCTs) Reinder J. Bril 03-05-2004 A real-time architecture for MCTs Multimedia Consumer Terminals (MCTs): Trends;

More information

: Application Layer. Factor the Content. Bernd Paysan. EuroForth 2011, Vienna

: Application Layer. Factor the Content. Bernd Paysan. EuroForth 2011, Vienna net : Application Layer Factor the Content Bernd Paysan EuroForth 2011, Vienna Outline Motivation Requirements Solutions Some Basic Insights Factor Data Distribute the Code net2o Recap: Lower Level Parts

More information

Information Technology Career Field Pathways and Course Structure

Information Technology Career Field Pathways and Course Structure Information Technology Career Field Pathways and Course Structure Courses in Information Support and Services (N0) Computer Hardware 2 145025 Computer Software 145030 Networking 2 145035 Network Operating

More information

Reference Architecture, Requirements, Gaps, Roles

Reference Architecture, Requirements, Gaps, Roles Reference Architecture, Requirements, Gaps, Roles The contents of this document are an excerpt from the brainstorming document M0014. The purpose is to show how a detailed Big Data Reference Architecture

More information

Principles and characteristics of distributed systems and environments

Principles and characteristics of distributed systems and environments Principles and characteristics of distributed systems and environments Definition of a distributed system Distributed system is a collection of independent computers that appears to its users as a single

More information

Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila

Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila Application Architectures Ref: Chapter 13 Software Engineering By Ian Sommerville, 7th Edition

More information

A distributed system is defined as

A distributed system is defined as A distributed system is defined as A collection of independent computers that appears to its users as a single coherent system CS550: Advanced Operating Systems 2 Resource sharing Openness Concurrency

More information