MIOT H6015 - IoT Systems

Short Title:IoT Systems
Full Title:IoT Systems
Module Code:MIOT H6015
ECTS credits: 5
NFQ Level:9
Module Delivered in 1 programme(s)
Module Contributor:Paul Stacey
Module Description:This module will provide learners with the broad skills to analyse, design and build an IoT System from the "thing" ,Linux based edge routers/gateways, IoT mobile applications to cloud backend. Learners will explore how the key components of an end-to-end IoT system integrate. Learners will get hands on experience with IoT enabling operating systems such as Linux based IoT gateways and node level operating systems such as Contiki. IoT Cloud frameworks are introduced, and learners will explore the challenges and solutions to remotely & securely managing IoT nodes and gateways.
Learning Outcomes:
On successful completion of this module the learner will be able to
  1. explain the key components of an IoT system and how they integrate to achieve higher levels of functionality.
  2. specify, design and build IoT devices including low power devices exploiting an IoT RTOS and more complex devices using embedded linux.
  3. critically analyse existing IoT systems.
  4. demonstrate end-to-end understanding and expertise by designing an end-to-end complete IoT system.
  5. develop IoT based mobile applications in both cross-platform and native environments.

Module Content & Assessment

Indicative Content
IOT System Architecture
A reference architecture for the Internet of Things (IOT); Architectural Elements: Node, Comms. stack, middleware, data aggregation and storage; Future Directions.
IOT Operating Systems
IOT RTOSs: mBed, RIOT OS, Contiki, TinyOS, FreeRTOS,, LiteOS, Brillo; Linux and the IOT; Choosing an appropriate RTOS; Remotely upgrading/re-flashing IOT devices; WSN Simulators: Cooja etc.; RTOS security: TinySec, ContikiSec.
Linux OS Programming
Linux development Toolchains; Linux Multi-threaded programming; Scheduling; Memory Management; Virtual Memory; Inter-Process Communication; Embedded Linux; OS Security; Programming in an IOT environment; Linux IoT Edge routers/Gateways
Native Mobile App Development for Android in Java.
The Android Stack: Linux kernel; Libraries and Application Framework; The Dalvik virtual machine; Android and Java; SQLite; Apps "Store"; Eclipse & Android development toolchains; Declarative and Progammatic UI design; Views and Layouts; Security; Testing Strategies: virtual & physical devices
Cross Platform Mobile App Development
Hybrid vs Native Apps; Apache Cordova development environment; NodeJS, npm; HTML 5, CSS3, JavaScript/jQuery for Mobile App development. Mobile User Interface Design: Designing for mobile usage contexts in an IoT application space
IOT and the Cloud
IOT frameworks; Connecting to the cloud; Remotely managing IOT nodes: device endpoint identity, metadata, lifecycle states; Security: end-to-end security infrastructures
Indicative Assessment Breakdown%
Course Work Assessment %100.00%
Course Work Assessment %
Assessment Type Assessment Description Outcome addressed % of total Assessment Date
Practical/Skills Evaluation Learners will work their way through a series of structured tasks. Each task will have a key deliverable. Example: Implement an IoT Gateway application 2,4 30.00 n/a
Written Report Learners will research key IoT System technologies and an exisiting system to develop an Architectural design of a IoT system for a given application. This report will consider overall system security, communications, Cloud frameworks etc, Learners will also orally present their report. 1,3 30.00 n/a
Project Learner will design and implement an end-to-end small scale IoT system for a given application. 2,4 40.00 n/a
No Final Exam Assessment %
Indicative Reassessment Requirement
Coursework Only
This module is reassessed solely on the basis of re-submitted coursework. There is no repeat written examination.

ITB reserves the right to alter the nature and timings of assessment


Indicative Module Workload & Resources

Supplementary Book Resources
  • Jonathan Valvano 2012, Embedded Systems: RTOS, CreateSpace Independent Publishing Platform [ISBN: 9781466468863]
  • Derek Molloy., Exploring beaglebone Tools and Techniques for Building with Embedded Linux, Chichester; John Wiley & Sons [ISBN: 9781118935125]
  • Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, Operating system concepts, Wiley ; 2008. Hoboken, N.J. [ISBN: 9780470128725]
  • Zigurd Mednieks, Laird Dornin, G. Blake Meike, Masumi Nakamura, Programming Android, O'Reilly Media [ISBN: 9781449316648]
Recommended Article/Paper Resources
  • S. K. Datta/IEEE 2014, An IoT gateway centric architecture to provide novel M2M services, Internet of Things (WF-IoT)
  • P. Levis, S. Madden, J. Polastre, R. Szewczyk, K. Whitehouse, A. Woo, D. Gay, J. Hill, M. Welsh, E. Brewer, D. Cullen 2005, TinyOS: An Operating System for Sensor Networks
  • M. Weyrich ; Inst. for Autom. & Software Syst., Univ. of Stuttgart, Stuttgart, Germany ; C. Ebert 2016, Reference Architectures for the Internet of Things, IEEE Software [ISSN: 07407459]
  • A. Riahi ; VRIT Lab., Mil. Acad. of Tunisia, Nabeul, Tunisia ; Y. Challal ; E. Natalizio ; Z. Chtourou 2013, A Systemic Approach for IoT Security, Distributed Computing in Sensor Systems (DCOSS), 2013 IEEE International Conference on
  • Zhi-Kai Zhang, 2015, Emerging Security Threats and Countermeasures in IoT, Proceedings of the 10th ACM Symposium on Information, Computer and Communications Security
  • C. Kolias, A. Stavrou , J. Voas , I. Bojanova 2016, Learning Internet-of-Things Security "Hands-On", IEEE Security & Privacy [ISSN: 1540-7993]
Other Resources

Module Delivered in

Programme Code Programme Semester Delivery
BN_EMIOT_R Master of Engineering in Internet of Things Technologies [BN535R 60 credits taught with a 30 credit research project] 2 Mandatory