Education Yinong Chen and Gennaro De Luca School of Computing, - - PowerPoint PPT Presentation

education
SMART_READER_LITE
LIVE PREVIEW

Education Yinong Chen and Gennaro De Luca School of Computing, - - PowerPoint PPT Presentation

VIPLE: Visual IoT/Robotics Programming Language Environment for Computer Science Education Yinong Chen and Gennaro De Luca School of Computing, Informatics, and Decision Systems Engineering Arizona State University Tempe, AZ 85287-8809, U.S.A.


slide-1
SLIDE 1

VIPLE: Visual IoT/Robotics Programming Language Environment for Computer Science Education

Yinong Chen and Gennaro De Luca

School of Computing, Informatics, and Decision Systems Engineering Arizona State University Tempe, AZ 85287-8809, U.S.A.

slide-2
SLIDE 2

Overview

  • Introduction to IoT and RaaS
  • IoT Standards and Protocols
  • Definition of VIPLE
  • Educational examples in VIPLE
  • VIPLE and IoT devices
slide-3
SLIDE 3

History of IoT

  • Internet of Things
  • RFID tags and Electronic Product Code (Auto-ID Lab)
  • IoIT = IoT + computing power
  • 15 billion IoT devices
  • 5 billion IoIT devices
  • 1 billion intelligent systems
slide-4
SLIDE 4

Internet-based Computing

  • Cloud computing

– Desktop-based => Internet-based – Physical products => “Things” or services

  • Cyber Physical Systems (CPS)

– Extended/decentralized version of embedded systems

  • Autonomous Decentralized Systems (ADS)

– Loosely coupled/content-oriented systems – Industrial production lines, railway signaling, robotics

slide-5
SLIDE 5

Robot as a Service

  • Composed of services, a service directory, and service

clients

  • IoIT (and IoT) device
  • IoT-enabled hardware:

– Intel Galileo/Edison

  • CPS
  • ADS
slide-6
SLIDE 6

IoT Standards

  • Supports many protocols/standards
  • Connection to physical world

– Also supports various standards – ADS uses a content-oriented protocol

  • DPWS
  • RaaS

IoT Web Data Representations: HTML, JSON, OWL, RDF, XML, etc. Service and Web-Based Computing Cloud Computing and Big Data Processing Internet Protocols, HTTP, TCP, IP Device Connection Protocols: ADS, DPWS, RaaS, Industry Control Systems, Industry Internet, etc. Technologies Applications

slide-7
SLIDE 7

IoT/RaaS Programming

  • Visual programming environments for education

– MIT App Inventor – Alice

  • Robotics programming

– MSRDS VPL

  • Used at ASU, FSE 100
  • Discontinued 2014
  • Lacks support for new robots
slide-8
SLIDE 8

Definition of VIPLE

  • Based on Microsoft VPL
  • VIPLE supports similar applications
  • Additional VIPLE services:

– General services (e.g. User I/O, Timers) – Vendor robot services – Generic robot services

  • Educational tool

ASU VIPLE Basic Activities Microsoft VPL Basic Activities

slide-9
SLIDE 9

Fundamental Programming in VIPLE

slide-10
SLIDE 10

VIPLE Multithreading

  • Teaching parallel computing

– Handles low-level synchronization, thread safety, data passing. – Allows building of multithreaded applications. – Race conditions may still occur.

  • Hardware is fully utilized

– Students can experiment with speedups/optimizations.

slide-11
SLIDE 11

Parallel Computing in VIPLE

slide-12
SLIDE 12

Event-driven Programming in VIPLE

button pressed

door closing door

  • pened

door closed door

  • pening

button pressed limit tripped limit tripped

  • pening

stopped

button pressed

closing stopped

button pressed button pressed button pressed

slide-13
SLIDE 13

VIPLE’s IoT Interface Definition

  • Internet Protocol

– Multiple supported standards

  • Data Format

– Standardized JSON

ASU VIPLE Visual IoT Programming IoT / Robot An object pair, with the second element an array of objects

slide-14
SLIDE 14

Connecting VIPLE to Devices

slide-15
SLIDE 15

Drive-by-Wire

slide-16
SLIDE 16

Maze Navigation with an IoT Device

DistanceMeasured < 400 Turned Right Turned Left rightFinished Resume 180 DistanceMeasured < rightDistance Turning Right Turning Left leftFinished DistanceMeasured >= rightDistance Resume180 Finished Start RightDistance  DistanceMeasured Forward

slide-17
SLIDE 17

Maze Navigation Implementation

Intel Edison-based robot with built-in Wi-Fi and Bluetooth components. A distance sensor is installed in front.

slide-18
SLIDE 18

Multithreading and Maze Navigation

  • Multithreading is a key part of maze navigation.

– Many algorithms require concurrent sensor data readings. – Some actions do not need to be waited on.

  • Many applications are facilitated by multithreading.

– New users have more freedom and power in their application development.

slide-19
SLIDE 19

Conclusion

  • New Visual Programming Language: VIPLE

– Extends Microsoft VPL – Supports Lego EV3 – Supports all IoT devices based on an open architecture

  • VIPLE has been pilot tested at ASU and several other

universities globally.