Managing The Internet of Things

Slides:



Advertisements
Similar presentations
Annual Conference of ITA ACITA 2009 Realising Management and Composition of Self-Managed Cells in Body Area Networks Alberto Schaeffer-Filho, Emil Lupu,
Advertisements

MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Automating Software Module Testing for FAA Certification Usha Santhanam The Boeing Company.
Lectures on File Management
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Sensor Network Platforms and Tools
Page 1 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Chapter 16 Component based embedded systems.
Computing Components 01/26/11. Announcements & Reminders Programs 1 due Friday, 9/2/11 What is my late policy? Proxy Codes for Labs  You should be able.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Form Handling, Validation and Functions. Form Handling Forms are a graphical user interfaces (GUIs) that enables the interaction between users and servers.
Home controlling system based on Galileo Final Semester Presentation Started at: Winter 2015 Project supervised by: Mony Orbach Project performed by: Khalid.
Java Programming, 3e Concepts and Techniques Chapter 3 Section 65 – Manipulating Data Using Methods – Java Applet.
CSC-115 Introduction to Computer Programming
C H A P T E R T E N Event-Driven Programming Programming Languages – Principles and Paradigms by Allen Tucker, Robert Noonan.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Boundary Assertion in Behavior-Based Robotics Stephen Cohorn - Dept. of Math, Physics & Engineering, Tarleton State University Mentor: Dr. Mircea Agapie.
Module 4 Part 2 Introduction To Software Development : Programming & Languages Introduction To Software Development : Programming & Languages.
COMPUTER MAIN PARTS Name: Rafael Eduardo Barrios Navas.
Marwan Al-Namari 1 Digital Representations. Bits and Bytes Devices can only be in one of two states 0 or 1, yes or no, on or off, … Bit: a unit of data.
Conceptual design Tells the customer what the system will do Tells the customer what the system will do Answers: Answers: Where will the data come from?
Internet of Things. IoT Novel paradigm – Rapidly gaining ground in the wireless scenario Basic idea – Pervasive presence around us a variety of things.
COMP135/COMP535 Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 2 Lecture 2 – Digital Representations.
1) PHP – Personal Home Page Scripting Language 2) JavaScript.
INTRODUCTION JavaScript can make websites more interactive, interesting, and user-friendly.
Understanding JavaScript and Coding Essentials Lesson 8.
A computer contains two major sets of tools, software and hardware. Software is generally divided into Systems software and Applications software. Systems.
JavaScript Introduction and Background. 2 Web languages Three formal languages HTML JavaScript CSS Three different tasks Document description Client-side.
LO: We’re learning to outline a program using Pseudo Code.
Review A program is… a set of instructions that tell a computer what to do. Programs can also be called… software. Hardware refers to… the physical components.
Web Content And Customer Relationship Management Solution. Transforming web sites into a customer-focused, revenue generating channel with less stress.
Fundamental of Java Programming (630002) Unit – 1 Introduction to Java.
 1- Definition  2- Helpdesk  3- Asset management  4- Analytics  5- Tools.
Tinyos Introduction to Programming Pritee Parwekar.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Getting Started with HTML
Multi-Device UI Development for Task-Continuous Cross-Channel Web Applications Enes Yigitbas, Thomas Kern, Patrick Urban, Stefan Sauer
History of C and basics of Programming
Java Server Pages Can web pages be created specially for each user?
Operating System Overview
Installing Java on a Home machine
Section 2.1 Section 2.2 Identify hardware
Java Programming: From the Ground Up
Interfacing the Internet of a Trillion Things
Introduction to Operating Systems
Using JavaScript to Show an Alert
CSCI-235 Micro-Computer Applications
Chapter 1 Introduction to Computers, Programs, and Java
Software, O/S & Interfaces
SOFTWARE DESIGN AND ARCHITECTURE
Section 17.1 Section 17.2 Add an audio file using HTML
Content Management System
Test Automation for IoT solutions A Paradigm shift
4. Javascript Pemrograman Web I Program Studi Teknik Informatika
PHP / MySQL Introduction
Introduction CSE 1310 – Introduction to Computers and Programming
Teaching Computing to GCSE
Graduate Development Program Engineering
Installing Java on a Home machine
Computer Science I CSC 135.
Introduction to Operating Systems
Introduction to the C Language
Chapter 27 WWW and HTTP.
Chapter 2: The Linux System Part 1
Systems Analysis and Design in a Changing World, 6th Edition
Topics Introduction Hardware and Software How Computers Store Data
JavaScript.
Introduction to computers
Teaching slides Chapter 6.
Computer Programming-1 CSC 111
APPLET PROGRAMMING.
Presentation transcript:

Managing The Internet of Things Benjamin Romano The University of Alabama Abstract Architecture Thing Definition As more devices are added to the Internet each day, controlling their interaction has become very challenging. The goal of this project is to create a software solution that will manage these connected devices and allow users to specify the meaning of the device interactions. To achieve this, we created software to handle device connections and a website to manage devices. In addition, we designed and implemented a domain-specific language to define the relationships between devices. We created a hardware agnostic platform, Wendo, that runs on Node.js and is written in TypeScript. IoT devices and cloud services (Things) can connect to Wendo. Things tell Wendo what they are capable of doing by sending a Thing Definition File. Users can define interactions between Things by creating Tasks using ThingScript. Things notify Wendo when an event occurs and Wendo executes any Tasks that are triggered. Wendo can also dispatch actions to Things. A Thing Definition contains all the relevant information to work with a connected Thing. This includes the following fields: Display Name Type (Physical or Cloud) Actions Events Public Data This information is sent to Wendo in a Thing Definition File (.tdef) which is written in JavaScript. Actions, Events and Public Data includes type info. This is necessary for type validation in the ThingScript compiler. This template addresses layout structure in traditional academic poster presentations. This is a short (50-100 word) summary of your research. Your abstract should be able to stand alone, completely self-contained. This section is 75 words at 28 point font. Your body text should be between 24 and 32 point font. This section is 75 words at 28 point font. Your body text should be between 24 and 32 point font. Wendo Playground Goals & Research Methodologies To help validate our system, we created the Wendo Playground. A library to quickly test ThingScript, Thing Definitions and devices. Developers can use the Playground to virtually simulate their devices as well as test their real devices. ThingScript Simplify integration of IoT devices into a user’s home Allow users to create interactions between devices and cloud services without prior programming knowledge Make it simple to add custom IoT devices to our platform Create a platform that can run on any hardware Used JavaScript due to popularity, ease of use and portability Copied English sentence structure for ThingScript to lessen learning curve ThingScript is a domain-specific language to define device interactions. ThingScript code is compiled into JavaScript. Valid ThingScript includes an event to fire on and a list of actions to perform once that happens. Conditionals, relational operators and mathematical operators are supported by ThingScript. If (things.getThing("clock“) .getData("time").getValue() === "evening") { var __0 = {}; __0["brightness"] = 100 – things.getThing("light sensor") .getData("level").getValue(); things.getThing("light") .getAction("turnOn ").invoke(__0); } else { var __1 = {}; things.getThing("blinds") .getAction("close").invoke(__1); } when the door is opened, if the time of the day is evening then turn on the light with brightness as 100 - the level of the light sensor otherwise close the blinds Using the Playground ThingScript Input File JavaScript Output File