安全コンセプト

文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
Partition OS Safety Concept
Version 1.00
Created on Dec 25, 2012
株式会社ヴィッツ
名古屋市中区栄 1-13-1 白川第 2 ビル
2F・7F
承認
(c) 2012 by WITZ-inc
審査
作成
-1-
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
EDITION
DATE OF
REVISION REASON
CHANGE
CREATED
AFFILIA
BY
TION
Version 0.01
2010/10/25
New document
Hara
Witz Inc.
Version 0.10
2011/02/14
modification on the basis of comment
Hara
Witz Inc.
Honda
Nagoya
from TUV
Version 0.11
2011/04/20
modification on the basis of comment
from TUV Review Report
Version.0.2
2011/09/13
modification on the basis of comment
Univ.
Honda
from TUV
Version.0.30
2011/09/24
modification on the basis of comment
Univ.
Honda
from TUV
Version 0.31
2012/01/20
Modification on the basis of meeting
2012/06/12
Modification on the basis of TUV
Nagoya
Univ.
Hara
with TUV
Version 0.4
Nagoya
Nagoya
Univ.
Honda
Nagoya
Univ.
review report of the ParOS 2011
Add new profile BCC+.
Version 0.5
2012/09/13
Modification on the basis of TUV
Honda
review report of the ParOS 2012/7
Version 0.6
2012/09/18
Modification on the basis of comment
Univ.
Honda
from TUV meeting at 2012/9/18
Version 0.61
2012/09/19
Modification on the basis of comment
2012/10/18
Add “Partition exception handler” to
Nagoya
Univ.
Honda
from TUV meeting at 2012/9/19
Version 0.62
Nagoya
Nagoya
Univ.
Hara
Witz Inc.
Hara
Witz Inc.
Table 5.4 conformance class
Version 1.00
2012/12/25
Release
(c) 2012 by WITZ-inc
-2-
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
目次
1
概要 ........................................................................................................................................ 5
1.1 ParOS目的........................................................................................................................... 5
1.2 タグ...................................................................................................................................... 5
1.3 関連文書............................................................................................................................... 6
2
ParOSの対象システムとParOSの一般機能 .......................................................................... 7
2.1 ParOSの対象(想定)システム .......................................................................................... 8
2.2 ParOSの基本機能(安全機能は含まない) ...................................................................... 10
2.3 ParOSの基本機能の故障モード ........................................................................................ 11
3
安全目標 ............................................................................................................................... 12
4
アーキテクチャ .................................................................................................................... 13
4.1 ParOS コンポーネント...................................................................................................... 14
4.2 実装モデル ......................................................................................................................... 15
4.3 メモリ保護 ......................................................................................................................... 15
5
パーティショニング............................................................................................................. 16
5.1 パーティショニングレベル................................................................................................ 16
5.2 パーティショニングの種類................................................................................................ 17
5.2.1 時間パーティショニング............................................................................................. 17
5.2.2 メモリパーティショニング ......................................................................................... 20
5.2.3 システム(OS)パーティショニング.............................................................................. 21
5.3 アプリケーションレベル ................................................................................................... 23
5.4 パーティショニング機能 ................................................................................................... 24
5.5 コンフォーマンスクラス ................................................................................................... 26
5.6 オペレーションモード....................................................................................................... 28
5.6.1 ParOSの状態と状態遷移 ............................................................................................ 28
5.6.2 パーティションの状態と状態遷移 .............................................................................. 29
5.7 ParOS機能の依存関係....................................................................................................... 31
5.8 Safety Goalを脅かす可能性があるParOSの機能 ............................................................. 33
5.9 一部機能に対する対策の必要性 ........................................................................................ 33
6
故障検出: SafeOS互換安全維持機能.................................................................................... 34
6.1 パーティション内故障検出 : Safety Requirement(7)....................................................... 34
6.1.1 システマティック故障検出 ......................................................................................... 34
6.1.2 ハードウェア故障検出 ................................................................................................ 34
7
パーティション間通信(COM) ......................................................................................... 36
7.1 機能要求............................................................................................................................. 36
7.2 パーティション間通信フォールト検出と通知 : Safety Requirement(8) :........................ 36
(c) 2012 by WITZ-inc
-3-
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
7.2.1 メッセージチャネル.................................................................................................... 36
7.2.2 状態変数チャネル ....................................................................................................... 36
8
ハードウェア要求 ................................................................................................................ 37
9
開発プロセス........................................................................................................................ 39
(c) 2012 by WITZ-inc
-4-
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
1
概要
本書は、パーティショニング機能を搭載したリアルタイムオペレーティングシステムである
"Partitioning Operating System(ParOS)"の安全コンセプトについて記載する。
ParOS の適用システムから要求されるパーティショニング要求を 4 レベルに分類し、この要
求に対する ParOS のパーティショニング機能について説明する。
1.1 ParOS目的
ParOS は、自動車、移動支援ロボット、介護ロボット、航空宇宙(飛行機、ロケット)等の
高い信頼性が求められ、性質の異なる複数のアプリケーションを単一コンピュータシステム上
で実行する必要のあるシステムを対象としている。
1.2 タグ
Safety Goal や機能要求に対して以下の様にタグを付加する。[module]には対象とする
ParOS のモジュール名が入る。モジュール名は、 Exective、SafeOS、COM、HW がある。各
モジュールについては後述する。
表 1.1 タグの一覧
タイプ
Safety Goal
タグ
【SG-xx】
Functional Requirement
【[module]:FR-xx】
Safety Requirement
【[module]:SR-xx】
Safety Integrity Requirement
【[module]:SIR-xx】
(c) 2012 by WITZ-inc
-5-
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
1.3 関連文書
Reference ID
Title
Revision
Data
[IEC]
IEC 61508:2010 Edition 2.0 Part1-7
2.0
2010/04
[ISO]
ISO 26262:2011 Part10
First
2011/11/15
[SafeOS_SC]
Safe OS Safety Concept
0.90
2009/12/09
Safe OS Software Safety Requirement
0.90
2010/01/13
Safe OS Safety Analysis
0.90
2009/12/10
Safe OS Safety Analysis(detail)
0.90
2009/03/24
[SafeOS_SM]
Safe OS Safety Manual
1.00
2010/02/12
[ParOS_SRS]
Partition OS Safety Requirement
1.00
2012/12/25
1.00
2012/12/25
1.00
2012/12/25
Partition OS Safety Manual
1.00
2012/12/25
Function Safety Management Standard
2.3.0
2012/01/16
[SafeOS_SRS]
Specification
[SafeOS_SA]
Specification
[ParOS_SA]
Partition OS Safety Requirements
Analysis Plan And Results Report
Partition OS Safety Requirement
Analysis Result Report(detail)
[ParOS_SM]
[WITZ_S]
(c) 2012 by WITZ-inc
-6-
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
2
ParOSの対象システムとParOSの一般機能
本章では以下の内容ついて述べる。
・ParOS の対象(想定)システム
・ParOS の基本機能(安全機能は含まない)
・ParOS の基本機能の故障モード
図 2.2に、”ParOSの対象(想定)システム(Assumption system(user) requiment)”、”ParOS
の基本機能(安全機能は含まない)(Abstract Level ParOS function)”、”ParOSの基本機能の
故障モード(Failure Mode for Abstract Level ParOS functions)”の関係を示す。
“Safety Goal”については、3 章で述べる。”安全要求(Top Level Safety Requirement)”は、
5 章で述べる。
Assumed requirements of Target System
(ASR1-FR)
Co-existing
App with SIL
(ASR2-SR)
(ASR3-FR)
SIL3
Capable
Interrupt
(ASR4-FR)
Atomic
Execution
(ASR5-FR)
Advanced
Requirements
(ASR6-FR)
SafeOS
functions
(ASR7-FR)
Inter-partition
communication
ParOS(7)
SafeOS
compatibility
function
ParOS(3)
Inter partition
communication
Abstract Level Functions of ParOS
ParOS(1)
Time
Sharing
ParOS(2)
Memory
Sharing
ParOS(3)
Application
Interrupt
ParOS(4)
Atomic
Handler
ParOS(4)
High
priority
interrupt
ParOS(5)
Dynamic
partition
scheduling
ParOS(6)
Schedulin
g mode
change
Failure Mode for Abstract Level ParOS functions
Failure Mode(1)
Time violation
“CPU Utilization”
”Execute Sequence”
”Execute Timing”
Failure Mode(2)
Memory violation
Failure Mode(3)
Service violation
Failure Mode(4)
OS state violation
Failure Mode(5)
Inter
communication
problem
Safety Goals
Partitioning
Safety Goal 1
Safety Goal 2
Interference Free
Reduce re-verify
Safety Goal 3
Fault Detection
Safety Goal 4
Safe Inter
Communication
Safety
Req.(6)
Safety Req.(7)
Safety
Req.(8)
OS state
protection
Fault
Detection
Library
Top Level Safety Requirements
Safety
Req.(1-3)
Temporal protection
“CPU utilization Protection”
”Execute sequence protection”
“Execute timing protection”
Safety
Req.(4)
Memory
Protection
Safety
Req.(5)
Service
protection
Fault Detect,
Notice
図 2.1 ParOS の対象システムの要求、ParOS の基本機能、ParOS の故障モード、ParOS
の Safety Goal、安全要求の関係
(c) 2012 by WITZ-inc
-7-
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
2.1 ParOSの対象(想定)システム
ParOSの適用を想定しているシステムの構成図を図 2.2に示す。
(ASR1-FR) Co-existing App with SIL
•
2個以上のそれぞれ異なるSIL/ASILを持つ複数のアプリケーションが単一のコンピュータ
システム上に存在する。
•
それぞれのアプリケーションは、異なるベンダーにより開発される。
•
あるアプリケーションが変更された場合、他のアプリケーションの再検証は可能な限り減
らしたい。
•
それぞれのアプリケーションには、メモリ領域やCPU利用率、実行順序、実行タイミング
が割り付けられている。
(ASR2-SR) SIL3 Capable
•
•
幾つかのパーティションは高い 安全度水準(SIL) を要求する。
•
ハードウェアトレランスが1の場合は、 SIL3
•
ハードウェアトレランスが0の場合は、SIL2
ParOSには、システム中の最高の安全度水準のアプリケーションと同じ安全度水準が要求
される。
(ASR3-FR) Interrupt
•
各アプリケーションは、割込みを使用する。ただし要求される割込み応答性は高くない
(他のアプリケーション実行中は禁止される)。
(ASR4-FR) Atomic Execution
•
一連の処理を中断することなく実行したい。
•
例)デバイスの初期化
(ASR5-FR) Advanced Requirements
•
アプリケーションによっては、以下の機能を要求する。
•
高速応答割込み
•
CPU利用率の向上のための動的アプリケーションスケジューリング
•
あるアプリケーションがアイドル状態となった場合、他のアプリケーショ
ンを実行する。
•
アプリケーションスケジューリングの動的変更。
(c) 2012 by WITZ-inc
-8-
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
(ASR6-FR) SafeOS function
•
アプリケーションは、SafeOS[SafeOS_SRS]の機能を使用。
(ASR7-FR) Inter-partition communication
•
異なるSILのアプリケーション間で通信を行う。
(ASR7-FR)
(ASR2-SR)
Application1
Safety-Related
Application2
Safety-Related
Call act_tsk()
SIL3
SIL1
Application3
NonSafety-Related
SIL0
(ASR1-FR)
MCU
(ASR6-FR)
GPIO
UART
CAN
Ethernet
(App1)
(App1)
(App2)
(App3)
Memory
App1
App2
App3
図 2.2 ParOS の対象システムの構成
(c) 2012 by WITZ-inc
-9-
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
2.2 ParOSの基本機能(安全機能は含まない)
2.1 で述べたシステムの要求を満たすため、ParOS は以下の機能を提供する。
ParOS(1) : Time Sharing
•
CPU 時間をアプリケーション間でシェアする機能。
ParOS(2) : Memory Sharing
•
メモリをアプリケーション間でシェアする機能。
ParOS(3) : Application Interrupt
•
対応するアプリケーションが実行中の時のみ受け付ける割込み機能。
ParOS(4) : Atomic Handler
•
一連の処理を中断することなく実行できる機能。
ParOS(5) : High priority interrupt
•
高速応答割込み機能。
ParOS(6) : Dynamic partition scheduling
•
あるアプリケーションがアイドルになった場合、その時間で他のアプリケーションを実行
する機能。
ParOS(7) : Scheduling mode change
•
アプリケーションのスケジューリングを動的に変更する機能。
ParOS(8) : SafeOS compatibility function
•
SafeOS の互換機能。
ParOS(9) : Inter partition communication
•
アプリケーション間の通信機能。
(c) 2012 by WITZ-inc
- 10 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
2.3 ParOSの基本機能の故障モード
2.2 で述べた ParOS の基本機能における故障モードは次の通りである。
Failure Mode(1) : Time violation
• “CPU利用率”
• アプリケーションが割り当てられた以上のCPU利用率を消費する。
• ”実行順序”
• アプリケーションが割り当てられた実行順序ではない順序で実行される。
• ”実行タイミング”
• アプリケーションが設計時に定めた実行タイミングではない実行タイミングで実行。
Failure Mode(2) : Memory violation
• アプリケーションが割り当て外のメモリにアクセス。
Failure Mode(3) : Service violation
• アプリケーションが他のアプリケーションに対してAPIを発行。
Failure Mode(4) : OS state violation
• アプリケーションがシステム(OS)状態を不正に変更。
Failure Mode(5) : Inter communication problem
• アプリケーション間通信に関する問題が発生。
•
例)データ値が不正、送信タイミングが不正。
(c) 2012 by WITZ-inc
- 11 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
3
安全目標
ParOS の Safety Goal を以下に示す。【SG-1】と【SG-2】は、ISO26262 Part6 D.2 に記載
される 2 個のパーティショニングの目的と同等である。なお、パーティショニングされている
プログラムの単位をパーティションと呼ぶ。
Safety Goal 1【SG-1】
@@パーティションの故障が、他のパーティションに影響を及ぼさないこと。異なる安全度水
準のパーティションを同一のシステム上で実行できること[ParOS-SW-01-SC-0001][]@@
Safety Goal 2【SG-2】
@@あるパーティションに変更があった場合、他のパーティションの再検証の必要がない、も
しくは検証レベル(労力)を下げることが可能であること。パーティションを個別に検証可能
(検証範囲や工数を減らせる)であること。[ParOS-SW-01-SC-0002][]@@
Safety Goal 3【SG-3】
@@故障診断率(Diagnosys Coverage)90%以上の診断方法を含む故障検出ライブラリを提
供する。[ParOS-SW-01-SC-0004][]@@
故障検出ライブラリを含むParOS自身は、SIL3 を満たすために必要なプロセスで開発するこ
と。同一のParOSモジュールを用い、デュアルチャンネル・ハードウェア構成としハードウェ
アのフォールトトレランスが1の場合はSIL 3を満たすことができ、シングルチャンネル・ハー
ドウェア構成でフォールトトレランスが0の場合はSIL 2を満たすことができること。
Safety Goal 4【SG-4】
@@パーティション間通信で通信相手に問題が発生し停止した場合に、その停止を検知できる
こと。[ParOS-SW-01-SC-0005][]@@
(c) 2012 by WITZ-inc
- 12 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
4
アーキテクチャ
@@全てのSGは、パーティショニング機能を持つParOSにより実現する。[ParOS-SW-01-
SC-0006][]@@ParOSの各パーティションとParOSのインタフェースの図(論理図)を図 4.1に、
コードとデータの構成を図 4.2に示す。
@@ParOS の機能は、Executive, SafeOS、COM から構成されている。これらのコンポーネ
ントが使用するメモリはパーティションから保護されている。[ParOS-SW-01-SC-0007][]@@
SafeOS/ParOS/COM
API
Partition1
Partition2
Partition3
Task1
Task2
Task3
Memory1
Memory2
Memory3
(CODE/DATA)
(CODE/DATA)
(CODE/DATA)
Device1
Device2
Device3
SafeOS Instance
SafeOS Instance
SafeOS Instance
Partition
Memory/Time/Service
State of SafeOS
SafeOS
COM
Channel1
SW W/D
Channel2
ParOS
Exective
図 4.1ParOS の論理図
User
CODE/
DATA
Partition1
Partition2
Partition3
CODE/DATA
CODE/DATA
CODE/DATA
TCB
DATA
SCB
…
State of SafeOS
and SW W/D
TCB
…
State of
Channel2
TCB
SCB
…
State of SafeOS
and SW W/D
State of SafeOS
and SW W/D
State of
Channel1
ParOS
SCB
…
Link to
single executable
module
State of System (ParOS)
SafeOS Functions
ParOS Functions
COM Functions
CODE
Scheduler
FDD Lib.
HW Timer ・W/D Driver
TCB : task control block
SCB : semaphore control block
図 4.2ParOS のコード・データ構成図
(c) 2012 by WITZ-inc
- 13 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
4.1 ParOS コンポーネント
Partition
各パーティションには、独立した SafeOS のインスタンスが割り付けられる。そのため、各
パーティションの SafeOS の状態は独立である。また、パーティション毎にメモリやデバイス
が割り付けられている。
Executive
@@Executive は、各パーティショニング機能を実現する。[ParOS-SW-01-SC-0009][ParOSSW-01-SC-0007]@@また、@@ランダムハードウェア故障検出を行うための故障検出ライブラ
リ(
FDD)を持つ。故障検出ライブラリにより【SG3】を実現する。詳細については、6 章を参
照のこと。[ParOS-SW-01-SC-0010][ParOS-SW-01-SC-0004]@@
@@各パーティションインスタンスの実行シーケンスモニタに対して仮想化されたタイマや
W/D タイマを提供する。[ParOS-SW-01-SC-0011][]@@
SafeOS互換機能
@@ParOS は、パーティションに SafeOS[SafeOS_SRS]互換の機能を提供する。 [ParOSSW-01-SC-0012][ParOS-SW-01-SC-0007]@@ただし、@@【SG1】【 SG2】に反する以下の機
能は使用することができない。
・タイムイベントハンドラ(周期ハンドラ・アラームハンドラ)
・割込みハンドラ・割込みサービスルーチン
・ CPU 例 外 管 理 機 能 [ParOS-SW-01-SC-0013][ParOS-SW-01-SC-0001,ParOS-SW-01-SC0002]@@
@@アプリの実行シーケンス監視を行う実行シーケンスモニタもパーティション毎に独立して
いる。[ParOS-SW-01-SC-0014][]@@@@実行シーケンスモニタで用いるタイマや W/D タイマは、
Executive により仮想化されたタイマや W/D タイマを用いる。すなわち、全てのパーティショ
ンで同じのタイマハードウェアや W/D タイマハードウェアを共有する。[ParOS-SW-01-SC0015][ParOS-SW-01-SC-0011]@@
COM
@@COM はパーティション間の通信を実現する。[ParOS-SW-01-SC-0016][ParOS-SW-01SC-0007]@@@@送受信データはチャネルと呼ばれるオブジェクトに格納される。[ParOS-SW01-SC-0017][]@@@@ 各 パ ー テ ィ シ ョ ン は イ ン タ フ ェ ー ス を 介 し て チ ャ ネ ル に 接 続 す る 。
[ParOS-SW-01-SC-0018][]@@
(c) 2012 by WITZ-inc
- 14 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
4.2 実装モデル
図 4.2に示すように、ParOSは一般のVMのように、各SafeOSとParOSのコードやデータが独
立しているのではなく、コードとデータが一体となっている。
各パーティションに割り付ける SafeOS のインスタンスの実現は、パーティション毎に独
立した SafeOS の状態を持つことにより実現している。チャネルやシステム状態(ParOS の状
態)は、全てのパーティションで共有する。また、各アプリケーションのコードやデータと共
に1つの実行モジュールにリンクされて実行される。
4.3 メモリ保護
@@図 4.2に示すParOSのメモリ領域は、アプリケーション(パーティション)から保護され
ている。[ParOS-SW-01-SC-0008][]@@
図 4.2に示すように、各パーティションとParOSのコード領域とデータ領域は、一つの実行モ
ジュールにリンクされるが、図 4.3に示す様に、各コードとデータはそれぞれまとめられ、メ
モリに配置される。
パーティションはメモリ保護が有効なモード(通常はユーザーモード)で、ParOS はメモリ
保護が無効なモード(通常は特権モード)で実行される。
各パーティションにはコード領域とデータ領域とデバイスが割り付けられ、ParOS は、
MPU ないし MMU により、各パーティションが割り付けられたリソースのみアクセス可能な
ように保護を行う。具体的には、実行するパーティションを変更するタイミングで
MPU/MMU の設定を切り替えることで保護を実現する。
ROM
RAM
Device
0x000000 0x0FFFFF
Partition1
0x500000 0x5FFFFF
Partition1
UART
Partition1
0x100000 –
0x1FFFFF
Partition2
0x600000 –
0x6FFFFF
Partition2
Ethernet
Partition2
0x200000 –
0x2FFFFF
Partition3
0x700000 –
0x7FFFFF
Partition3
CAN
Partition3
0x300000 –
0x3FFFFF
ParOS
0x800000 –
0x8FFFFF
ParOS
Sytem Timer
W/D
ParOS
0x400000 –
0x4FFFFF
Shared
0x900000 –
0x9FFFFF
Shared
Perf timer
Shared
図 4.3ParOS のメモリ図
(c) 2012 by WITZ-inc
- 15 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
5 パーティショニング
5.1 パーティショニングレベル
【SG-1】【SG-2】を実現するために要求されるパーティショニングはシステム毎に異なるた
め、以下のようにパーティショニングレベル(ParLv1~4)を定める。パーティショニングレベ
ルが高いほど、多くのパーティショニングを必要とする。
表 5.1@@パーティショニングレベル[ParOS-SW-01-SC-0019][ParOS-SW-01-SC0001,ParOS-SW-01-SC-0002]@@
ParLv1
ParLv2
ParLv3
ParLv4
サービス保護
○
○
○
○
メモリ保護
○
○
○
○
CPU 利用率保護
‐
○
○
○
システム(OS)状態保護
‐
‐
○
○
実行順序保護
‐
‐
○
○
実行タイミング保護
‐
‐
‐
○
各パーティショニングの詳細は次の通りである。
(c) 2012 by WITZ-inc
- 16 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
5.2 パーティショニングの種類
5.2.1 時間パーティショニング
CPU利用率保護: Safety Requirement (1)
@@設計時に各パーティションに CPU 利用率を割り当て、割り当てた CPU 利用率を満足す
るようにパーティションを実行すること。CPU 利用率が守られていれば、パーティションの実
行 順 序 の 入 れ 替 え や 実 行 の 中 断 は 許 容 す る 。 [ParOS-SW-01-SC-0022][ParOS-SW-01-SC0001,ParOS-SW-01-SC-0002]@@
CPU Utilization assignment
Partition1
Partition2
Partition3
Partition4
CPU
Utilization
25%
CPU
Utilization
25%
CPU
Utilization
40%
CPU
Utilization
10%
System Cycle(1000)
Partition1
OK
Partition2
Partition3
Partition4
250
250
400
100
System Cycle(1000)
Execution
sequence of
Partition2 and
3 is exchanged
Partition1
OK
Partition2
Partition3
Partition4
250
250
100
400
System Cycle(1000)
Partition3 can
use only 30%
of CPU
utilization.
Partition1
NG
Partition2
Partition3
Partition4
250
250
100
300
図 5.1CPU 利用率保護
(c) 2012 by WITZ-inc
- 17 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
実行順序保護: Safety Requirement (2)
@@設計時に設定したパーティションの実行順序を実行時に守ること。実行順序はシステム周
期と呼ぶ任意の一定時間内の時間をパーティションに割り付ける。
実行順序が守られていれば、開始時間の遅れ(ジッター)や、実行の中断は許容するが、許
容値をユーザーに明示させること。[ParOS-SW-01-SC-0024][ParOS-SW-01-SC-0001,ParOSSW-01-SC-0002]@@
Time window assignment
System Cycle(700)
Partition 1
Partition 2
Partition 3
300
150
150
100
System Cycle(700)
Partition 2 is
preempted
Partition 1
OK
Partition 2
Start time of
Partition 2 is
delayed(jitter)
300
Partition 3
Partition 3
50
75
150
50
75
System Cycle(700)
Partition 1
NG
Partition 2
Partition 3
300
150
150
Execution
sequence of
Partition2 and 3
is exchanged
100
図 5.2 実行順序保護
(c) 2012 by WITZ-inc
- 18 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
実行タイミング保護: Safety Requirement (3)
@@設計時に設定したパーティションの実行順序を実行時に守ること。開始時間の遅れ(ジッ
タ ー ) や 、 実 行 の 中 断 も 許 容 し な い 。 [ParOS-SW-01-SC-0025][ParOS-SW-01-SC0001,ParOS-SW-01-SC-0002]@@
Time window assignment
System Cycle(700)
Partition 1
Partition 2
Partition 3
300
150
150
100
System Cycle(700)
Partition 2 is
preempted
Partition 1
NG
Partition 2
Start time of
Partition 2 is
delayed(jitter)
300
Partition 3
Partition 3
50
150
75
50
75
図 5.3 実行タイミング保護
(c) 2012 by WITZ-inc
- 19 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
5.2.2 メモリパーティショニング
メモリ保護: Safety Requirement (4)
@@設計時に各パーティションにメモリ領域を割り当て、実行時に割り当てたメモリ領域に対
する他のパーティションからの書き込みを禁止すること。[ParOS-SW-01-SC-0021][ParOSSW-01-SC-0001,ParOS-SW-01-SC-0002]@@
Partition1
Partition2
Task1
Task2
Partition3
Memory
protection
Task3
Write Memory3
Memory1
Memory2
Memory3
(CODE/DATA)
(CODE/DATA)
(CODE/DATA)
Device1
Device2
Device3
SafeOS Instance
SafeOS Instance
SafeOS Instance
Channel1
Channel2
ParOS
図 5.4 メモリ保護
(c) 2012 by WITZ-inc
- 20 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
5.2.3 システム(OS)パーティショニング
サービス保護: Safety Requirement (5)
@@あるパーティションから他のパーティションに影響を与えるシステムコールの発行や、
OS を破壊するシステムコールの発行を禁止すること。[ParOS-SW-01-SC-0020][ParOS-SW01-SC-0001,ParOS-SW-01-SC-0002]@@
Service
protection
Partition2
Partition1
Task1
API call to
Partition2
×
Task2
Partition3
×
Task3
Call OS API
with Illegal pointer
(Memory address in
Memory2
Memory3
partition3)
(CODE/DATA)
(CODE/DATA)
Memory1
(CODE/DATA)
Device1
Device2
Device3
SafeOS Instance
SafeOS Instance
SafeOS Instance
Channel1
Channel2
ParOS
図 5.5 サービス保護
(c) 2012 by WITZ-inc
- 21 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
システム(OS)状態保護: Safety Requirement (6)
@@パーティション間のシステム(OS)状態が独立であること。パーティション切替時に、切替
元パーティションのシステム状態を保存して、切替先パーティションのシステム状態を HW に
反映する。[ParOS-SW-01-SC-0023][ParOS-SW-01-SC-0001,ParOS-SW-01-SC-0002]@@
例えば、あるパーティションが OS の状態をディスパッチ禁止状態としたとしても、他のパ
ーティションはその影響をうけない。
Partition1
Partition2
Partition3
Task1
Task2
Task3
Memory1
Memory2
Memory3
(CODE/DATA)
(CODE/DATA)
(CODE/DATA)
Device1
Device2
Device3
SafeOS Instance
(Disable Dispatch)
SafeOS Instance
(Enable Dispatch)
SafeOS Instance
(Enable Dispatch)
Channel1
Channel2
ParOS
図 5.6 システム(OS)状態保護
(c) 2012 by WITZ-inc
- 22 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
5.3 アプリケーションレベル
パーティションレベルと関連して、アプリケーションが要求する性質や OS の機能をアプリ
ケーションレベルとして定める。アプリケーションレベル毎に使用可能なパーティションレベ
ルが異なる。
表 5.2@@アプリケーションレベル[ParOS-SW-01-SC-0026][ParOS-SW-01-SC-0019]@@
APPReqLv0
APPReqLv1
APPReqLv2
APPReqLv3
Priority Base Scheduling
○
○
○
○
タスクと割込みハンドラ
○
○
○
○
スレーブデバイス使用
○
○
○
○
リアルタイム性
‐
○
○
○
高速割込み応答
‐
‐
○
○
デバイス共有
‐
‐
‐
○
マスタデバイス使用
‐
‐
‐
○
ParLv2~4
ParLv3~4
ParLv3
ParLv3
適用可能な
パーティションレベル
(c) 2012 by WITZ-inc
- 23 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
5.4 パーティショニング機能
【SG1】及び【SG2】を満たすため、Executive は以下のパーティショニング機能を要する。
以下の表では安全維持機構と実現するパーティショニングとの関係も示す。
表 5.3@@パーティショニング機能と実現するパーティショニング[ParOS-SW-01-SC0027][ParOS-SW-01-SC-0020,ParOS-SW-01-SC-0021,ParOS-SW-01-SC-0022,ParOSSW-01-SC-0023,ParOS-SW-01-SC-0024,ParOS-SW-01-SC-0025]@@
安全維持機能
実現するパーティショニング
サービス保護機能【EXECTIVE:SIR-1】
サービス保護
メモリ保護機能【EXECTIVE:SIR-2】
メモリ保護
周期実行ポリシー【EXECTIVE:SR-1】
CPU 利用率保護
(パーティションスケジューラ)
実行順序保護
実行タイミング保護
システム(OS)情報保護機能【EXECTIVE:SIR-3】
システム(OS)状態保護
サービス保護機能
@@"サービス保護"を実現する機能。あるパーティションから他のパーティションのオブジェ
クトに対するシステムコールの発行を禁止する。
アプリケーションからの API 呼び出し時にパラメータチェックを行う。[ParOS-SW-01-SC0028][ParOS-SW-01-SC-0027]@@
メモリ保護機能
@@"メモリ保護"を実現する機能。設計時に各パーティションにメモリ領域を割り当てる。割
り当てたメモリに関して、他のパーティションからの書き込みを禁止する。具体的にはプロセ
ッサの持つ MPU ないし MMU を制御して保護を実現する。[ParOS-SW-01-SC-0029][ParOSSW-01-SC-0027]@@
周期実行ポリシー(パーティションスケジューラ)
@@"CPU 利用率保護","実行順序保護","実行タイミング保護"を実現する機能。システム周期
を定め、各パーティションにシステム周期内を複数のタイムウィンドウに分割し、そのタイム
ウィンドウをパーティションに割り付ける。OS はこのタイムウィンドウの設定と割り付けに
従って各パーティションを実行する。
パーティションを確実に切り替えるため、各パーティションから操作を禁止され、割り込み
優先度が最高のタイマを用いて、パーティションの切り替えタイミングを生成する。[ParOSSW-01-SC-0030][ParOS-SW-01-SC-0027]@@
(c) 2012 by WITZ-inc
- 24 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
System cycle
System cycle
Task 11
Task 11
Task 12
Partition 1
Task belonging
to Partition 1
Task belonging to
Partition 3
Task 21
Task belonging to
Partition 2
Time
window
Partition 1
Task 22
Partition 2
Time
window
Task 12
Task 31
Task 21
Task 22
Partition 2
Task 32
Task 32
Partition 3
Partition 3
Time
window
Task 31
Time
window
Time
window
Time
window
Time
window
Time
window
図 5.7 周期実行ポリシー
システム(OS)情報保護機能
@@"システム(OS)情報保護"を実現する機能。パーティション毎に独立したシステム(OS)状態
を提供する。周期実行ポリシー(パーティションスケジューラ)の指示によりパーティション
を切り替えた時、OS 状態や割込みコントローラの設定を切替先のパーティションの情報に切
り替える。 [ParOS-SW-01-SC-0031][ParOS-SW-01-SC-0027]@@
(c) 2012 by WITZ-inc
- 25 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
5.5 コンフォーマンスクラス
【SG3】を満たすために、ParOS では、3 種類のコンフォーマンスクラスを定める。
•
BCC(Basic Conformance Class)
•
BCC+(Basic Conformance Class Plus)
•
ECC(Extended Conformance Class)
•
DCC(Development Conformance Class)
それぞれのコンフォーマンスクラスがサポートする機能は次の通りである。
ParOS の実装はいずれかのコンフォーマンスクラスに従う。
表 5.4@@コンフォーマンスクラス[ParOS-SW-01-SC-0032][ParOS-SW-01-SC0028,ParOS-SW-01-SC-0029,ParOS-SW-01-SC-0030,ParOS-SW-01-SC-0031]@@
BCC
BCC+
ECC
DCC
パーティ
サービス保護機能
○
○
○
○
ショニン
メモリ保護機能
○
○
○
○
グ機能
システム(OS)情報保護機能
○
○
○
○
SafeOS 互換安全維持機能
○
○
○
○
周期実行ポリシー
○
○
○
○
SafeOS 互換機能
○
○
○
○
アプリケーション割込み
○
○
○
○
タイムウィンドウハンドラ
○
○
○
○
アトミックハンドラ
○
○
○
○
パーティション例外ハンドラ
○
○
○
○
システム例外ハンドラ
○
○
○
○
パーティション間通信
○
○
○
○
アイドル属性
○
○
スケジューリングモード変更
○
○
○
○
一般機能
*
システム割込み
システムタスク
○
システムタイムイベントハンドラ
○
Partition Level
ParLv4
ParLv3
ParLv3
*機能制限付きシステム割り込み
(c) 2012 by WITZ-inc
- 26 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
BCC は最もパーティションの強度が高く、パーティショニングレベル 4 を満たす。
ECC は BCC に安全機能が幾つか追加されている。高速な割込みを実現する"システム割込み
"をサポートすることにより、【実行タイミング保護】を実現出来なくなり、パーティションレ
ベルは 3 となる。
DCC はパーティショニングが適用されないシステムパーティションをサポートするため、既
存システムの ParOS を用いたパーティショニング環境への移行を容易にするため、開発時に
用いることを想定している。
BCC+は BCC をベースとしたコンフォーマンスクラスである。BCC+は BCC でサポートと
している全ての機能に加えて、BCC に機能制限付きシステム割込みをサポートしている。
BCC+は ECC と同じパーティションレベル 3 であるが、ECC と比較して、機能が少ないた
め、実装が容易であり、ほぼ BCC と同様の実装となる。
BCC+を導入した理由は次の通りである。ECC は多くの機能をサポートするため、実装が複
雑化して、オーバヘッドが大きい。BCC では、システム割込みが使えず、組込みシステムの高
リアルタイム性を実現することが困難であるため定めた。
BCC+は割り込みの高速な応答を機能制限付きシステム割込みで実現すると共に、機能を制
限することで、実装の簡素化と低オーバヘッドを実現している。
安全機能に対する要求に関しては、ParOS Software Safety Requirement Specification を参
照のこと。
(c) 2012 by WITZ-inc
- 27 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
5.6 オペレーションモード
5.6.1 ParOSの状態と状態遷移
ParOS は 5 個の状態を持つ。各状態とその状態遷移は次の通りである。
•
@@未定義状態[ParOS-SW-01-SC-0056][]@@
•
•
@@システム初期化中状態[ParOS-SW-01-SC-0057][]@@
•
•
パーティションを実行
@@システム終了処理中状態[ParOS-SW-01-SC-0059][]@@
•
•
初期化処理を実行。
@@システム通常状態[ParOS-SW-01-SC-0058][]@@
•
•
電源投入時/リセット割込みルーチン実行時に遷移
終了処理を実行。
@@システム停止状態[ParOS-SW-01-SC-0060][]@@
•
システム終了処理終了後に遷移。実行を停止
stm System State
System normal state
Call of system shutdown API
System shutdown
processing state
System initialization routine termination
Call of system startup API
Termination of system shutdown routine
State during
system initialization
Call of system startup API
System stop state
Undefined state
Power-on / Reset
Start
図 5.8 @@ParOS の状態遷移[ParOS-SW-01-SC-0069][ParOS-SW-01-SC-0056,ParOSSW-01-SC-0057,ParOS-SW-01-SC-0058,ParOS-SW-01-SC-0059,ParOS-SW-01-SC0060]@@
(c) 2012 by WITZ-inc
- 28 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
5.6.2 パーティションの状態と状態遷移
各パーティションは 7 個の状態を持つ。パーティションの各状態とその状態遷移は次の通りで
ある。
・ @@通常状態[ParOS-SW-01-SC-0061][]@@
¾ パーティションに属するアプリケーション割込みが有効に。
¾ パーティションに属するタイムウィンドウハンドラが有効に。
¾ @@実行状態(TPS_NORMAL) [ParOS-SW-01-SC-0062][ParOS-SW-01-SC-0061]@@
—
割り当てられたタイムウィンドウが実行され、かつ実行するべき処理単位が存在
し実行されている状態。
¾ @@休止状態(TPS_IDLE)[ParOS-SW-01-SC-0063][ParOS-SW-01-SC-0061]@@
—
割り当てられたタイムウィンドウが実行され、かつ実行するべき処理単位が存在
しない状態。
¾ @@ 実 行 可 能 状 態 (TPS_RUNNABLE) [ParOS-SW-01-SC-0064][ParOS-SW-01-SC0061]@@
—
システム周期内に未実行の割り当てられたタイムウィンドウが存在する状態。
¾ @@満了状態(TPS_EXPIRE)[ParOS-SW-01-SC-0065][ParOS-SW-01-SC-0061]@@
—
システム周期内の割り当てられたタイムウィンドウが全て実行された状態。もし
くはシステム周期内に割り当てられたタイムウィンドウが存在しない場合。
・ @@初期化中状態(TPS_INIT)[ParOS-SW-01-SC-0066][]@@
¾ パーティションの初期化を実行している状態。
¾ パーティションに属する割込みが無効に。
¾ パーティションに属するタイムイベントハンドラが無効に。
・ @@終了処理中状態(TPS_TER)[ParOS-SW-01-SC-0067][]@@
¾ パーティションの終了処理を実行している状態。
¾ パーティションに属する割込みが無効に。
¾ パーティションに属するタイムイベントハンドラが無効に。
・ @@停止状態(TPS_STOP)[ParOS-SW-01-SC-0068][]@@
¾ パーティションを終了した状態。
¾ パーティションに属する割込みが無効に。
¾ パーティションに属するタイムイベントハンドラが無効に。
(c) 2012 by WITZ-inc
- 29 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
Normal state
Runnable state
Start of auto time window and
restart of auto time window
Execution state
Discontinuation of auto time window
and termination of auto time window
Execution all auto
time windows in
the system cyclic
Execution of new
system cyclic
When a processing
unit that needs to
be executed occurs
When a processing
unit that needs to be
executed do not exist
Complete state
Execution of all auto time
windows in the system cyclic
Dormant state
Partition initialization
routine termination
Partition termination
API call
Termination
processing state
Partition termination
processing routine
termination
A partition startup API
Stop state
Initialization state
A partition startup API is called
for settings of an attribute to
execute at startup and for system
states that are in the normal state
Power on
Start
図 5.9 @@パーティションの状態遷移[ParOS-SW-01-SC-0070][ParOS-SW-01-SC0061,ParOS-SW-01-SC-0062,ParOS-SW-01-SC-0063,ParOS-SW-01-SC-0064,ParOSSW-01-SC-0065,ParOS-SW-01-SC-0066,ParOS-SW-01-SC-0067,ParOS-SW-01-SC0068]@@
(c) 2012 by WITZ-inc
- 30 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
5.7 ParOS機能の依存関係
ParOS の機能は、次の示す依存関係がある。
(1) Cycle Execute Policy と Service, System state, Memory protection 間
• @@アクティブなパーティションが変更された場合、Cycle Execute Policy は、Service,
System state, Memory protectionを呼び出す。[ParOS-SW-01-SC-0071][]@@
(2) System State Protection と INTC 間
• @@System State Protection は INTC を制御する。[ParOS-SW-01-SC-0072][]@@
(3) Between Memory Protection と MPU 間
• @@Memory Protection は、MPU を制御する。[ParOS-SW-01-SC-0073][]@@
(4) Timer と Cycle Execute Policy 間
• @@Timer は割込みを発生させ、Cycle Execute Policy を呼び出す。[ParOS-SW-01SC-0074][]@@
(5) Idle Attribute と Cycle Execute Policy 間
• @@実行中のパーティションがアイドルになった場合、Idle Attribute は、 Cycle
Execute Policy を呼び出し、パーティションを切り替える。[ParOS-SW-01-SC0075][]@@
(6) System Interrupt と Timer 間
• @@System Interrupt が実行されると、タイマー割込みを禁止する。[ParOS-SW-01SC-0076][]@@
(c) 2012 by WITZ-inc
- 31 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
Partition
Monitoring System
Partition1
Partition2
Cyclic Monitoring
ParOS
SafeOS
Instance
(SafeOS)
ECC
SafeOS
Instance
Sequence
Monitor
SafeOS
Instance
Sequence
Monitor
BCC
(Executive)
Service
Protection
Schedule Table
Idle
Attribute
Fault Detection Library
(1)
Cycle
Execute
Policy
(Partition
Scheduler)
(5)
System
Interrupt
ROM Check・RAM Check・CPU Check・
INTC Check・W/D control
System State
Protection
Memory
Protection
(3)
(2)
(6)
Hardware
Timer
(MCU)
(Peripheral)
CPU
INTC
MPU
ROM
RAM
BUS
Main Clock
System
Peripheral
Timer
W/D Timer(I)
Internal Clock
Sub Clock
Power/Reset
Either (I) or (O)
W/D Timer(O)
W/D Timer
OS
Partition
Calling function
Cooperation with
operation clock
Monitoring System
Partitioning
Data reference
Data setting
図 5.10ParOS 機能構成図
(c) 2012 by WITZ-inc
- 32 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
5.8 Safety Goalを脅かす可能性があるParOSの機能
以下の ParOS の機能は ParOS のパーティショニングに影響を与える可能性があるため、
使用時には、
(1) ソフトウェア例外API
• システム例外ハンドラを実行する。システム例外ハンドラは、全ての処理単位よ
り優先して実行される。
• システムインテグレータは、“システム例外ハンドラチェックフック” を用いて、
ソフトウェア例外APIの不正な呼び出しを防ぐこと。
(2) パーティションのアイドル属性 [ECC]
•
アイドル属性が付加されたパーティションは、”CPU利用率”、”実行順序”,”実行タ
イミング”が変化する。
(3) システム割込み [ECC]
•
システム割込みが実行されると、その時点で実行中のパーティションの”実行タイ
ミング”が変化する。
•
システム割込みハンドラのオーバーランや、システム割込みの規定値以上の発生
は、”CPU利用率”,”実行順序”,”実行タイミング”を変化させる。
•
システム割込みの時間保護を使用すること。
(4) スケジューリングモード変更 [ECC]
•
スケジューリングモードを変更すると、”CPU利用率”,”実行順序”,”実行タイミン
グ”が変化する。
•
システムインテグレータは、”スケジューリングモード変更フック”を用いて、スケ
ジューリングモード変更APIの不正な呼び出しをチェックする必要がある。
5.9 一部機能に対する対策の必要性
ParOS の一部の機能は、使用方法を間違えると、SG1/SG2 を満たせなくなる可能性がある。
これらの機能に対しては、対応する ParOS の対策機能を用いて対策を実施する必要がある。
対策は、システム上で最も高い安全度水準で開発する必要がある。詳細については[4]Safe OS
Software Safety Requirement Specification や [6]Safe OS Safety Manual を参照のこと。
(c) 2012 by WITZ-inc
- 33 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
6
故障検出: SafeOS互換安全維持機能
【SG3】を満たすため、ParOS は、SafeOS 互換の安全維持機能を持つ。
ParOS とアプリケーションの故障検出のためのシステム構成を以下に示す。
ParOS では以下の 2 種類の故障検出が必要となる。
6.1 パーティション内故障検出 : Safety Requirement(7)
パーティション内(アプリケーション)の故障検出機能。この機能は SafeOS の故障検出
機能と互換の機能である。
6.1.1 システマティック故障検出
@@パーティションとして動作するアプリケーションや ParOS のシステマティック故障を検
出するため、実行シーケンスモニタを持つ。[ParOS-SW-01-SC-0034][]@@@@実行シーケンス
モニタ機能は、パーティション毎に管理される。[ParOS-SW-01-SC-0035][]@@アプリケーショ
ンは、実行シーケンスモニタを呼び出すことにより、システマティック故障検出を行う。
@@実行シーケンスモニタ機能が用いるタイマや W/D タイマは Executive が単一のタイマハ
ードウェアと W/D タイマハードウェアをパーティション毎に多重化する。[ParOS-SW-01-SC0036][]@@
6.1.2 ハードウェア故障検出
システム上でハードウェアの故障検出を行うための、周期監視アプリケーションを用意する。
故障検出ライブラリは各種のハードウェアのチェック機能を持つ。
周期監視アプリケーションはタスクで構成され、故障検出ライブラリの機能を呼び出し、ラ
ンダムハードウェア故障検出を行う。異常を検出した場合は、全て周辺検出アプリケーション
へ通知される。どのタイミングでどのような故障検出を実施するかはユーザ依存とする。W/D
制御に関しては各故障検出結果を基に周期的に実行する。
周期監視アプリケーションへのタイムウィンドウ割り当てや実行頻度はユーザー依存とする。
MCU 層の W/D タイマは内蔵 W/D、周辺回路層の W/D タイマは外部 W/D を示す。どちら
か一方の W/D をユーザーが指定する。
@@システムタイマ、故障検出ライブラリが使用するタイマは独立したタイマである。
[ParOS-SW-01-SC-0037][]@@@@システムタイマはタスクの周期起動やカーネルの時間管理に
使用する。[ParOS-SW-01-SC-0038][]@@@@故障検出ライブラリのタイマは実行シーケンスモ
ニタや W/D 制御での時間監視に使用する。[ParOS-SW-01-SC-0039][]@@
上記安全目標およびコンセプトを実現するために必要なハードウェアの条件を「ハードウェ
ア要件」にて規定する。
(c) 2012 by WITZ-inc
- 34 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
故障検出ライブラリの詳細や、本構成で安全を保障できることは、関連文書[3,4,5,6]を参照
のこと。
(c) 2012 by WITZ-inc
- 35 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
パーティション間通信(COM)
7
本章では、パーティション間通信(COM)の機能要求とパーティション間通信フォールト検出
と通知について述べる。
7.1 機能要求
・
【SG1】【SG2】を満たすための要求であるサービス保護【SIR-1】より、パーティシ
ョン間は SafeOS の API を用いて通信ができないため、@@パーティション間通信専用
の機能を提供すること。[ParOS-SW-01-SC-0040][]@@【COM:SR-1】
・
@@パーティション間通信はチャネルと呼ばれるオブジェクトにより実現する。[ParOSSW-01-SC-0041][]@@【COM:SR-2】
・
@@各アプリケーションは設計時にインタフェースによりチャネルに接続し、メッセージ
をやり取りする。[ParOS-SW-01-SC-0042][]@@【COM:SR-3】
・
@@パーティション通信は、データがキューイングされるメッセージチャネルと、データ
が キ ュ ー イ ン グ さ れ な い 状 態 変 数 チ ャ ネ ル を 持 つ [ParOS-SW-01-SC-0043][]@@ 。
【COM:SR-4】
・
@@チャネルは実行状態と停止状態の 2 状態を持ち、停止状態のチャネルに読み書きす
るとエラーとなる。[ParOS-SW-01-SC-0044][]@@【COM:SR-5】
7.2 パーティション間通信フォールト検出と通知 : Safety Requirement(8) :
【SG4】を満たすために、それぞれのチャネルは、次の安全維持機能を持つ。なお、@@データ
の内容の正当性や送受信タイミングについてはユーザープログラムで保証する必要がある。
[ParOS-SW-01-SC-0055][]@@詳細については [6]Safe OS Safety Manual を参照のこと。
7.2.1 メッセージチャネル
@@メッセージチャネルに読み込み待ち、書き込み待ちのパーティションが存在する場合に、チ
ャネルの状態が停止状態になった場合には、それらのパーティションの待ち状態を解除して、
エラーを返す[ParOS-SW-01-SC-0045][ParOS-SW-01-SC-0043]@@【COM:SIR-1】。
7.2.2 状態変数チャネル
@@状態変数チャネルは、データの更新周期を設定でき、更新周期を超えて更新されない場合は、
チ ャ ネ ル の 状 態 を 停 止 状 態 と す る 。 [ParOS-SW-01-SC-0046][ParOS-SW-01-SC-0043]@@
【COM:SIR-2】
(c) 2012 by WITZ-inc
- 36 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
8
ハードウェア要求
ParOS を実行するために、システムは次のハードウェアを備える必要がある。
基本アーキテクチャ
@@MCU は中央処理演算処理装置(CPU)、割込みコントローラ(INTC)、アドレスバス(Bus)、
内蔵 ROM(ROM)、内蔵 RAM(RAM)、タイマ、ウォッチドッグ機能(MCU 内蔵である場合)を
有すること。[ParOS-SW-01-SC-0047][]@@【HW:SIR-1】
メモリ保護ハードウェア
@@MCU は実行しているプログラムに対して特定のメモリへのアクセスを制限する機構(MPU
や MMU)を持つこと。[ParOS-SW-01-SC-0048][]@@【HW:SIR-2】
ユーザーモードデバイスアクセス
@@メモリアクセスの制限のために、非特権モードを持つ場合、非特権モードであっても、許可
されたデバイスへは直接アクセス可能であること。[ParOS-SW-01-SC-0049][]@@【HW:SIR3】
クロック
@@周辺回路としてはメインクロック、サブクロック、内蔵クロック、電源、ウォッチドッグ
(MCU 内蔵でない場合)を有すること。[ParOS-SW-01-SC-0051][]@@【HW:SIR-5】
ウオッチドック
@@ウォッチドッグは、MCU 内蔵機能または外部部品のいずれかを用いる。フォールトトレラ
ンス 1 となるハードウェアを用いること。[ParOS-SW-01-SC-0052][]@@【HW:SIR-6】
※SIL2 を満たすことを目標とする場合、フォールトトレランス 0 のハードウェアを用いるこ
と。
パーティションスケジュール用タイマ
@@タイマは 1 つのカウンタに対してコンペア値を 2 個持ち、カウンタの値をクリアせずにコ
ンペア値を変更可能であること。[ParOS-SW-01-SC-0053][]@@【HW:SIR-7】
(c) 2012 by WITZ-inc
- 37 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
さらに、性能のため以下の機能を持つことを推奨する。
低オーバヘッドの割込み禁止許可
@@割込みを低オーバヘッドで個別に許可・禁止することが可能であること。[ParOS-SW-01SC-0050][]@@【HW:SIR-4】
(c) 2012 by WITZ-inc
- 38 -
文書管理番号:ParOS-SW-01-SC
仕様書名:Partition OS Safety Concept Ver.1.00
2012/12/25
9
開発プロセス
Safety Goal3 を満たすため、ParOS は、TUV ZUD によって IEC61508 SIL3 のプロセス認証
された、WITZ の開発プロセスを用いて開発される。
(c) 2012 by WITZ-inc
- 39 -