BITS WILP Software for Embedded Systems Handout 2018-H1



BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI
WORK INTEGRATED LEARNING PROGRAMMES
Digital
Part A: Content Design
Course Title
Software for Embedded Systems
Course No(s)
IS ZC424 / ES ZC424
Credit Units
3
Credit Model

Content Authors
Neena Goveas

Course Objectives
No

CO1
To introduce various methodologies, components, frameworks and development systems the can be used to design and develop software for today’s embedded systems
CO2
To apply the various methodologies, frameworks and use the development systems in implementing embedded systems
CO3
To bring in a perspective of end to end solutions using embedded systems and interdisciplinary approach to learning and understanding the software development for embedded systems

Text Book(s)
T1
Douglass, Bruce Powel., Real-Time UML, Pearson Education, 3rd Edition, 2004
T2
Peter Barry & Patrick Crowley, Modern Embedded Computing, Designing Connected, Pervasive, Media-Rich Systems, Morgan Kaufmann, 1st Edition, 2012

Reference Book(s) & other resources
R1
Douglass, Bruce Powel., Real-Time UML Workshop for Embedded Systems, Elsevier, 1st Edition, 2011
R3
Peckol James K., Embedded Systems – A Contemporary Design Tool, Wiley, 1st Edition,
R4
Raghavan, Lad, Neelakandan, Embedded Linux System Design And Development, Auerbach Publications, First Edition, 2006
R5
Robert Love, Linux Kernel Development, Pearson Education, 3rd Edition
R6
Professional Android 4 Application Development, by Reto Meier, WROX Press, Wiley Publishing.
R7
Various application notes and whitepapers from Freescale & Intel



Content Structure
Part I: Introduction

      1.            Introduction to the World of Real Time and Embedded Systems
                        1.1.            Introduction to real time systems
                        1.2.            Time, Performance and Quality of Service
                        1.3.            Hard and Soft Real Time Systems
                        1.4.            Overview of hardware and software for embedded systems
                        1.5.            Overview of design, development and test of embedded systems

Part II: Embedded Software Development Methods

      2.            Object Orientation with UML – Structural Aspects
                        2.1.            Object Orientation with UML
                        2.2.            Objects, Classes, and Interfaces
                        2.3.            Relations
                                          2.3.1.            Associations
                                          2.3.2.            Aggregation
                                          2.3.3.            Composition
                                          2.3.4.            Generalization
                                          2.3.5.            Dependency
                        2.4.            Packages, components and subsystems
      3.            Object Orientation with UML 2.0 – Dynamic Aspects
                        3.1.            Behavior and the UML
                        3.2.            Types of Behavior
                        3.3.            Behavior Primitives: Activities and Actions
                        3.4.            Behavior and the single object
                                          3.4.1.            Statechart diagrams
                                          3.4.2.            Activity Diagrams
                        3.5.            Interactions
                                          3.5.1.            Sequence diagrams
                                          3.5.2.            Timing Diagrams
      4.            Requirements Analysis of Real Time Systems
                        4.1.            Requirements
                        4.2.            Use case diagrams
                        4.3.            Detailing the use cases
      5.            Architectural Design
                        5.1.            Overview of Design
                        5.2.            What is Architectural Design?
                                          5.2.1.            Logical Architecture
                                          5.2.2.            Physical architecture
                                          5.2.3.            Subsystem and component view
                                          5.2.4.            Concurrency and Resource view
                                          5.2.5.            Distribution View
                                          5.2.6.            Safety and Reliability view
                                          5.2.7.            Deployment view
                        5.3.            Concurrency and Resource Design

Part III: Embedded Software Components

      6.            OS and non-OS based software development for Embedded Systems
      7.            Operating Systems Overview
                        7.1.            Need for an operating system
                        7.2.            Process & Threads
                        7.3.            Scheduling
                        7.4.            Inter-task synchronization
                        7.5.            Memory Management
                        7.6.            Storage File Systems
                        7.7.            Boot Sequence
      8.            Embedded Linux
                        8.1.            Tool Chain
                        8.2.            Anatomy of Embedded Linux
                        8.3.            Building a Kernel
                        8.4.            Boot loader
                        8.5.            Debugging
                        8.6.            Memory Management
                        8.7.            Inter-task synchronization
                        8.8.            POSIX Threads
      9.            Embedded Graphics and Multimedia
                        9.1.            Screen Display
                        9.2.            Graphics Stack
                        9.3.            Media Decode
                        9.4.            Media Frameworks
  10.            Networks for Embedded Systems
                    10.1.            Networking Basics
                    10.2.            Ethernet
                    10.3.            TCP/IP Networking
                    10.4.            Wi-Fi and IEEE 802.11
                    10.5.            Bluetooth
  11.            Application Frameworks: Android
                    11.1.            Android Framework Architecture
                    11.2.            Android Application Architecture
                    11.3.            Android Development Environment
                    11.4.            Overview of various other frameworks and OS (iOS, Windows, QT)


Learning Outcomes:
No
Learning Outcomes
LO1
To learn and apply various methodologies that can be used to develop software for modern embedded systems
LO2
To understand the hardware and software components used in modern embedded systems and the technology that is used to build them
LO3
To get a deeper understanding of the big picture of modern embedded system software
LO4
To design and develop embedded system software



Part B: Learning Plan

Academic Term
Second Semester 2017-2018
Course Title
SOFTWARE FOR EMBEDDED SYSTEMS
Course No
IS ZC424 /ES ZC424
Lead Instructor
Neena Goveas

Contact Hour 1
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T1 Ch 1
Introduction to the world of real time and embedded systems

Post CH




Contact Hour 2
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T1 Ch 1
Time, Performance and Quality of Service
Hard and Soft Real-Time Systems

Post CH




Contact Hour 3
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T1 Ch 2
Object Orientation with UML – Structural Aspects
·         Objects, Classes, and Interfaces

Post CH




Contact Hour 4
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T1 Ch 2
Relations:
·         Associations
·         Aggregation
·         Composition
·         Generalization
·         Dependency
·         Structural Diagram

Post CH




Contact Hour 5
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T1 Ch 2
Packages, components and subsystems

Post CH




Contact Hour 6
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T1 Ch 3
Object Orientation with UML 2.0 – Dynamic Aspects
·         Types of Behavior
·         Behavior Primitives

Post CH




Contact Hour 7
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T1 Ch 3
Object Orientation with UML 2.0 – Dynamic Aspects
·         Behavior  and the single object: Statechart diagrams

Post CH




Contact Hour 8
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T1 Ch 3
Object Orientation with UML 2.0 – Dynamic Aspects
·         Behavior  and the single object: Activity diagrams

Post CH




Contact Hour 9
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T1 Ch 3
Object Orientation with UML 2.0 – Dynamic Aspects
·         Sequence Diagram

Post CH




Contact Hour 10
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T1 Ch 3
Object Orientation with UML 2.0 – Dynamic Aspects
·         Timing Diagram

Post CH




Contact Hour 11
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T1 Ch 5
Requirements Analysis of Real Time Systems
·         Requirements
·         Use case diagrams

Post CH



Lab

Create UML Diagrams using freely available UML tools such as ArgoUML, Star UML etc
‘Lab Session 1’ in the Lab Sheet

Contact Hour 12
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T1 Ch 5
Requirements Analysis of Real Time Systems
·         Detailing the use cases

Post CH




Contact Hour 13
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T1 Ch 8
Architectural Design
·         Overview of Design
·         What is Architectural Design?
o   Logical Architecture
o   Physical architecture

Post CH




Contact Hour 14
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T1 Ch 8
Architectural Design
·         Subsystem and component view
·         Concurrency and Resource view
·         Distribution View
·         Safety and Reliability view
·         Deployment view

Post CH




Contact Hour 15
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH

Review

Post CH




Contact Hour 16
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH

Review

Post CH




Contact Hour 17
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T2 Ch 7
Operating Systems Overview
·         Process & Threads
·         Scheduling

Post CH





Contact Hour 18
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T2 Ch 7
Operating Systems Overview
·         Inter-task synchronization


Post CH




Contact Hour 19
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T2 Ch 7
Operating Systems Overview
·         Memory Management
·         Storage File Systems

Post CH




Contact Hour 20
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T2 Ch 8
Embedded Linux
·         Anatomy of Embedded Linux

Post CH




Contact Hour 21
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T2 Ch 8
Embedded Linux
·         Tool Chain
·         Building a Kernel

Post CH




Contact Hour 22
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T2 Ch 8
T2 Ch 6
Embedded Linux
·         Boot loader
·         Debugging
·         Memory Management
·         Inter-task synchronization

Post CH




Contact Hour 23
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T2 Ch 8
Embedded Linux
·         POSIX Threads

Post CH



Lab

Write a program to demonstrate
·         POSIX thread creation and making the threads joinable
·         Use of mutex to share resources between POSIX threads
‘Lab Session 2’ in the Lab Sheet

Contact Hour 24
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T2 Ch 8
Embedded Linux
·         POSIX Threads

Post CH



Lab

Write a program to demonstrate the use of semaphores to synchronize between POSIX threads.
‘Lab Session 3’ in the Lab Sheet

Contact Hour 25
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T2 Ch 10
Embedded Graphics and Multimedia
·         Screen Display
·         Graphics Stack

Post CH




Contact Hour 26
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T2 Ch 10
Embedded Graphics and Multimedia
·         Media Decode
·         Media Frameworks

Post CH



Lab
Write a program to play a video clip using GStreamer
 ‘Lab Session 4’ in the Lab Sheet

Contact Hour 27
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T2 Ch 12
Networks for Embedded Systems
·         Networking Basics
·         Ethernet
·         TCP/IP Networking

Post CH



Lab
Download ‘Wireshark’ from https://www.wireshark.org/
Analyze TCP packets using ‘Wireshark’ tool
 ‘Lab Session 5’ in the Lab Sheet

Contact Hour 28
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T2 Ch 12
Networks for Embedded Systems
·         Wi-Fi and IEEE 802.11
·         Bluetooth

Post CH




Contact Hour 29
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T2 Ch 13, R6
Application Frameworks: Android
·         Android Framework Architecture

Post CH



Lab

Setup Android Application Development Environment
‘Lab Session 6’ in the Lab Sheet

Contact Hour 30
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH
T2 Ch 13, R6
Application Frameworks: Android
·         Android Application Architecture
·         Android Development Environment
·         Discuss and review typical applications that explore features of the framework

Post CH



Lab
R6
Development of any Android Application (e.g. Hello World program) using Android Studio or Eclipse and testing it on Simulator.
‘Lab Session 7’ in the Lab Sheet


Contact Hour 31
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH

Review

Post CH




Contact Hour 32
Type
Content Ref.
Topic Title
Study/HW Resource Reference
Pre CH



During CH

Review

Post CH




Laboratory Details:

1.      Any Desktop Linux can be used for POSIX Thread related lab exercises.
2.      GStreamer is required to be installed for GStreamer based lab exercises. Detailed instructions related to installing GStreamer is available at http://docs.gstreamer.com/display/GstSDK/Installing+on+Linux
3.      ‘Wireshark’ tool for the lab exercise related to networking can be downloaded from https://www.wireshark.org/
4.      Android SDK and associated tools can be downloaded and installed following the instructions at https://developer.android.com/index.html. These are required for Android based lab exercises
Note: Lab sessions suggested above are meant for learning purpose and will not have a separate evaluation component. The EC for work done for lab sessions will be part of EC 2 and 3

Evaluation Scheme:  
Legend: EC = Evaluation Component; AN = After Noon Session; FN = Fore Noon Session
No
Name
Type
Duration
Weight
Day, Date, Session, Time
EC-1
Quiz-I
Online
-
5%
February 1 to 10, 2018

Quiz-II
Online
-
5%
March 1 to 10, 2018

Quiz-III
Online
-
5%
March 20 to 30, 2018
EC-2
Mid-Semester Test
Closed Book
2 hours
35%
03/03/2018 (FN) 10 AM – 12 Noon
EC-3
Comprehensive Exam
Open Book
3 hours
50%
21/04/2018 (FN) 9 AM – 12 Noon


Syllabus for Mid-Semester Test (Closed Book): Topics in Session Nos. 1 to 16
Syllabus for Comprehensive Exam (Open Book): All topics (Session Nos. 1 to 32)
Important links and information:
Elearn portal: https://elearn.bits-pilani.ac.in
Students are expected to visit the Elearn portal on a regular basis and stay up to date with the latest announcements and deadlines.
Contact sessions: Students should attend the online lectures as per the schedule provided on the Elearn portal.
Evaluation Guidelines:
1.      EC-1 consists of either two Assignments or three Quizzes. Students will attempt them through the course pages on the Elearn portal. Announcements will be made on the portal, in a timely manner.
2.      For Closed Book tests: No books or reference material of any kind will be permitted.
3.      For Open Book exams: Use of books and any printed / written reference material (filed or bound) is permitted. However, loose sheets of paper will not be allowed. Use of calculators is permitted in all exams. Laptops/Mobiles of any kind are not allowed. Exchange of any material is not allowed.
4.      If a student is unable to appear for the Regular Test/Exam due to genuine exigencies, the student should follow the procedure to apply for the Make-Up Test/Exam which will be made available on the Elearn portal. The Make-Up Test/Exam will be conducted only at selected exam centres on the dates to be announced later.
It shall be the responsibility of the individual student to be regular in maintaining the self study schedule as given in the course handout, attend the online lectures, and take all the prescribed evaluation components such as Assignment/Quiz, Mid-Semester Test and Comprehensive Exam according to the evaluation scheme provided in the handout.


No comments:

Post a Comment