Embedded System Design using UML State Machines

Wishlist Share
Share Course
Page Link
Share On Social Media
Website Icon

About Course

Learn the fundamentals of simple and hierarchical UML state machines in easy steps

The course emphasizes project-based learning, learning by doing.

The goal of this course is to introduce an event-driven programming paradigm using simple and hierarchical state machines.

After going through this course, you will be trained to apply the state machine approach to solve your complex embedded systems projects.

Some of the highlights of this course are as below

you will learn,

1) UML(Unified Modeling Language) state machine semantics like simple/composite states, events, signals, transitions, entry/exit actions, guards, pseudo-states, etc

2) Drawing UML state machines using graphical modeling tools such as Astah and QM™ modeling tool

3) Implementing embedded applications using Hierarchical state machines and Active objects design approach

4) Using QP™ real-time embedded framework and QP™-Nano Arduino library in your embedded projects

5) Active objects

6) Hands-on event-driven project implementation and testing on Arduino UNO board (Please check the preview videos)

Hardware:

If you want to test the code developed on the target hardware, you need the below-mentioned boards and components

1. Arduino UNO(1)

2. 16×2 character LCD (1)

3. Pushbuttons (3)

4. 10KΩ resistors (3)

5 . 220Ω resistor (3)

6. 100KΩ Potentiometer (1)

7. Arduino buzzer (1)

8. Jumper wires-M2M

Software:

Installation procedure for important software are covered in this course

1. Arduino IDE (Free and Open source )

2. Microsoft visual code (Free)

3. PlatformIO VS code extension(Free and Open source )

4. QM™ modeling tool by Quantum Leaps, LLC (Free GPL version)

5. Astah by Change Vision, Inc.(Trial version)

Learning order of FastBit Embedded Brain Academy Courses,

If you are a beginner in the field of embedded systems, then you can take our courses in the below-mentioned order.
This is just a recommendation from the instructor for beginners.

1) Microcontroller Embedded C Programming: absolute beginners(Embedded C)

2) Embedded Systems Programming on ARM Cortex-M3/M4 Processor(ARM Cortex M4 Processor specific)

3) Mastering Microcontroller with Embedded Driver Development(MCU1)

4) Mastering Microcontroller: TIMERS, PWM, CAN, RTC,LOW POWER(MCU2)

5) Mastering Microcontroller: STM32-LTDC, LCD-TFT, LVGL(MCU3)

6) Embedded System Design using UML State Machines(State machine)

7) Mastering RTOS: Hands-on FreeRTOS and STM32Fx with Debugging(RTOS)

8) ARM Cortex M Microcontroller DMA Programming Demystified(DMA)

9) STM32Fx Microcontroller Custom Bootloader Development(Bootloader)

10) Embedded Linux Step by Step using Beaglebone Black(Linux)

11) Linux device driver programming using Beaglebone Black(LDD1)

Show More

What Will You Learn?

  • Event driven programming paradigm
  • Flat and hierarchical state machines (Simple FSMs and H-FSMs)
  • UML state machine semantics and state chart drawing
  • Converting UML statecharts into executable C/C++ code
  • Action objects design approach
  • Different state machine implementation strategies
  • Nested switch implementation of state machines
  • State table approach to implementing the state machines
  • State-Handler approach to implementing the state machines
  • Usage of function pointers in 'C'
  • Hands-on projects using simple FSM and HSMs
  • Step by step code development
  • Graphically modeling event-driven embedded application using UML statecharts modeler tools
  • Working with QP™ embedded real-time framework and QM™ tool of Quantum Leaps, LLC to draw and implement the HSMs

Course Content

Introduction

  • A Message from the Professor
  • Introduction to Finite State Machine
    07:50
  • Mealy and Moore machine
    09:08
  • Mealy and Moore State Transition Table
    05:04
  • Exercise-0001 LED control Mealy machine example
    12:13
  • Exercise-001 LED control Mealy machine implementation part 1
    24:08
  • Exercise-001 LED control Mealy machine implementation part 2
    06:55
  • Exercise-002 LED control Moore machine implementation
    04:42

UML Flat state machine and Implementation

Flat state machine exercise implementation

Nested switch technique to implement State Machine

Function pointers in ‘C’

State handler technique to implement State Machine

State table technique to implement State Machine

UML Hierarchical State Machines and QP™ framework

UML HSM transition execution sequences

UML HSM exercise using QM tool

Earn a certificate

Add this certificate to your resume to demonstrate your skills & increase your chances of getting noticed.

selected template

Student Ratings & Reviews

No Review Yet
No Review Yet

Want to receive push notifications for all major on-site activities?

×