طراحی سیستم تعبیه شده با ماشین های حالت UML
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- پارادایم برنامه نویسی رویداد محور
- ماشین های حالت مسطح و سلسله مراتبی (FSM های ساده و H-FSM)
- سمانتیک ماشین حالت UML و ترسیم نمودار حالت
- تبدیل نمودارهای حالت UML به کد C ++ / C قابل اجرا
- رویکرد طراحی آبجکت های اکشن
- استراتژی های مختلف پیاده سازی ماشین حالت
- پیاده سازی سوئیچ تو در توی ماشین های حالت
- رویکرد جدول حالت برای پیاده سازی ماشین های حالت
- رویکرد State-Handler برای پیاده سازی ماشین های حالت
- استفاده از اشاره گرهای تابع در "C"
- پروژه های عملی با استفاده از FSM و HSM های ساده
- توسعه گام به گام کد
- مدل سازی گرافیکی اپلیکیشن های تعبیه شده رویداد محور با استفاده از ابزارهای مدل ساز نمودارهای حالت UML
- کار با فریمورک بلادرنگ تعبیه شده QP و ابزار QM از Quantum Leaps ،LLC برای ترسیم و پیاده سازی HSMs
پیش نیازهای دوره
- مبانی برنامه نویسی 'C' یا '++C'
توضیحات دوره
یادگیری اصول ماشین های حالت UML ساده و سلسله مراتبی در مراحل آسان
این دوره بر یادگیری مبتنی بر پروژه تأکید دارد و مقصود آن انجام کار است.
هدف این دوره معرفی یک پارادایم برنامه نویسی مبتنی بر رویداد با استفاده از ماشین های حالت ساده و سلسله مراتبی است.
پس از گذراندن این دوره، شما یاد خواهید گرفت که از رویکرد ماشین حالت برای حل پروژه های پیچیده سیستم های تعبیه شده خود استفاده کنید.
برخی از نکات بارز این دوره به شرح زیر است:
شما یاد خواهید گرفت:
1) معنای ماشین حالت UML (زبان مدل سازی یکپارچه) مانند حالتهای ساده/مرکب، رویدادها، سیگنالها، انتقالات، اکشن های ورود/خروج، گاردها، شبه حالت ها و غیره
2) ترسیم ماشین های حالت UML با استفاده از ابزارهای مدل سازی گرافیکی مانند Astah و ابزار مدل سازی ™QM
3) پیادهسازی اپلیکیشن های تعبیه شده با استفاده از ماشینهای حالت سلسله مراتبی و رویکرد طراحی اشیاء عمل
4) استفاده از فریمورک تعبیه شده بلادرنگ QP™ و کتابخانه QP™-Nano Arduino در پروژههای تعبیه شده خود
5) اشیاء فعال
6) پیادهسازی و تست پروژههای مبتنی بر رویداد به صورت عملی روی بورد Arduino UNO
سختافزار:
اگر میخواهید کد توسعه یافته را روی سختافزار هدف تست کنید، به بوردها و اجزای زیر نیاز دارید:
1. Arduino UNO(1)
2. LCD کاراکتری 16x2 (1)
3. دکمهها (3)
4. 10KΩ resistors (3)
5. 220Ω resistor (3)
6. پتانسیومتر 100KΩ (1)
7. بوزر Arduino (1)
8. سیمهای ارتباطی-M2M
نرمافزار:
روش نصب نرمافزارهای مهم در این دوره پوشش داده میشود.
1. Arduino IDE (رایگان و متنباز)
2. Microsoft Visual Code (رایگان)
3. اکستنشن PlatformIO VS code (رایگان و متنباز)
4. ابزار مدلسازی ™QM با Quantum Leaps, LLC (نسخه GPL رایگان)
5. Astah از Change Vision, Inc. (نسخه آزمایشی)
این دوره برای چه کسانی مناسب است؟
- هر کسی که میخواهد برنامهنویسی سیستمهای تعبیه شده را یاد بگیرد و کاوش کند.
- دانشجویان و حرفهایهای فعال
طراحی سیستم تعبیه شده با ماشین های حالت UML
-
معرفی ماشین حالت محدود 07:50
-
ماشین میلی و مور 09:08
-
جدول انتقال حالتهای میلی و مور 05:04
-
تمرین-0001 مثال ماشین میلی کنترل LED 12:13
-
تمرین-001 پیادهسازی ماشین میلی کنترل LED بخش 1 24:08
-
تمرین-001 پیادهسازی ماشین میلی کنترل LED بخش 2 06:55
-
تمرین-002 پیادهسازی ماشین مور کنترل LED 04:42
-
تمرین 3 - دموی تایمر بهره وری 06:37
-
حالتهای ساده و مرکب UML 12:26
-
فعالیتهای حالت داخلی ماشین حالت UML (ورود/خروج/اجرا) 06:29
-
انواع انتقالات ماشین های حالت UML 15:52
-
رویدادها و سیگنال ها 04:21
-
تمرین 3 - حالت ها و شبه حالت های اولیه 09:20
-
تمرین 3 - تعریف اکشن های ورود و خروج حالت ها 07:33
-
تمرین 3 - ترسیم انتقالات حالت 08:27
-
تمرین 3 - پیاده سازی حالت TIME_SET 06:23
-
تمرین 3 - پیاده سازی حالت PAUSE 16:13
-
تمرین 3 - پیاده سازی حالت STAT 03:14
-
نصب Microsoft VS Code و افزونه PlatformIO 03:07
-
تمرین 3 - ایجاد پروژه جدید 07:55
-
تمرین 3 - توضیح ساختار داده 06:35
-
تمرین 3 - تعریف تابع انتقال اولیه 02:30
-
رویکرد متفاوت برای پیاده سازی ماشین حالت 01:04
-
تمرین 3 - پیاده سازی سوئیچ تو در تو از یک FSM - بخش 1 15:01
-
تمرین 3 - پیاده سازی سوئیچ تو در تو از یک FSM - بخش 2 10:22
-
تمرین 3 - اتصالات سخت افزاری 09:47
-
تمرین 3 - پیاده سازی کد تولید کننده رویداد 09:33
-
تمرین 3 - Dispatching رویداد تیک زمان 05:20
-
توضیح bouncing دکمه 05:56
-
تمرین 3 - پیاده سازی de-bouncing دکمه نرم افزار 10:52
-
افزودن کتابخانه Arduino به پروژه در PlatformIO 05:26
-
تمرین 3 - پیاده سازی توابع LCD - بخش 1 02:36
-
تمرین 3 - پیاده سازی توابع LCD - بخش 2 10:32
-
تمرین 3 - پیاده سازی تابع Helper 02:49
-
تمرین 3 - پیاده سازی اکشن های انتقال اولیه 01:02
-
تمرین 3 - تست سخت افزار 07:21
-
اشاره گرهای تابع در C 13:16
-
ارسال اشاره گرهای تابع به عنوان آرگومان های تابع 06:21
-
تمرین 4 - پیاده سازی با استفاده از رویکرد هندلر حالت 14:03
-
تمرین 4 - رویکرد جدول حالت برای پیاده سازی یک FSM - بخش 1 05:33
-
تمرین 4 - رویکرد جدول حالت برای پیاده سازی یک FSM - بخش 2 01:55
-
آرایه های دو بعدی در C 12:51
-
تمرین 4 - رویکرد جدول حالت برای پیاده سازی یک FSM - بخش 3 05:58
-
تمرین 4 - رویکرد جدول حالت برای پیاده سازی یک FSM - بخش 4 08:14
-
ماشینهای حالت سلسله مراتبی (HSMها) 07:52
-
فریمورک Run-to-completion و QP 11:09
-
دانلود کتابخانه QP™ Nano Arduino 03:45
-
تست دنباله اجرای انتقال HSM 04:46
-
تمرین 6 - تست دنباله اجرای انتقال HSM در آردوینو 01:58
-
افزودن فایل ها در ابزار QM 17:27
-
افزودن کدها به فایل ها با استفاده از ابزار QM 07:16
-
افزودن attribute کلاس 19:05
-
افزودن عملیات کلاس 10:31
-
افزودن assertion failure callback 02:06
-
API های ()QHSM_INIT و ()QHSM_DISPATCH 04:58
-
تمرین 6 - تست 22:32
-
تمرین 6 - تست حالت تاریخ 11:30
-
تمرین 7 - معرفی زنگ ساعت 02:10
-
تمرین 7 - دموی زنگ ساعت 14:31
-
تمرین 7 - حالت ها، سیگنال ها و ساختار داده استفاده شده 07:22
-
تمرین 7 - ترسیم یک HSM 09:13
-
تمرین 7 - افزودن آبجکت و constructor اپلیکیشن اصلی 05:48
-
توضیحات جانبی تایمر Atmega328p 14:40
-
کد راه اندازی و رجیسترهای تایمر Atmega328p 05:00
-
تمرین 7 - افزودن عملیات کلاس 05:13
-
تمرین 7 - تعریف اکشن های انتقال اولیه 06:15
-
تمرین 7 - کدنویسی برای حالت TICKING 08:09
-
تمرین 7 - افزودن عملیات رایگان 01:41
-
تمرین 7 - خواندن curr_time از طریق عملیات کلاس 01:34
-
تمرین 7 - مدیریت رویداد TICK در حالت TICKING و تست 05:58
-
تمرین 7 - ترسیم حالت CLOCK_SETTING 02:47
-
تمرین 7 - پیاده سازی حالت CLOCK_SETTING - بخش 1 12:57
-
تمرین 7 - پیاده سازی حالت CLOCK_SETTING - بخش 2 08:41
-
تمرین 7 - پیاده سازی حالت CLOCK_SETTING - بخش 3 14:38
-
تمرین 7 - پیاده سازی حالت CLOCK_SETTING - بخش 4 07:13
-
تمرین 7 - بروزرسانی زمان واقعی 06:33
-
تمرین 7 - حالت ALARM_SETTING 03:23
-
تمرین-007 پیادهسازی حالت ALARM_SETTING 10:11
-
تمرین 7 - پیاده سازی حالت ALARM_NOTIFY 10:15
-
آبجکت های فعال 16:40
-
الگوی حالت متعامد 08:29
-
تمرین 8: پیادهسازی - بخش 1 04:51
-
تمرین 8: پیادهسازی - بخش 2 04:07
-
تمرین 8: پیادهسازی - بخش 3 03:44
-
تمرین 8: پیادهسازی - بخش 4 05:07
-
تمرین 8: پیادهسازی - بخش 5 09:37
-
تمرین 8: پیادهسازی - بخش 6 18:59
-
تمرین 8: پیادهسازی - بخش 7 07:30
-
تمرین 8: پیادهسازی - بخش 8 08:12
-
تمرین 8: پیادهسازی - بخش 9 01:19
مشخصات آموزش
طراحی سیستم تعبیه شده با ماشین های حالت UML
- تاریخ به روز رسانی: 1404/06/14
- سطح دوره:همه سطوح
- تعداد درس:90
- مدت زمان :12:14:55
- حجم :8.74GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy