CommonAPITests. Generated by Doxygen Tue May :09:25

Size: px
Start display at page:

Download "CommonAPITests. Generated by Doxygen Tue May :09:25"

Transcription

1 CommonAPITests Generated by Doxygen Tue May :09:25

2

3 Contents 1 Main Page 1 2 Test List 3 3 File Index File List File Documentation mainpagetests/01_mainpage.dox File Reference /home/jg/work/releases/ascgit017.commonapi-tools/org.genivi.commonapi.core.verification/src/- MainLoopVerification.cpp File Reference Function Documentation MainLoopTest_VerifyTransportReadingWhenDispatchingWatches MainLoopTest_VerifySyncCallMessageHandlingOrder MainLoopTest_SyncCallsDoNotDeadlock MainLoopIndependenceTest_ProxyReceivesAnswerOnlyIfStubMainLoopRuns MainLoopIndependenceTest_ProxyReceivesJustHisOwnAnswers main Variable Documentation testaddress testaddress testaddress Index 9

4

5 Chapter 1 Main Page Copyright (C) 2013 BMW AG This file is part of GENIVI project IPC CommonAPI C++. Contributions are licensed to the GENIVI Alliance under one or more Contribution License Agreements. Author Juergen Gehring (juergen.gehring@bmw.de) Manfred Bathelt (manfred.bathelt@bmw.de) This document This document provides a list of tests which are implemented in the project +org.genivi.commonapi.core.- verification+ which is part of CommonAPI-Tools. These tests are middleware independent and can be used to verify the correct implementation of middleware specific bindings. About IPC CommonAPI C++ IPC CommonAPI C++ is a C++ based abstraction API for communication stacks, which enables applications to use different communication middleware - so called language bindings - as backend without any changes to the application code. More information can be found at the project homepage Please see the project download section for available language bindings.

6 2 Main Page Generated on Tue May :09:25 for CommonAPITests by Doxygen

7 Chapter 2 Test List Global MainLoopIndependenceTest_ProxyReceivesAnswerOnlyIfStubMainLoopRuns () Proxy Receives Answer Only If Stub MainLoop Runs. start proxy in thread 1 and call testpredefinedtypemethod proxy should not receive answer, if the stub mainloop does not run run mainloop of stub now the stub mainloop also runs, so the proxy should receive the answer Global MainLoopIndependenceTest_ProxyReceivesJustHisOwnAnswers () Proxy Receives Just His Own Answers. start 2 proxies in own threads call test method in each proxy now each proxy should have received the answer to his own request Global MainLoopTest_SyncCallsDoNotDeadlock () Synchronous Calls Do Not Deadlock. get proxy with available flag = true call synchronous test method in synccallthread 5 broadcasts should arrive in the right order run the mainloop again in order to give the synccallthread a chance to return Global MainLoopTest_VerifySyncCallMessageHandlingOrder () Verifies Synchronous Call Message Handling Order. get proxy with available flag = true subscribe for broadcast event generate 5 test broadcasts 5 broadcasts should arrive in the right order Global MainLoopTest_VerifyTransportReadingWhenDispatchingWatches () Verifies Transport Reading When Dispatching Watches. get proxy with available flag = true generate big test data send asynchronous test message dispatch dispatchsource: the message must not be arrived dispatch watches (reads transport). dispatch dispatchsources again: now the message must be arrived.

8 4 Test List Generated on Tue May :09:25 for CommonAPITests by Doxygen

9 Chapter 3 File Index 3.1 File List Here is a list of all files with brief descriptions: /home/jg/work/releases/ascgit017.commonapi-tools/org.genivi.commonapi.core.verification/src/main- LoopVerification.cpp

10 6 File Index Generated on Tue May :09:25 for CommonAPITests by Doxygen

11 Chapter 4 File Documentation 4.1 mainpagetests/01_mainpage.dox File Reference 4.2 /home/jg/work/releases/ascgit017.commonapi-tools/org.genivi.commonapi.core.- verification/src/mainloopverification.cpp File Reference Functions void MainLoopTest_VerifyTransportReadingWhenDispatchingWatches () void MainLoopTest_VerifySyncCallMessageHandlingOrder () void MainLoopTest_SyncCallsDoNotDeadlock () void MainLoopIndependenceTest_ProxyReceivesAnswerOnlyIfStubMainLoopRuns () void MainLoopIndependenceTest_ProxyReceivesJustHisOwnAnswers () int main (int argc, char argv) Variables const std::string testaddress6 = "local:my.eigth.test:commonapi.address.six" const std::string testaddress7 = "local:my.eigth.test:commonapi.address.seven" const std::string testaddress8 = "local:my.eigth.test:commonapi.address.eight" Function Documentation void MainLoopTest_VerifyTransportReadingWhenDispatchingWatches ( ) Test Verifies Transport Reading When Dispatching Watches. get proxy with available flag = true generate big test data send asynchronous test message dispatch dispatchsource: the message must not be arrived dispatch watches (reads transport). dispatch dispatchsources again: now the message must be arrived.

12 8 File Documentation void MainLoopTest_VerifySyncCallMessageHandlingOrder ( ) Test Verifies Synchronous Call Message Handling Order. get proxy with available flag = true subscribe for broadcast event generate 5 test broadcasts 5 broadcasts should arrive in the right order void MainLoopTest_SyncCallsDoNotDeadlock ( ) Test Synchronous Calls Do Not Deadlock. get proxy with available flag = true call synchronous test method in synccallthread 5 broadcasts should arrive in the right order run the mainloop again in order to give the synccallthread a chance to return void MainLoopIndependenceTest_ProxyReceivesAnswerOnlyIfStubMainLoopRuns ( ) Test Proxy Receives Answer Only If Stub MainLoop Runs. start proxy in thread 1 and call testpredefinedtypemethod proxy should not receive answer, if the stub mainloop does not run run mainloop of stub now the stub mainloop also runs, so the proxy should receive the answer void MainLoopIndependenceTest_ProxyReceivesJustHisOwnAnswers ( ) Test Proxy Receives Just His Own Answers. start 2 proxies in own threads call test method in each proxy now each proxy should have received the answer to his own request int main ( int argc, char argv ) Variable Documentation const std::string testaddress6 = "local:my.eigth.test:commonapi.address.six" const std::string testaddress7 = "local:my.eigth.test:commonapi.address.seven" const std::string testaddress8 = "local:my.eigth.test:commonapi.address.eight" Generated on Tue May :09:25 for CommonAPITests by Doxygen

13 Index /home/jg/work/releases/ascgit017.commonapi-tools/org.- genivi.commonapi.core.verification/src/main- LoopVerification.cpp, 7 main MainLoopIndependenceTest_ProxyReceivesAnswer- OnlyIfStubMainLoopRuns MainLoopIndependenceTest_ProxyReceivesJustHis- OwnAnswers MainLoopTest_SyncCallsDoNotDeadlock MainLoopTest_VerifySyncCallMessageHandlingOrder MainLoopVerification.cpp, 7 MainLoopTest_VerifyTransportReadingWhenDispatching- Watches MainLoopVerification.cpp, 7 MainLoopVerification.cpp main, 8 MainLoopIndependenceTest_ProxyReceives- AnswerOnlyIfStubMainLoopRuns, 8 MainLoopIndependenceTest_ProxyReceivesJust- HisOwnAnswers, 8 MainLoopTest_SyncCallsDoNotDeadlock, 8 MainLoopTest_VerifySyncCallMessageHandling- Order, 7 MainLoopTest_VerifyTransportReadingWhen- DispatchingWatches, 7 testaddress6, 8 testaddress7, 8 testaddress8, 8 mainpagetests/01_mainpage.dox, 7 testaddress6 testaddress7 testaddress8

CommonAPI C++ Specification. CommonAPI C++ Specification

CommonAPI C++ Specification. CommonAPI C++ Specification CommonAPI C++ Specification i CommonAPI C++ Specification CommonAPI C++ Specification ii Contents 1 General Design 1 1.1 Basic Assumptions.................................................. 1 1.2 Deployment......................................................

More information

CommonAPI C++ Specification i. CommonAPI C++ Specification

CommonAPI C++ Specification i. CommonAPI C++ Specification i CommonAPI C++ Specification ii Contents 1 General Design 1 1.1 Basic Assumptions.................................................. 1 1.2 Deployment......................................................

More information

CommonAPI C++ Update 21-Oct-15

CommonAPI C++ Update 21-Oct-15 C++ Update 21-Oct-15 Jürgen Gehring BMW Group Dashboard image reproduced with the permission of Visteon and 3M Corporation 1 Content C++ 3 Introduction New Features / API Changes Roadmap yamaica Overview

More information

CHAPTER - 4 REMOTE COMMUNICATION

CHAPTER - 4 REMOTE COMMUNICATION CHAPTER - 4 REMOTE COMMUNICATION Topics Introduction to Remote Communication Remote Procedural Call Basics RPC Implementation RPC Communication Other RPC Issues Case Study: Sun RPC Remote invocation Basics

More information

Desarrollo de Aplicaciones en Red. El modelo de comunicación. General concepts. Models of communication. Message Passing

Desarrollo de Aplicaciones en Red. El modelo de comunicación. General concepts. Models of communication. Message Passing Desarrollo de Aplicaciones en Red El modelo de comunicación José Rafael Rojano Cáceres http://www.uv.mx/rrojano 1 2 General concepts As we saw in a Distributed System the logical and physical component

More information

libknx Generated by Doxygen Wed Aug :37:55

libknx Generated by Doxygen Wed Aug :37:55 libknx Generated by Doxygen 1.8.1.2 Wed Aug 7 2013 01:37:55 Contents 1 KNX interface library 1 2 Namespace Index 3 2.1 Namespace List............................................ 3 3 Class Index 5 3.1

More information

Zymkey App Utils: C++

Zymkey App Utils: C++ Zymkey App Utils: C++ Generated by Doxygen 1.8.8 Tue Apr 3 2018 07:21:52 Contents 1 Intro 1 2 Hierarchical Index 5 2.1 Class Hierarchy............................................ 5 3 Class Index 7 3.1

More information

Lecture 8: February 19

Lecture 8: February 19 CMPSCI 677 Operating Systems Spring 2013 Lecture 8: February 19 Lecturer: Prashant Shenoy Scribe: Siddharth Gupta 8.1 Server Architecture Design of the server architecture is important for efficient and

More information

Autonomic Performance Environment for exascale (APEX)

Autonomic Performance Environment for exascale (APEX) Autonomic Performance Environment for exascale (APEX) 0.5 Generated by Doxygen 1.8.10 Wed May 4 2016 10:18:47 Contents 1 APEX: Autonomic Performance Environment for exascale 1 1.1 Copyright...............................................

More information

Communication. Communication. Distributed Systems. Networks and protocols Sockets Remote Invocation Messages Streams. Fall /10/2001 DoCS

Communication. Communication. Distributed Systems. Networks and protocols Sockets Remote Invocation Messages Streams. Fall /10/2001 DoCS Communication Distributed Systems Fall 2002 Communication Process Process Networks and protocols Sockets Remote Invocation Messages Streams 9/10/2001 DoCS 2002 2 Layered Protocols (1) Layers, interfaces,

More information

CommonAPI C++ User Guide. CommonAPI C++ User Guide

CommonAPI C++ User Guide. CommonAPI C++ User Guide CommonAPI C++ User Guide i CommonAPI C++ User Guide CommonAPI C++ User Guide ii Contents 1 Introduction 1 1.1 Aim of this document................................................. 1 1.2 CommonAPI C++...................................................

More information

CSci Introduction to Distributed Systems. Communication: RPC

CSci Introduction to Distributed Systems. Communication: RPC CSci 5105 Introduction to Distributed Systems Communication: RPC Today Remote Procedure Call Chapter 4 TVS Last Time Architectural styles RPC generally mandates client-server but not always Interprocess

More information

Weston Plugin Based IVI Layer Management. Ossama Othman 20 September 2012

Weston Plugin Based IVI Layer Management. Ossama Othman 20 September 2012 Weston Plugin Based IVI Layer Management Ossama Othman 20 September 2012 Context GNU/Linux based IVI platform Multiple screens Multiple ECUs Applications may be distributed across multiple screens and

More information

Chapter 4: Processes. Process Concept

Chapter 4: Processes. Process Concept Chapter 4: Processes Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication in Client-Server Systems 4.1 Silberschatz, Galvin and Gagne

More information

Chapter 4: Processes

Chapter 4: Processes Chapter 4: Processes Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication in Client-Server Systems 4.1 Silberschatz, Galvin and Gagne

More information

CS420: Operating Systems

CS420: Operating Systems Threads James Moscola Department of Physical Sciences York College of Pennsylvania Based on Operating System Concepts, 9th Edition by Silberschatz, Galvin, Gagne Threads A thread is a basic unit of processing

More information

OPENSHMEM AND OFI: BETTER TOGETHER

OPENSHMEM AND OFI: BETTER TOGETHER 4th ANNUAL WORKSHOP 208 OPENSHMEM AND OFI: BETTER TOGETHER James Dinan, David Ozog, and Kayla Seager Intel Corporation [ April, 208 ] NOTICES AND DISCLAIMERS Intel technologies features and benefits depend

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

Processes. Operating System Concepts with Java. 4.1 Sana a University, Dr aimen

Processes. Operating System Concepts with Java. 4.1 Sana a University, Dr aimen Processes Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication in Client-Server Systems 4.1 Sana a University, Dr aimen Process Concept

More information

4.8 Summary. Practice Exercises

4.8 Summary. Practice Exercises Practice Exercises 191 structures of the parent process. A new task is also created when the clone() system call is made. However, rather than copying all data structures, the new task points to the data

More information

A Lightweight Library for Building Scalable Tools

A Lightweight Library for Building Scalable Tools A Lightweight Library for Building Scalable Tools Emily R. Jacobson, Michael J. Brim, Barton P. Miller Paradyn Project University of Wisconsin jacobson@cs.wisc.edu June 6, 2010 Para 2010: State of the

More information

POSIX Threads and OpenMP tasks

POSIX Threads and OpenMP tasks POSIX Threads and OpenMP tasks Jimmy Aguilar Mena February 16, 2018 Introduction Pthreads Tasks Two simple schemas Independent functions # include # include void f u n c t i

More information

03 Remote invocation. Request-reply RPC. Coulouris 5 Birrel_Nelson_84.pdf RMI

03 Remote invocation. Request-reply RPC. Coulouris 5 Birrel_Nelson_84.pdf RMI 03 Remote invocation Request-reply RPC Coulouris 5 Birrel_Nelson_84.pdf RMI 2/16 Remote Procedure Call Implementation client process Request server process client program client stub procedure Communication

More information

Distributed Systems Principles and Paradigms. Distributed Object-Based Systems. Remote distributed objects. Remote distributed objects

Distributed Systems Principles and Paradigms. Distributed Object-Based Systems. Remote distributed objects. Remote distributed objects Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science steen@cs.vu.nl Chapter 10: Version: December 10, 2012 1 / 22 10.1 Architecture 10.1 Architecture Remote

More information

Project #1 Exceptions and Simple System Calls

Project #1 Exceptions and Simple System Calls Project #1 Exceptions and Simple System Calls Introduction to Operating Systems Assigned: January 21, 2004 CSE421 Due: February 17, 2004 11:59:59 PM The first project is designed to further your understanding

More information

CommonAPI C++ User Guide. CommonAPI C++ User Guide

CommonAPI C++ User Guide. CommonAPI C++ User Guide CommonAPI C++ User Guide i CommonAPI C++ User Guide CommonAPI C++ User Guide ii Contents 1 Introduction 1 1.1 Aim of this document................................................. 1 1.2 CommonAPI C++...................................................

More information

Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS

Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS Distributed Objects Figure 10-1. Common organization of a remote

More information

NETWORK PROGRAMMING. Instructor: Junaid Tariq, Lecturer, Department of Computer Science

NETWORK PROGRAMMING. Instructor: Junaid Tariq, Lecturer, Department of Computer Science NETWORK PROGRAMMING CSC- 341 25 Instructor: Junaid Tariq, Lecturer, Department of Computer Science 26 9 Lecture Sockets as means for inter-process communication (IPC) application layer Client Process Socket

More information

Multithreaded Programming

Multithreaded Programming Multithreaded Programming The slides do not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams. September 4, 2014 Topics Overview

More information

Threads. What is a thread? Motivation. Single and Multithreaded Processes. Benefits

Threads. What is a thread? Motivation. Single and Multithreaded Processes. Benefits CS307 What is a thread? Threads A thread is a basic unit of CPU utilization contains a thread ID, a program counter, a register set, and a stack shares with other threads belonging to the same process

More information

Introduction of New Verse Protocol Jiří Hnídek Technical University of Liberec Czech Republic

Introduction of New Verse Protocol Jiří Hnídek Technical University of Liberec Czech Republic Introduction of New Verse Protocol Jiří Hnídek Technical University of Liberec Czech Republic email: jiri.hnidek@tul.cz http://dev.nti.tul.cz/trac/verse2 Introduction & History Network protocol Real-time

More information

Operating Systems and Networks Assignment 2

Operating Systems and Networks Assignment 2 Spring Term 2014 Operating Systems and Networks Assignment 2 Assigned on: 27th February 2014 Due by: 6th March 2014 1 Scheduling The following table describes tasks to be scheduled. The table contains

More information

Part Two - Process Management. Chapter 3: Processes

Part Two - Process Management. Chapter 3: Processes Part Two - Process Management Chapter 3: Processes Chapter 3: Processes 3.1 Process Concept 3.2 Process Scheduling 3.3 Operations on Processes 3.4 Interprocess Communication 3.5 Examples of IPC Systems

More information

CS510 Operating System Foundations. Jonathan Walpole

CS510 Operating System Foundations. Jonathan Walpole CS510 Operating System Foundations Jonathan Walpole Threads & Concurrency 2 Why Use Threads? Utilize multiple CPU s concurrently Low cost communication via shared memory Overlap computation and blocking

More information

Holland Computing Center Kickstart MPI Intro

Holland Computing Center Kickstart MPI Intro Holland Computing Center Kickstart 2016 MPI Intro Message Passing Interface (MPI) MPI is a specification for message passing library that is standardized by MPI Forum Multiple vendor-specific implementations:

More information

Common Misunderstandings from Exam 1 Material

Common Misunderstandings from Exam 1 Material Common Misunderstandings from Exam 1 Material Kyle Dewey Stack and Heap Allocation with Pointers char c = c ; char* p1 = malloc(sizeof(char)); char** p2 = &p1; Where is c allocated? Where is p1 itself

More information

Computer Architecture and Operating Systems Course: International University Bremen Date: Final Examination

Computer Architecture and Operating Systems Course: International University Bremen Date: Final Examination Computer Architecture and Operating Systems Course: 320202 International University Bremen Date: 2006-05-22 Dr. Jürgen Schönwälder Type: open book Final Examination Problem F.1: operating systems (2+2+2+2+2=10

More information

RPC and RMI. 2501ICT Nathan

RPC and RMI. 2501ICT Nathan RPC and RMI 2501ICT Nathan Contents Client/Server revisited RPC Architecture XDR RMI Principles and Operation Case Studies Copyright 2002- René Hexel. 2 Client/Server Revisited Server Accepts commands

More information

Name: uteid: 1. CS439H: Fall 2011 Midterm 1

Name: uteid: 1. CS439H: Fall 2011 Midterm 1 Name: uteid: 1 Instructions CS439H: Fall 2011 Midterm 1 Stop writing when time is announced at the end of the exam. I will leave the room as soon as I ve given people a fair chance to bring me the exams.

More information

Grand Central Dispatch and NSOperation. CSCI 5828: Foundations of Software Engineering Lecture 28 12/03/2015

Grand Central Dispatch and NSOperation. CSCI 5828: Foundations of Software Engineering Lecture 28 12/03/2015 Grand Central Dispatch and NSOperation CSCI 5828: Foundations of Software Engineering Lecture 28 12/03/2015 1 Credit Where Credit Is Due Most of the examples in this lecture were inspired by example code

More information

Distributed Information Processing

Distributed Information Processing Distributed Information Processing 6 th Lecture Eom, Hyeonsang ( 엄현상 ) Department of Computer Science & Engineering Seoul National University Copyrights 2016 Eom, Hyeonsang All Rights Reserved Outline

More information

COS 318: Operating Systems. Message Passing. Kai Li and Andy Bavier Computer Science Department Princeton University

COS 318: Operating Systems. Message Passing. Kai Li and Andy Bavier Computer Science Department Princeton University COS 318: Operating Systems Message Passing Kai Li and Andy Bavier Computer Science Department Princeton University (http://www.cs.princeton.edu/courses/cos318/) Quizzes Quiz 1 Most of you did very well

More information

Lecture 5: Object Interaction: RMI and RPC

Lecture 5: Object Interaction: RMI and RPC 06-06798 Distributed Systems Lecture 5: Object Interaction: RMI and RPC Distributed Systems 1 Recap Message passing: send, receive synchronous versus asynchronous No global Time types of failure socket

More information

Point-to-Point Communication. Reference:

Point-to-Point Communication. Reference: Point-to-Point Communication Reference: http://foxtrot.ncsa.uiuc.edu:8900/public/mpi/ Introduction Point-to-point communication is the fundamental communication facility provided by the MPI library. Point-to-point

More information

CS333 Intro to Operating Systems. Jonathan Walpole

CS333 Intro to Operating Systems. Jonathan Walpole CS333 Intro to Operating Systems Jonathan Walpole Threads & Concurrency 2 Threads Processes have the following components: - an address space - a collection of operating system state - a CPU context or

More information

C++ Crash Kurs. Polymorphism. Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck

C++ Crash Kurs. Polymorphism. Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck C++ Crash Kurs Polymorphism Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer C++ Polymorphism Major abstractions of C++ Data abstraction

More information

Concurrency. Stefan D. Bruda. Winter 2018

Concurrency. Stefan D. Bruda. Winter 2018 Concurrency Stefan D. Bruda Winter 2018 DOING MORE THINGS SIMULTANEOUSLY Concurrency can be achieved by multiprocessing and time-sharing Best definition for concurrency: apparently simultaneous execution

More information

Maemo Diablo Source code for the LibOSSO RPC examples Training Material

Maemo Diablo Source code for the LibOSSO RPC examples Training Material Maemo Diablo Source code for the LibOSSO RPC examples Training Material February 9, 2009 Contents 1 Source code for the LibOSSO RPC examples 2 1.1 libosso-example-sync/libosso-rpc-sync.c..............

More information

Light-Weight Processes: Dissecting Linux Threads

Light-Weight Processes: Dissecting Linux Threads Operating Systems (Fall/Winter 2018) Light-Weight Processes: Dissecting Linux Threads Yajin Zhou (http://yajin.org) Zhejiang University source: https://opensourceforu.com/2011/08/light-weight-processes-dissecting-linux-threads/

More information

Thread Concept. Thread. No. 3. Multiple single-threaded Process. One single-threaded Process. Process vs. Thread. One multi-threaded Process

Thread Concept. Thread. No. 3. Multiple single-threaded Process. One single-threaded Process. Process vs. Thread. One multi-threaded Process EECS 3221 Operating System Fundamentals What is thread? Thread Concept No. 3 Thread Difference between a process and a thread Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University

More information

Distributed Objects and Remote Invocation. Programming Models for Distributed Applications

Distributed Objects and Remote Invocation. Programming Models for Distributed Applications Distributed Objects and Remote Invocation Programming Models for Distributed Applications Extending Conventional Techniques The remote procedure call model is an extension of the conventional procedure

More information

COMMUNICATION PROTOCOLS: REMOTE PROCEDURE CALL (RPC)

COMMUNICATION PROTOCOLS: REMOTE PROCEDURE CALL (RPC) COMMUNICATION PROTOCOLS: REMOTE PROCEDURE CALL (RPC) 1 2 CONVENTIONAL PROCEDURE CALL (a) (b) Parameter passing in a local procedure call: the stack before the call to read. The stack while the called procedure

More information

The Data may not be disclosed or distributed to third parties, in whole or in part, without the prior written consent of Motion Workshop.

The Data may not be disclosed or distributed to third parties, in whole or in part, without the prior written consent of Motion Workshop. C API Reference Motion Version 2.6 www.motionnode.com www.motionshadow.com Copyright c 2017 Motion Workshop. All rights reserved. The coded instructions, statements, computer programs, and/or related material

More information

Message-Passing Programming with MPI

Message-Passing Programming with MPI Message-Passing Programming with MPI Message-Passing Concepts David Henty d.henty@epcc.ed.ac.uk EPCC, University of Edinburgh Overview This lecture will cover message passing model SPMD communication modes

More information

CUDA DSMC Documentation

CUDA DSMC Documentation CUDA DSMC Documentation Release 0.1.0 Christopher Jon Watkins May 20, 2016 Contents 1 Document Title 3 1.1 main.cpp................................................. 3 1.2 random_numers.cpp...........................................

More information

Last class: Today: Thread Background. Thread Systems

Last class: Today: Thread Background. Thread Systems 1 Last class: Thread Background Today: Thread Systems 2 Threading Systems 3 What kind of problems would you solve with threads? Imagine you are building a web server You could allocate a pool of threads,

More information

Lab 1: First Steps in C++ - Eclipse

Lab 1: First Steps in C++ - Eclipse Lab 1: First Steps in C++ - Eclipse Step Zero: Select workspace 1. Upon launching eclipse, we are ask to chose a workspace: 2. We select a new workspace directory (e.g., C:\Courses ): 3. We accept the

More information

Processes. CSE 2431: Introduction to Operating Systems Reading: Chap. 3, [OSC]

Processes. CSE 2431: Introduction to Operating Systems Reading: Chap. 3, [OSC] Processes CSE 2431: Introduction to Operating Systems Reading: Chap. 3, [OSC] 1 Outline What Is A Process? Process States & PCB Process Memory Layout Process Scheduling Context Switch Process Operations

More information

POSIX Threads. HUJI Spring 2011

POSIX Threads. HUJI Spring 2011 POSIX Threads HUJI Spring 2011 Why Threads The primary motivation for using threads is to realize potential program performance gains and structuring. Overlapping CPU work with I/O. Priority/real-time

More information

Recitation 14: Proxy Lab Part 2

Recitation 14: Proxy Lab Part 2 Recitation 14: Proxy Lab Part 2 Instructor: TA(s) 1 Outline Proxylab Threading Threads and Synchronization 2 ProxyLab ProxyLab is due in 1 week. No grace days Late days allowed (-15%) Make sure to submit

More information

Definition Multithreading Models Threading Issues Pthreads (Unix)

Definition Multithreading Models Threading Issues Pthreads (Unix) Chapter 4: Threads Definition Multithreading Models Threading Issues Pthreads (Unix) Solaris 2 Threads Windows 2000 Threads Linux Threads Java Threads 1 Thread A Unix process (heavy-weight process HWP)

More information

Distributed Information Processing

Distributed Information Processing Distributed Information Processing 5 th Lecture Eom, Hyeonsang ( 엄현상 ) Department of Computer Science & Engineering Seoul National University Copyrights 2017 Eom, Hyeonsang All Rights Reserved Outline

More information

Chapter 5: Distributed objects and remote invocation

Chapter 5: Distributed objects and remote invocation Chapter 5: Distributed objects and remote invocation From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Addison-Wesley 2005 Figure 5.1 Middleware layers Applications

More information

Dialogic Multimedia API

Dialogic Multimedia API Dialogic Multimedia API Library Reference August 2007 05-2454-002 Copyright 2005-2007, Dialogic Corporation. All rights reserved. You may not reproduce this document in whole or in part without permission

More information

Dr Markus Hagenbuchner CSCI319. Distributed Systems Chapter 3 - Processes

Dr Markus Hagenbuchner CSCI319. Distributed Systems Chapter 3 - Processes Dr Markus Hagenbuchner markus@uow.edu.au CSCI319 Distributed Systems Chapter 3 - Processes CSCI319 Chapter 3 Page: 1 Processes Lecture notes based on the textbook by Tannenbaum Study objectives: 1. Understand

More information

Module Contact: Dr Anthony J. Bagnall, CMP Copyright of the University of East Anglia Version 2

Module Contact: Dr Anthony J. Bagnall, CMP Copyright of the University of East Anglia Version 2 UNIVERSITY OF EAST ANGLIA School of Computing Sciences Main Series UG Examination 2014/15 PROGRAMMING 2 CMP-5015Y Time allowed: 2 hours Answer four questions. All questions carry equal weight. Notes are

More information

Processes. Electrical and Computer Engineering Stephen Kim ECE/IUPUI RTOS & Apps 1

Processes. Electrical and Computer Engineering Stephen Kim ECE/IUPUI RTOS & Apps 1 Processes Electrical and Computer Engineering Stephen Kim (dskim@iupui.edu) ECE/IUPUI RTOS & Apps 1 Processes Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess

More information

System Models and Communication

System Models and Communication System Models and Communication http://idc.hust.edu.cn/~rxli/ Outline Terminology Client-Server Model OSI Model vs. Middleware Model Summary Ruixuan Li School of Computer Science and Technology Huazhong

More information

PCAP Assignment I. 1. A. Why is there a large performance gap between many-core GPUs and generalpurpose multicore CPUs. Discuss in detail.

PCAP Assignment I. 1. A. Why is there a large performance gap between many-core GPUs and generalpurpose multicore CPUs. Discuss in detail. PCAP Assignment I 1. A. Why is there a large performance gap between many-core GPUs and generalpurpose multicore CPUs. Discuss in detail. The multicore CPUs are designed to maximize the execution speed

More information

Name: uteid: 1. CS439H: Fall 2011 Midterm 1

Name: uteid: 1. CS439H: Fall 2011 Midterm 1 Name: uteid: 1 Instructions CS439H: Fall 2011 Midterm 1 Stop writing when time is announced at the end of the exam. I will leave the room as soon as I ve given people a fair chance to bring me the exams.

More information

High Level API for CORBA-Based High-Precision Real-Time Programming

High Level API for CORBA-Based High-Precision Real-Time Programming High Level API for CA-ased High-Precision eal-time Programming Seok-Joong Kang, Hiroshi Miyazaki, and Kane Kim, UC Irvine {seokjook, hmiyazak, khkim}@uciedu, http://dreamenguciedu/ June 2001 utline Key

More information

Android Architecture and Binder. Dhinakaran Pandiyan Saketh Paranjape

Android Architecture and Binder. Dhinakaran Pandiyan Saketh Paranjape Android Architecture and Binder Dhinakaran Pandiyan Saketh Paranjape Android Software stack Anatomy of an Android application Activity UI component typically corresponding of one screen Service Background

More information

Threads. studykorner.org

Threads. studykorner.org Threads Thread Subpart of a process Basic unit of CPU utilization Smallest set of programmed instructions, can be managed independently by OS No independent existence (process dependent) Light Weight Process

More information

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017 CS 471 Operating Systems Yue Cheng George Mason University Fall 2017 1 Review: Sync Terminology Worksheet 2 Review: Semaphores 3 Semaphores o Motivation: Avoid busy waiting by blocking a process execution

More information

Microkernel Construction

Microkernel Construction Microkernel Construction Interprocess Communication Nils Asmussen 05/03/2018 1 / 33 Outline Introduction Microkernel vs. Monolithic kernel Synchronous vs. Asynchronous Different Implementations Synchronous

More information

Capturing Middleware using UML Models.

Capturing Middleware using UML Models. OpenDDS Capturing Middleware using UML Models www.ociweb.com www.opendds.org Overview Eclipse based model capture Middleware Data Quality of Service Policies Code generation Validation Files and References

More information

Message-Passing Programming with MPI. Message-Passing Concepts

Message-Passing Programming with MPI. Message-Passing Concepts Message-Passing Programming with MPI Message-Passing Concepts Reusing this material This work is licensed under a Creative Commons Attribution- NonCommercial-ShareAlike 4.0 International License. http://creativecommons.org/licenses/by-nc-sa/4.0/deed.en_us

More information

Alexander Warg. Complex Lab Operating System 2007 Winter Term. Introduction

Alexander Warg. Complex Lab Operating System 2007 Winter Term. Introduction Faculty of Computer Science Institute for System Architecture, Operating Systems Group Alexander Warg Complex Lab Operating System 2007 Winter Term Introduction Requirements Basic Operating Systems Know-How

More information

CSE 4/521 Introduction to Operating Systems

CSE 4/521 Introduction to Operating Systems CSE 4/521 Introduction to Operating Systems Lecture 9 CPU Scheduling II (Scheduling Algorithms, Thread Scheduling, Real-time CPU Scheduling) Summer 2018 Overview Objective: 1. To describe priority scheduling

More information

Linux SDK for UPnP Devices v1.4

Linux SDK for UPnP Devices v1.4 Linux SDK for UPnP Devices v1.4 Linux SDK for UPnP Devices v1.4 Contents 1 Introduction............................................................. 5 2 License...................................................................

More information

CS342 - Spring 2019 Project #3 Synchronization and Deadlocks

CS342 - Spring 2019 Project #3 Synchronization and Deadlocks CS342 - Spring 2019 Project #3 Synchronization and Deadlocks Assigned: April 2, 2019. Due date: April 21, 2019, 23:55. Objectives Practice multi-threaded programming. Practice synchronization: mutex and

More information

Chapter 6: CPU Scheduling

Chapter 6: CPU Scheduling Chapter 6: CPU Scheduling Silberschatz, Galvin and Gagne Histogram of CPU-burst Times 6.2 Silberschatz, Galvin and Gagne Alternating Sequence of CPU And I/O Bursts 6.3 Silberschatz, Galvin and Gagne CPU

More information

LSN 13 Linux Concurrency Mechanisms

LSN 13 Linux Concurrency Mechanisms LSN 13 Linux Concurrency Mechanisms ECT362 Operating Systems Department of Engineering Technology LSN 13 Creating Processes fork() system call Returns PID of the child process created The new process is

More information

eprosima RPC over REST User Manual Version 0.3.0

eprosima RPC over REST User Manual Version 0.3.0 eprosima RPC over REST User Manual Version 0.3.0 The Middleware Experts eprosima 2014 1 eprosima Proyectos y Sistemas de Mantenimiento SL Ronda del poniente 2 1ºG 28760 Tres Cantos Madrid Tel: + 34 91

More information

CSE 333 Section 8 - Client-Side Networking

CSE 333 Section 8 - Client-Side Networking CSE 333 Section 8 - Client-Side Networking Welcome back to section! We re glad that you re here :) Networking Quick Review What are the following protocols used for? (bonus: what layer of the networking

More information

Peer-to-Peer Systems and Security

Peer-to-Peer Systems and Security Peer-to-Peer Systems and Security The GNUnet Architecture Christian Grothoff Technische Universität München April 10, 2014 The architects who benefit us most maybe those generous enough to lay aside their

More information

Chapter 4: Processes

Chapter 4: Processes Chapter 4: Processes Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication in Client-Server Systems 4.1 Process Concept An operating

More information

The Big Picture So Far. Chapter 4: Processes

The Big Picture So Far. Chapter 4: Processes The Big Picture So Far HW Abstraction Processor Memory IO devices File system Distributed systems Example OS Services Process management, protection, synchronization Memory Protection, management, VM Interrupt

More information

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR 603203 DEPARTMENT OF COMPUTER SCIENCE & APPLICATIONS QUESTION BANK (2017-2018) Course / Branch : M.Sc.,CST Semester / Year : EVEN / III Subject Name

More information

Operating Systems. 18. Remote Procedure Calls. Paul Krzyzanowski. Rutgers University. Spring /20/ Paul Krzyzanowski

Operating Systems. 18. Remote Procedure Calls. Paul Krzyzanowski. Rutgers University. Spring /20/ Paul Krzyzanowski Operating Systems 18. Remote Procedure Calls Paul Krzyzanowski Rutgers University Spring 2015 4/20/2015 2014-2015 Paul Krzyzanowski 1 Remote Procedure Calls 2 Problems with the sockets API The sockets

More information

Thread. Disclaimer: some slides are adopted from the book authors slides with permission 1

Thread. Disclaimer: some slides are adopted from the book authors slides with permission 1 Thread Disclaimer: some slides are adopted from the book authors slides with permission 1 IPC Shared memory Recap share a memory region between processes read or write to the shared memory region fast

More information

Socket Programming for TCP and UDP

Socket Programming for TCP and UDP CSCI4430 Data Communication and Computer Networks Socket Programming for TCP and UDP ZHANG, Mi Jan. 19, 2017 Outline Socket Programming for TCP Introduction What is TCP What is socket TCP socket programming

More information

MRCP. Client Integration Manual. Developer Guide. Powered by Universal Speech Solutions LLC

MRCP. Client Integration Manual. Developer Guide. Powered by Universal Speech Solutions LLC Powered by Universal Speech Solutions LLC MRCP Client Integration Manual Developer Guide Revision: 37 Last updated: May 20, 2017 Created by: Arsen Chaloyan Universal Speech Solutions LLC Overview 1 Table

More information

Foundations of Python

Foundations of Python Foundations of Python Network Programming The comprehensive guide to building network applications with Python Second Edition Brandon Rhodes John Goerzen Apress Contents Contents at a Glance About the

More information

ECE 462 Fall 2011, Third Exam

ECE 462 Fall 2011, Third Exam ECE 462 Fall 2011, Third Exam DO NOT START WORKING ON THIS UNTIL TOLD TO DO SO. You have until 9:20 to take this exam. Your exam should have 12 pages total (including this cover sheet). Please let Prof.

More information

Little Motivation Outline Introduction OpenMP Architecture Working with OpenMP Future of OpenMP End. OpenMP. Amasis Brauch German University in Cairo

Little Motivation Outline Introduction OpenMP Architecture Working with OpenMP Future of OpenMP End. OpenMP. Amasis Brauch German University in Cairo OpenMP Amasis Brauch German University in Cairo May 4, 2010 Simple Algorithm 1 void i n c r e m e n t e r ( short a r r a y ) 2 { 3 long i ; 4 5 for ( i = 0 ; i < 1000000; i ++) 6 { 7 a r r a y [ i ]++;

More information

ROS 2 Update. Deanna Hood, William Woodall October 8, 2016 ROSCon 2016 Seoul. https://goo.gl/ochr7h

ROS 2 Update. Deanna Hood, William Woodall October 8, 2016 ROSCon 2016 Seoul. https://goo.gl/ochr7h ROS 2 Update Deanna Hood, William Woodall October 8, 2016 ROSCon 2016 Seoul https://goo.gl/ochr7h Contents ROS 2 overview Overview of changes in the last year Details of select features Experience porting

More information

Signal Example 1. Signal Example 2

Signal Example 1. Signal Example 2 Signal Example 1 #include #include void ctrl_c_handler(int tmp) { printf("you typed CTL-C, but I don't want to die!\n"); int main(int argc, char* argv[]) { long i; signal(sigint, ctrl_c_handler);

More information

Process Concept: views of a process Process Scheduling CSCI 6730/ 4730 Operating Systems

Process Concept: views of a process Process Scheduling CSCI 6730/ 4730 Operating Systems Chapter 3: Processes: Outline Process Concept: views of a process Process Scheduling CSCI 6730/ 4730 Operating Systems Operations on Processes Cooperating Processes Inter Process Communication (IPC) RPC:

More information

Dialogic Multimedia API

Dialogic Multimedia API Dialogic Multimedia API Library Reference March 2008 05-2454-001_D Copyright 2005-2008. All rights reserved. You may not reproduce this document in whole or in part without permission in writing from.

More information