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
|
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