SCJ and EV3 Robots Leadership Election. Background Safety Critical Java – A safety critical programming model in Java EV3 mindstorms Lego Robot – A robot.

Slides:



Advertisements
Similar presentations
Executional Architecture
Advertisements

Concurrency: introduction1 ©Magee/Kramer 2 nd Edition Concurrency State Models and Java Programs Jeff Magee and Jeff Kramer.
Operating Systems High Level View Chapter 1,2. Who is the User? End Users Application Programmers System Programmers Administrators.
Seyed Mohammad Ghaffarian ( ) Computer Engineering Department Amirkabir University of Technology Fall 2010.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
1 2. Controlling Robot Car in Ogre References: 1. LEGO.com MINDSTORMS NXT Home, 2. OGRE 3D, 3. MSDN,
Reliable Networking Systems The goals: Implement a reliable network application of a file sharing network. Implement a reliable network application of.
RPC Project Using either sockets or TLI, implement Remote Procedure Calls between two distinct machines that are communicating over an Ethernet network.
Reliable Networking Systems Software Systems Laboratory Presented by : Iliya Golub Galina Sagdeev Supervisor : Yonatan Kaspi.
Midterm 1 Overview Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
An Introduction to Internetworking. Algorithm for client-server communication with UDP (connectionless) A SERVER A CLIENT Create a server-socket (listener)and.
Understanding Factors That Influence Performance of a Web Server Presentation CS535 Project By Thiru.
Client Server Model and Software Design TCP/IP allows a programmer to establish communication between two application and to pass data back and forth.
IV&V Facility Model-based Design Verification IVV Annual Workshop September, 2009 Tom Hempler.
Remote robot control using mobile devices Andrey Litvinov Evgenia Samochadina Renat Valeev.
0 Deterministic Replay for Real- time Software Systems Alice Lee Safety, Reliability & Quality Assurance Office JSC, NASA Yann-Hang.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Concurrency: introduction1 ©Magee/Kramer Concurrency State Models and Java Programs Jeff Magee and Jeff Kramer.
HID Joystick Control for K10 Series Rover Gregg Carpenter, University of Vermont, Burlington Vermont Mentor: Dr. Terry Fong, Intelligent Robotics.
Robotic Radiation Oncology
Welcome to CIS 083 ! Events CIS 068.
Event Driven Programming
Jozef Goetz, Application Layer PART VI Jozef Goetz, Position of application layer The application layer enables the user, whether human.
Example: Sorting on Distributed Computing Environment Apr 20,
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 3: Basing Software Development on Reusable Technology.
Chapter 2 Applications and Layered Architectures Sockets.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
7. CBM collaboration meetingXDAQ evaluation - J.Adamczewski1.
DISTRIBUTED COMPUTING. Computing? Computing is usually defined as the activity of using and improving computer technology, computer hardware and software.
Concurrent Programming and Threads Threads Blocking a User Interface.
Lego MindStorm An Introduction to Blocks. Blocks Blocks are used to give instructions to your robot. There are many types of blocks You can use the blocks.
IMPRINT 2 2 System of Systems (SoS) Modeling Approach Micro Analysis & Design Nils D. LaVine Marc Gacy 7 December 2005.
Prepared by: Azara Prakash L.. Contents:-  Data Transmission  Introduction  Socket Description  Data Flow Diagram  Module Design Specification.
Eric Tryon Brian Clark Christopher McKeowen. System Architecture The architecture can be broken down to three different basic layers Stub/skeleton layer.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 5.
Agent Based Transaction System CS790: Dr. Bruce Land Sanish Mondkar Sandeep Chakravarty.
Reading TCP/IP Protocol. Training target: Read the following reading materials and use the reading skills mentioned in the passages above. You may also.
CS533 - Concepts of Operating Systems 1 Threads, Events, and Reactive Objects - Alan West.
Project Title: Establishing communication between the server and Envirobat using TCP/IP Presented by Apourva.P.
1NinjaScript Presentation CS264December 2, 1998 NinjaScript A Dataflow Language for Composing Network Services in Ninja Andrew Begel.
Embedded System Design and Development Introduction to Embedded System.
1 K. Salah Application Layer Module K. Salah Network layer duties.
Distributed Systems1 Socket API  The socket API is an Interprocess Communication (IPC) programming interface originally provided as part of the Berkeley.
Sub-fields of computer science. Sub-fields of computer science.
EV3 Programming By Dianna de Matos.
Internet Socket Programing
4diac in Teaching Lessons from Lab Exercises and Student Projects
Last Class: Introduction
Netscape Application Server
MCA – 405 Elective –I (A) Java Programming & Technology
Transport Protocols over Circuits/VCs
Working at a Small-to-Medium Business or ISP – Chapter 7
Real Time Operating System
Computational Thinking
Client-Server Interaction
Working at a Small-to-Medium Business or ISP – Chapter 7
Studying TCP and UDP interactions in WiFi networks
Working at a Small-to-Medium Business or ISP – Chapter 7
Mixed Reality Server under Robot Operating System
Event Driven Programming
Android Topics UI Thread and Limited processing resources
UDP versus TCP in native simulation
An Introduction to Software Architecture
Mark McKelvin EE249 Embedded System Design December 03, 2002
An Introduction to Internetworking
An XML-based System Architecture for IXA/IA Intercommunication
Snippet Engine as a Database Server
LEGO Education - Mindstorms EV3 - Computer/control center – The Brick
Presentation transcript:

SCJ and EV3 Robots Leadership Election

Background Safety Critical Java – A safety critical programming model in Java EV3 mindstorms Lego Robot – A robot toy that has a Linux running on it. Leadership Election Algorithm – An algorithm that applies to distributed systems and aims to elect a stable leader.

To implement the algorithm, we need A Robot Layer (provided by icecap) – Contains a set of interfaces to control the robot i.e. the motors. A Network Layer (we implemented it) – One or more sets (e.g. TCP and UDP) of interfaces to provide the network facilities. A protocol layer – Contains the implementation of the leader election protocol.

Implementation We carried out: – 2 soft architecture solutions Sequential Concurrent – 2 network protocols TCP (connection oriented, reliable network) UDP (connectionless) – 3 programming models Single mission Multi missions Nested missions

Different Software Architecture Solutions “Sequential” Architecture – Application consists of a single periodic event handler to implement the protocol – But needs multiple managed threads to handle the network connection – Single Mission – TCP Concurrent Architecture – Each thread is responsible for a specific task (e.g. send/receive state, execute the election protocol). – Multi missions and nested missions. – TCP and UDP

Sequential Architecture Code Explanation

Connector

Listener

Elector – The Sequential election procedure

Demonstration 1 The Sequential Architecture with 3 robots – Robot Behavior: Step forward if a robot becomes a leader Step backward if a robot becomes a follower or be turned off Do nothing if its state is not changed Shut down (a simulation of turn off) the program if its “Back” button is pressed

However, the robots looks like zombies in Such movements )-: …

EV3 Command and Follow Feature A EV3 command protocol is introduced A command decoder is implemented. Each robot has a EV3 command decoder – The leader will send commands to followers – Followers decode the commands and then execute them. Two Architectures are implemented with this feature – The concurrent single mission architecture – The “sequential” architecture

Demonstration 2 The Concurrent Architecture with “command and follow” feature – Mission: Imitate the leader Each robot may have a heart of leader. – Robot Behavior: The leader has a set of movements. After each movement, all the followers will move exactly as the leader did.

Thank you!