THE EYESWEB PLATFORM - GDE The EyesWeb XMI multimodal platform GDE 5 March 2015.

Slides:



Advertisements
Similar presentations
Threads, SMP, and Microkernels
Advertisements

Yaron Doweck Yael Einziger Supervisor: Mike Sumszyk Spring 2011 Semester Project.
Operating-System Structures
Programming Types of Testing.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
1 Frameworks. 2 Framework Set of cooperating classes/interfaces –Structure essential mechanisms of a problem domain –Programmer can extend framework classes,
Process Description and Control Module 1.0. Major Requirements of an Operating System Interleave the execution of several processes to maximize processor.
Hands-On Microsoft Windows Server 2003 Administration Chapter 10 Monitoring and Troubleshooting Windows Server 2003.
1 Process Description and Control Chapter 3. 2 Process Management—Fundamental task of an OS The OS is responsible for: Allocation of resources to processes.
Process Management. External View of the OS Hardware fork() CreateProcess() CreateThread() close() CloseHandle() sleep() semctl() signal() SetWaitableTimer()
Google Android as a mobile development platform T Internet Technologies for Mobile Computing Olli Mäkinen.
WSN Simulation Template for OMNeT++
Chapter 6 Implementing Processes, Threads, and Resources.
1 Input/Output Chapter 3 TOPICS Principles of I/O hardware Principles of I/O software I/O software layers Disks Clocks Reference: Operating Systems Design.
Slide 6-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 6.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Check Disk. Disk Defragmenter Using Disk Defragmenter Effectively Run Disk Defragmenter when the computer will receive the least usage. Educate users.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
An Introduction to Rational Rose Real-Time
DEMONSTRATION FOR SIGMA DATA ACQUISITION MODULES Tempatron Ltd Data Measurements Division Darwin Close Reading RG2 0TB UK T : +44 (0) F :
Cortex-M3 Debugging System
Slide 6-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 6.
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
Christopher Jeffers August 2012
Module 1: Introduction to C# Module 2: Variables and Data Types
Programming with Microsoft Visual Basic 2012 Chapter 12: Web Applications.
Computing IV Visual C Introduction with OpenCV Example Xinwen Fu.
Input/OUTPUT [I/O Module structure].
Designing a Discrete Event Simulation Tool Peter L. Jackson School of Operations Research and Industrial Engineering March 15, 2003 Cornell University.
Introduction to Sequence Diagrams
Segmentation & O/S Input/Output Chapter 4 & 5 Tuesday, April 3, 2007.
ALLIANCE Administration 20 Oct 2009 (Based on Release 2.2) Michaël Petit.
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
1.Overview 2. Hardware 3. Software Interface 4. Triggering 5. Installation 6. Configuring.
Tutorial 111 The Visual Studio.NET Environment The major differences between Visual Basic 6.0 and Visual Basic.NET are the latter’s support for true object-oriented.
Dynamic Modeling Chapter 11 Part of Analysis Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Input/Output 2 What is I/O? How we get the CPU to communicate with devices From the computer’s point of view, it’s just 1’s and 0’s Gets interpreted.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
CSC480 Software Engineering Lecture 10 September 25, 2002.
Module 2.0: Threads.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
Anritsu Automation Platform (AAP) AAP PC Connects to the system via IP connection (system switch) AAP was developed to add features that were requested.
IT3002 Computer Architecture
Unit 17: SDLC. Systems Development Life Cycle Five Major Phases Plus Documentation throughout Plus Evaluation…
1 Process Description and Control Chapter 3. 2 Process A program in execution An instance of a program running on a computer The entity that can be assigned.
The Development Process Compilation. Compilation - Dr. Craig A. Struble 2 Programming Process Problem Solving Phase We will spend significant time on.
Fall 2000M.B. Ibáñez Lecture 26 I/O Systems II. Fall 2000M.B. Ibáñez Application I/O Interface I/O system calls encapsulate device behaviors in generic.
THE EYESWEB PLATFORM - OVERVIEWTHE EYESWEB PLATFORM - OVERVIEW The EyesWeb XMI multimodal platform Overview 5 March 2015.
Active-HDL Server Farm Course 11. All materials updated on: September 30, 2004 Outline 1.Introduction 2.Advantages 3.Requirements 4.Installation 5.Architecture.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
Operating Systems {week 01.b}
Dashboard GUI.
Architecture Review 10/11/2004
Muen Policy & Toolchain
Chapter 11 Designing Inputs, Outputs, and Controls.
Error Handling – the Debug and Trace Classes
Chapter 2: System Structures
EyesWeb Mobile Designer and Runtime
Operating Systems: A Modern Perspective, Chapter 6
Threads, SMP, and Microkernels
CS703 - Advanced Operating Systems
Process Description and Control
Analysis models and design models
Threads Chapter 4.
Multithreaded Programming
Implementing Processes, Threads, and Resources
Implementing Processes, Threads, and Resources
In Today’s Class.. General Kernel Responsibilities Kernel Organization
Presentation transcript:

THE EYESWEB PLATFORM - GDE The EyesWeb XMI multimodal platform GDE 5 March 2015

THE EYW GDE THE EYESWEB PLATFORM - GDE

THE EYESWEB GDE (II) THE EYESWEB PLATFORM - GDE

THE MENU BAR THE EYESWEB PLATFORM - GDE

THE MESSAGE CONSOLE The Message Console is part of the GDE. It is represented by a frame where messages, errors and warning notifications are displayed. I It logs internal state information about data and blocks of a patch at design time and runtime. I It logs debug information that are needed to be displayed for tracing the flow of the elaborating data value. THE EYESWEB PLATFORM - GDE

THE MESSAGE CONSOLE (II) THE EYESWEB PLATFORM - GDE

THE WORKSPACE In the workspace, drag the blocks in order to link themtogether and create a patch. THE EYESWEB PLATFORM - GDE

THE WORKSPACE (II) - PATCHES AND BLOCKS THE EYESWEB PLATFORM - GDE

THE WORKSPACE (III) - PINS THE EYESWEB PLATFORM - GDE Input pins represent the data arriving at the block from another block, in order for the block to process it. Output pins represent data being sent from the block to some other block, after processing. Parameter pins represent information or data arriving at the block, which affects the processing work carried out by the block.

EYESWEB DATATYPES THE EYESWEB PLATFORM - GDE Each input, output, or parameter pins are associated to a datatype. Datatypes define the set of values that can be associated to a pin and the operations that can be performed on such values. Conversion rules are used to establish compatibilities among different datatypes. A generic datatype is also provided by EyesWeb. For each datatype, EyesWeb usually provides blocks for generating it, serialize it (i.e. load/save to file), process it.

COMMON DATATYPES AND BLOCKS THE EYESWEB PLATFORM - GDE Common data types may include: integers, floating-point numbers, alphanumeric strings, dates, times, video streams, audio streams

LINKING BLOCKS THE EYESWEB PLATFORM - GDE Blocks can be linked to one another by piping the output pin of one block to the input or parameter pin of another block. Block A can be linked to block B if and only if an output datatype of block A is compatible with an input datatype of block B. An input pin requiring a generic datatype can be connected to whatever output pin whose datatype provides the interfaces (operations) required by the receiving block. When positioning the mouse on a pin, the EyesWeb status bar shows the associated datatype.

LIBRARIES THE EYESWEB PLATFORM - GDE The EyesWeb environment includes libraries of blocks, which can be used through a drag-and-drop procedure to create new patches. Blocks functionalities roughly include: o Input and output; o Mathematical operations; o Machine Learning o Signal operations; o Data processing functions (image, audio, 3D, depthmaps...); o Management / flow control functions;

LIBRARIES (II) THE EYESWEB PLATFORM - GDE Kernel blocks and datatypes are statically linked against the kernel. Blocks and datatypes are contained in separate libraries, included in catalogs: o User catalogs: Base, System, and most third parties modules are contained in catalogs which are registered through the Eyw RegisterModule tool (catalog stored in xml files) o Catalog factories: Steinberg, FreeFrame, Legacy use a custom (not xml-based) mechanism to store the catalog of modules (e.g., legacy uses Windows registry, FreeFrame enumerates files in some given folders, etc)

LIBRARIES (III) - THE LIBRARY VIEW THE EYESWEB PLATFORM - GDE Blocks are grouped in a collection of libraries. Top level libraries:

THE SEARCH VIEW THE EYESWEB PLATFORM - GDE A search window option is available to help the user find a particular block.

THE PROPERTIES VIEW THE EYESWEB PLATFORM - GDE

THE PARAM SHEET THE EYESWEB PLATFORM - GDE

THE DESCR(IPTION) SHEET THE EYESWEB PLATFORM - GDE

THE EYESWEB PLATFORM - KERNEL The EyesWeb XMI multimodal platform The EyesWeb Kernel 5 March 2015

THE EYW KERNEL THE EYESWEB PLATFORM - KERNEL

THE EYESWEB KERNEL (II) It is the core of the EyesWeb platform. It is implemented as a Dynamic Link Library, in order to be reusable in different applications. Responsibilities: o Register the available modules in the system; o Manage patches; o Load/Save patches (as Xml files; however other formats are supported too); o Run patches (engine/scheduler); o Provide network interface for remote GUIs (EyesWeb o Mobile). THE EYESWEB PLATFORM - KERNEL

THE EYESWEB KERNEL (III) - STATE MACHINE DIAGRAM THE EYESWEB PLATFORM - KERNEL

THE EYESWEB KERNEL (IV) - STATE MACHINE DIAGRAM THE EYESWEB PLATFORM - KERNEL

EYESWEB STATES Design time: the user is editing the patch, or the patch is being loaded/saved. Runtime: the patch is being executed: o Init: first initialization phase, blocks allocate resources or initialize devices; o Check: second phase of initialization, topological sort, loops check, input/output check; o Start: the patch is ready for the execution, notify all blocks that patch is going to start, start devices data capture; o Stop: the patch execution is interrupted (usually on user request). Output streams and devices are closed o Done: block releases resources then the application goes back to design time. THE EYESWEB PLATFORM - KERNEL

EYESWEB SCHEDULER - RUNNING Works during runtime (or on Initialization/Check). Its activation can be: o Time Based: Periodic, on absolute time. o Event Based: new input event, user defined event. o On Request: e.g., interruptions for data from external devices, triggered from parameters.. o Heterogeneous: any combination of the above options. Triggers blocks execution, the order of execution is given by the patch topology THE EYESWEB PLATFORM - KERNEL

TOPOLOGICAL SORT IN EYESWEB Blocks are sorted with a topological algorithm. Loops of links are forbidden, the following exceptions are allowed: o links connected to a parameter pins. o links connected to input pins that were declared as not necessary for execution. Loops are managed through specifically designed blocks. The solution is not unique. THE EYESWEB PLATFORM - KERNEL

TOPOLOGICAL SORT IN EYESWEB (II) - EXAMPLE THE EYESWEB PLATFORM - KERNEL

TOPOLOGICAL SORT (III): PATCHES AND LOOPS THE EYESWEB PLATFORM - KERNEL This block has two inputs: o the first input is required for execution o the second item is not required for execution I In this case the graph is cyclic: links B -> C, C -> B are involved in the loop. Since the first input pin of block B is required, the topological sort fails. The execution of the patch is interrupted.

TOPOLOGICAL SORT (IV): PATCHES AND LOOPS THE EYESWEB PLATFORM - KERNEL As before, this patch contains a loop: links B -> C, C -> B are compose the loop. Since the second input pin of block B is not required, link C -> B is ignored by the topological sort. The sorting algorithm succeeds. In this case link B -> C, that is part of a loop, connects to a parameter. The B -> C link is ignored by the topological sort. The sorting algorithm succeeds.

TOPOLOGICAL SORT (V): PATCHES AND PARALLELISM THE EYESWEB PLATFORM - KERNEL Two possible ordered sequences exist o ABCDE or o ACBDE In such cases parallelism can be exploited. A [B | C] DE, where B and C are executed in parallel on multicore / multiprocessor computers.