Course Title: Real Time Systems Engineering

Part A: Course Overview

Course Title: Real Time Systems Engineering

Credit Points: 12.00

Terms

Course Code

Campus

Career

School

Learning Mode

Teaching Period(s)

EEET2166

City Campus

Undergraduate

125H Electrical & Computer Engineering

Face-to-Face

Sem 2 2006,
Sem 1 2007,
Sem 1 2008,
Sem 1 2009,
Sem 1 2010,
Sem 1 2011,
Sem 1 2012,
Sem 1 2013,
Sem 1 2014,
Sem 1 2016

EEET2166

City Campus

Undergraduate

172H School of Engineering

Face-to-Face

Sem 1 2017,
Sem 2 2018

Course Coordinator: Dr Samuel Ippolito

Course Coordinator Phone: +61 3 9925 2673

Course Coordinator Email: samuel.ippolito@rmit.edu.au

Course Coordinator Location: 10.07.06


Pre-requisite Courses and Assumed Knowledge and Capabilities

You are expected to be reasonably competent in either C or C++ programming, having satisfactorily completed the prerequisite course EEET2368 Network Fundamentals and Applications or equivalent studies. You should also have a basic working knowledge of UNIX like operating systems and commands, as well as the ability to program and debug within an integrated development environment (IDE) such as Eclipse or Visual Studio.


Course Description

This course covers the design and implementation of multi-threaded and real-time systems, with particular emphasis on real-time systems for control of industrial processes and for embedded systems based on ARMv7 and x86 architectures.
Contents of the course include:

  • Features and characteristics of real-time systems.
  • Concurrent processes and mutual exclusion operations.
  • Inter process communication and message passing between programs running on the same system or another system on the network.
  • Analysis and design of real- time systems.
  • Embedded systems design.
  • Real- time scheduling principles.

You will be required to demonstrate your understanding by applying your gained knowledge to a 5-6 week project using a commercial grade industrial real- time operating system and development environment.

Please note that if you take this course for a bachelor honours program, your overall mark in this course will be one of the course marks that will be used to calculate the weighted average mark (WAM) that will determine your award level. (This applies to students who commence enrolment in a bachelor honours program from 1 January 2016 onward. See the WAM information web page for more information.


Objectives/Learning Outcomes/Capability Development

This course contributes to the following Program Learning Outcomes:

1.2 Conceptual understanding of the, mathematics, numerical analysis, statistics, and computer and information sciences
which underpin the engineering discipline.

1.3 In-depth understanding of specialist bodies of knowledge within the engineering discipline.

2.1 Application of established engineering methods to complex engineering problem solving.

2.2 Fluent application of engineering techniques, tools and resources.

2.3 Application of systematic engineering synthesis and design processes.


On completion of this course you should be able to:

     1. Characterise real time systems and describe their functions.
     2. Analyse, design and implement a real-time system.
     3. Apply formal methods to the analysis and design of real-time systems.
     4. Apply formal methods for scheduling real-time systems.
     5. Characterise and debug a real-time system.


Overview of Learning Activities

Student learning occurs through the following experiences and evaluation processes:

  • A series of 10 (2 hour) lectures will guide you to important concepts and give you many practical hints for the design of real-time systems.
  • The laboratory work will help you to connect theory with practice.
  • The project is a problem based learning activity that will require you to exercise many of the skills required for real-time design and implementation. It will also help develop your team skills and give you experience with an industry leading real-time operating system and associated development tools.
  • The course resources (accessible from the Web) have links to on-line resources for you to access and expand your knowledge of the topics.


Overview of Learning Resources

The learning resources for this course include:

  • Lecture notes prepared by the Teaching staff.
  • Electronic media (Linux based live-DVD image) containing a real time development environment will be made available to assist with independent study.
  • Various reference notes/books will be suggested: See the course guide Part B available at the start of classes for the list of recommended references.
  • Relevant embedded equipment and software will be made available in laboratories for use throughout the semester.
  • Supplementary course content (eg. examples, etc.) will made available on-line.


Overview of Assessment

☒This course has no hurdle requirements.
☐ All hurdle requirements for this course are indicated clearly in the assessment regime that follows, against the relevant assessment task(s) and all have been approved by the College Deputy Pro Vice-Chancellor (Leaning & Teaching).

There are three key components:
     • Lab tasks to solve a sequential set of small problems during weeks 2 to 6.
     • A major group project to design and implement a moderately complex real time system using a commercial grade real time operating system.
     • A final exam.

The formalised laboratory tasks will help you gain competence in solving problems in real time systems as well as teach you the fundamental concepts that are required to solve the group project task.
The group project has a number of tasks, including: initial design report, final report and implementation testing.As the project requires you to design, develop, and test a large distributed (networked) real time system, it will be completed in groups. This will help develop teamwork and leadership skills as well as provide the potential to use software version-control and collaboration tools.
The final exam will test your individual capabilities. This includes your ability to describe the principles of real time systems, and apply techniques covered in lectures to solve various real time systems problems. It also tests your problem solving skills as applied to the design of a multi node and concurrent programs running in networked/ distributed real time system.  

Assessment Tasks: Written feedback will be provided on all written reports. Face-to-face feedback will be provided for anything marked during the laboratory sessions and final group project demonstration session.

Assessment Task 1: Laboratory Tasks
Five laboratory tasks will be held in the first 6 weeks of the course. 
Weighting: 3% each; Total 15%
This assessment task supports CLOs 1, 2, 4 and 5

Assessment Task 2: Group project
Includes an initial design report, a final report and implementation/ demonstration component. 
Weighting: 5%, 15% and 20%; Total 40%
This assessment task supports CLOs 2, 3, 4 and 5

Assessment Task 3: Final Exam 
Weighting: 45%
This assessment task supports CLOs 1, 2, 3, 4 and 5