2016年度 先端システムソフトウェア   Advanced System Software

文字サイズ 

アップデートお知らせメールへ登録 お気に入り講義リストに追加
開講元
情報工学コース
担当教員名
渡部 卓雄  権藤 克彦 
授業形態
講義     
メディア利用科目
曜日・時限(講義室)
月1-2(W832)  木1-2(W832)  
クラス
-
科目コード
CSC.T431
単位数
2
開講年度
2016年度
開講クォーター
3Q
シラバス更新日
2016年4月27日
講義資料更新日
2016年11月20日
使用言語
英語
アクセスランキング
media

講義の概要とねらい

This course presents an overview of time as it relates engineering complex software systems including embedded systems. In this course basic concepts, terminology, and issues of embedded/real-time systems are examined.

The course aims to ensure that students have not only acquired the knowledge and technique required for embedded/real-time system development, but also gain ability to formally model/verify simple real-time systems.

到達目標

By the end of the course students should be able to:
(1) define what it means to be a real-time system,
(2) design and develop simple embedded/real-time programs on RTOS,
(3) discuss timing, scheduling and related properties, and
(4) formally model and verify simple real-time systems.

キーワード

Embedded Systems, Real-Time Systems, Real-Time Operating Systems, RTOS, Scheduling, Schedulability Analysis, Verification, Model-Checking, TImed Automata

学生が身につける力(ディグリー・ポリシー)

専門力 教養力 コミュニケーション力 展開力(探究力又は設定力) 展開力(実践力又は解決力)

授業の進め方

Classroom learning and programming exercises

授業計画・課題

  授業計画 課題
第1回 Course Introduction and Overview, Real-Time Characteristics and Definitions Real-Time Characteristics and Definitions
第2回 Real-Time Operating Systems (1): Kernels, Tasks and Priorities RTOS Kernels, Tasks, Priorities
第3回 Real-Time Operating Systems (2): Synchronization, Communication and Memory Management Mutex, Semaphore, Message Passing, Mailbox, Memory Pools
第4回 Real-Time Operating Systems (3): Scheduling Task Scheduling, Interrupts, Priority Inversion, Priority Inheritance
第5回 Real-Time System Programming (1): RTOS Programming in C/C++ Programming Abstractions in RTOS
第6回 Real-Time System Programming (2): Abstractions for Real-Time Systems Abstractions and Language Mechanisms for Real-Time Systems
第7回 Analysis of Real-Time Systems (1): Schedulability Analysis Schedulability Analysis, Periodic Tasks, Aperiodic Tasks
第8回 Analysis of Real-Time Systems (2): Static Scheduling Static Scheduling, Rate-Monotonic Scheduling
第9回 Analysis of Real-Time Systems (3): Dynamic Scheduling Dynamic Scheduling, Earliest Deadline First Scheduling
第10回 Modeling Real-Time Systems (1): Modeling Timed Systems, Real-Time UML Modeling Timed Systems, Real-Time UML
第11回 Modeling Real-Time Systems (2): Timed Automata Timed Automata
第12回 Verifying Real-Time Systems (1): Model-Checking Timed Automata Model-Checking Timed Automata
第13回 Verifying Real-Time Systems (2): Using UPAAL UPAAL
第14回 Advanced Topics (1): Verifying RTOS Kernels Verifying RTOS Kernels (case study)
第15回 Advanced Topics (2): Functional Reactive Programming Functional Reactive Programming for Embedded Systems

教科書

None required (course materials will be provided via course website)

参考書、講義資料等

H. Kopetz, Real-Time Systems: Design Principles for Distributed Embedded Applications (2nd Ed.), Springer, 2011.
E.-R. Olderog and H. Dierks, Real-Time Systems: Formal Specification and Automatic Verification, Cambridge U. Press, 2008.

成績評価の基準及び方法

RTOS Programming Project: 50%
Assignment: 50%

関連する科目

  • CSC.T243 : 手続き型プログラミング基礎
  • CSC.T253 : 手続き型プログラミング発展
  • CSC.T344 : システムプログラミング
  • CSC.T251 : オートマトンと形式言語

履修の条件(知識・技能・履修済科目等)

Students must have succesfully completed the related courses or have equivalent knowledge.
Students are desired to have familiarity with basic Unix terminal commands.

このページのトップへ