MESSAGES QUEUES. Group 05. zondag 20 mei 12



Similar documents
A Gentle Introduction to ROS

OPERATING SYSTEM - VIRTUAL MEMORY

South East of Process Main Building / 1F. North East of Process Main Building / 1F. At 14:05 April 16, Sample not collected

Course: Programming II - Abstract Data Types. The ADT Stack. A stack. The ADT Stack and Recursion Slide Number 1

Typeset in L A TEX from SGML source using the DocBuilder Document System.

Linked Lists, Stacks, Queues, Deques. It s time for a chainge!

Micro800 Programmable Controllers: Getting Started with CIP Client Messaging

What is a Stack? Stacks and Queues. Stack Abstract Data Type. Java Interface for Stack ADT. Array-based Implementation

Big Data and Scripting. Part 4: Memory Hierarchies

Quiz 4 Solutions EECS 211: FUNDAMENTALS OF COMPUTER PROGRAMMING II. 1 Q u i z 4 S o l u t i o n s

Last not not Last Last Next! Next! Line Line Forms Forms Here Here Last In, First Out Last In, First Out not Last Next! Call stack: Worst line ever!

µtasker Document FTP Client

The Hadoop Distributed File System

REAL TIME MONITORING AND CONTROL OF WIRELESS NETWORKS

A NOR Emulation Strategy over NAND Flash Memory

Accounting 402 Illustration of a change in inventory method

IP Phone Presence Setup

VM8000 INMAIL SYSTEM GUIDE

1. The memory address of the first element of an array is called A. floor address B. foundation addressc. first address D.

Chapter 6 Concurrent Programming

Advanced Techniques for Mobile Robotics Robot Software Architectures. Wolfram Burgard, Cyrill Stachniss, Kai Arras, Maren Bennewitz

Monitors, Java, Threads and Processes

Linked Lists Linked Lists, Queues, and Stacks

Operating System Manual. Realtime Communication System for netx. Kernel API Function Reference.

TivaWare Utilities Library

Algorithms and Data Structures

MQX Lite Real-Time Operating System User Guide

Data Structures and Data Manipulation

Oracle Tuxedo Systems and Application Monitor (TSAM)

Affdex SDK for Windows!

Advanced Operating Systems CS428

Cpt S 223. School of EECS, WSU

Data Structures and Algorithms Stacks and Queues

QUEUES. Primitive Queue operations. enqueue (q, x): inserts item x at the rear of the queue q

Stop And Wait. ACK received; transmit frame 2 CS 455 3

ECE 358: Computer Networks. Solutions to Homework #4. Chapter 4 - The Network Layer

Load Balancing Techniques

1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++

Common Data Structures

Comparative Analysis of Congestion Control Algorithms Using ns-2

Nokia for Business. Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation

MAX = 5 Current = 0 'This will declare an array with 5 elements. Inserting a Value onto the Stack (Push)

SMTP-32 Library. Simple Mail Transfer Protocol Dynamic Link Library for Microsoft Windows. Version 5.2

Input and Interaction. Project Sketchpad. Graphical Input. Physical Devices. Objectives

I/O Management. General Computer Architecture. Goals for I/O. Levels of I/O. Naming. I/O Management. COMP755 Advanced Operating Systems 1

AFDX networks. Computers and Real-Time Group, University of Cantabria

Timing of a Disk I/O Transfer

IN-MAIL SYSTEM GUIDE INT-1087 (IPK II) DOCUMENT REVISION 1

Norstar ICS Telephone Feature Guide

OS OBJECTIVE QUESTIONS

Semester Thesis Traffic Monitoring in Sensor Networks

ontroller LSI with Built-in High- Performance Graphic Functions for Automotive Applications

FIX Protocol One Day Course. By Khader Shaik

Home Phone Call Forward Guide

Arena 9.0 Basic Modules based on Arena Online Help

Input and Interaction

Chapter 2. Simulation Examples 2.1. Prof. Dr. Mesut Güneş Ch. 2 Simulation Examples

SSC - Concurrency and Multi-threading Java multithreading programming - Synchronisation (I)

LOAD BALANCING DISTRIBUTED OPERATING SYSTEMS, SCALABILITY, SS Hermann Härtig

DEVELOPING CONTRACT - DRIVEN WEB SERVICES USING JDEVELOPER. The purpose of this tutorial is to develop a java web service using a top-down approach.

Android Operating System

1. Simulation of load balancing in a cloud computing environment using OMNET

Admin. Mobile Software Development Framework: Android Activity, View/ViewGroup, External Resources. Recap: TinyOS. Recap: J2ME Framework

A Transport Protocol for Multimedia Wireless Sensor Networks

Stacks. Linear data structures

A NOVEL RESOURCE EFFICIENT DMMS APPROACH

CS104: Data Structures and Object-Oriented Design (Fall 2013) October 24, 2013: Priority Queues Scribes: CS 104 Teaching Team

PROGRAMMING CONCEPTS AND EMBEDDED PROGRAMMING IN C, C++ and JAVA: Lesson-4: Data Structures: Stacks

Logging. Working with the POCO logging framework.

Cell Phone Providers. IBM PC Club Members

UniFinger Engine SDK Manual (sample) Version 3.0.0

Norstar ICS Telephone Feature Guide

Voice Mail User Guide

CANnes PC CAN Interface Manual

IBM Tivoli Composite Application Manager for Microsoft Applications: Microsoft Internet Information Services Agent Version Fix Pack 2.

Storage and Playback Getting Started Guide

5. Binary objects labeling

CNM. Customer Network Management Portal (For Enterprise Data Customers)-User Manual

The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications

Online Trading System Project Specifications Distributed Objects CSPP 51024

Quality of Service. Traditional Nonconverged Network. Traditional data traffic characteristics:

Secondary Storage. Any modern computer system will incorporate (at least) two levels of storage: magnetic disk/optical devices/tape systems

Using the CoreSight ITM for debug and testing in RTX applications

C++ Wrapper Library for Firebird Embedded SQL

Exam 1 Review Questions

MyOra 3.5. User Guide. SQL Tool for Oracle. Kris Murthy

Channel Access Client Programming. Andrew Johnson Computer Scientist, AES-SSG

Octopus F IVM V3.0 User Manual ===============!" ===

Sequential Circuit Design

A distributed system is defined as

Distributed Architectures. Distributed Databases. Distributed Databases. Distributed Databases

SRFax Fax API Web Services Documentation

Transcription:

MESSAGES QUEUES Group 05

WHAT'S A MESSAGE? Camera Node Processing Node

WHY A MESSAGE QUEUE? Camera Node Message Queue Processing Node

WHY A MESSAGE QUEUE? Camera Node Message Queue Processing Node

TODAY Introduction Messages in general Queue states Memory usage Priorities Messages in ROS

Queue Control Block QCB Memory (System Pool or Private Buffers) Sending Task Waiting List Queue Name/ID Receiving Task Waiting List Task Task Task Task Tail Queue Length Head Queue Element Queue Created (msgs = 0) Message Delivered (msgs = 0) Message Delivered (msgs = msgs-1) DEFINING A QUEUE Message Delivered (msgs = msgs-1) Empty Not Empty Full Message Arrived (msgs = 1) Message Arrived (msgs = Queue Length) Real Time Concepts for Embedded Systems - Qing li et. al.

Tail Queue Length Head Queue Element Queue Created (msgs = 0) Message Delivered (msgs = 0) Message Delivered (msgs = msgs-1) Message Delivered (msgs = msgs-1) Empty Not Empty Full Message Arrived (msgs = 1) Message Arrived (msgs = msgs+1) Message Arrived (msgs = Queue Length) tsendingtask treceivingtask Message 1 QUEUE STATES Message Message 1 1 1 st copy 2 nd copy Sending task s memory area Message queue s memory area Receiving task s Memory area Real Time Concepts for Embedded Systems - Qing li et. al.

tsendingtask treceivingtask Message 1 Message 1 Message 1 Sending tasks memory area Message queues memory area Receiving tasks Memory area MEMORY USAGE Real Time Concepts for Embedded Systems - Qing li et. al.

Message Queue Receiving Task Waiting List FIFO Msg 2 Msg 1 Msg 3 Message Queue Receiving Task Waiting List LIFO Msg 1 Msg 2 Msg 3 Sending Task Waiting List Message Queue Receiving Task Waiting List Task 3 Med. Task 2 Low Task 1 Med. Real Time Concepts for Embedded Systems - Qing li et. al. Task 4

Sending Task Waiting List Message Queue Receiving Task Waiting List FIFO Task 3 Med. Task 2 Low Task 1 Med. Task 4 High Sending Task Task Waiting Waiting List List Message Message Queue Queue Receiving Receiving Task Task Waiting Waiting List List Priority Task 1 Med. Task 3 Med. Task Task 22 Low Low Task 1 Med. Task 4 High Real Time Concepts for Embedded Systems - Qing li et. al.

TODAY Introduction Messages in general Queue states Memory usage Priorities Messages in ROS

WHAT S A MESSAGE IN ROS? LaserScan Matcher /Odom base_controller ActionHandler /Odom

WHAT S A MESSAGE IN ROS? LaserScan Matcher /Odom Subscriber base_controller Publisher ActionHandler /Odom Subscriber

WHAT S A MESSAGE IN ROS? LaserScan Matcher Queue /Odom Queue Queue Queue Buffer ActionHandler Queue /Odom base_controller

WHAT S A MESSAGE IN ROS? base_controller template<class message_type> ros::publisher advertise(const std::string& topic, uint32_t queue_size); LaserScan Matcher ros::subscriber sub = nh.subscribe("topic", 1, callback); http://mirror.umd.edu/roswiki/roscpp(2f)overview(2f)publishers(20)and(20)subscribers.html

DEFINING A MESSAGE #sequence ID uint32 seq # * stamp.secs # * stamp.nsecs time stamp # 0: no frame # 1: global frame string frame_id #content int64 order float64 amount http://www.ros.org/wiki/msg

SERVICES IN ROS LaserScan Matcher /Odom base_controller ActionHandler /Odom

SERVICES IN ROS LaserScan Matcher /Odom Subscriber base_controller Publisher ActionHandler /Odom Subscriber

DEFINING A SERVICE Request #request string orders --- --- Response #response int64 order float64 amount

SUMMARY Messages are used for communication between nodes Queues store messages temporarily ROS nodes communicate over topics Bilateral communcation via services

Fabien Bruning Yanick Douven Joost Groenen Luuk Mouton Ramon Wijnands