文書管理番号：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

EDITIONDATE OFREVISION REASONCHANGE

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

Nagoyafrom 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 TUVNagoyaUniv.

Harawith TUV
Version 0.4

NagoyaNagoya
Univ.

Honda

NagoyaUniv.

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” toNagoya
Univ.

Honda

from TUV meeting at 2012/9/19
Version 0.62

NagoyaNagoyaUniv.

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の基本機能の故障モード ........................................................................................ 113

安全目標 ............................................................................................................................... 124アーキテクチャ .................................................................................................................... 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[SafeOS_SRS]

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

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]

Partition OS Safety Manual

1.00

2012/12/25[WITZ_S]

Function Safety Management Standard

2.3.0

2012/01/16(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
CapableInterrupt(ASR4-FR)
AtomicExecution(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)MemorySharing

ParOS(3)Application
Interrupt

ParOS(4)AtomicHandler

ParOS(4)Highpriority
interrupt

ParOS(5)Dynamic
partitionscheduling

ParOS(6)
Scheduling modechangeFailure 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)Intercommunication
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

SafetyReq.(6)

Safety Req.(7)SafetyReq.(8)OS state
protection

Fault
Detection
Library

Top Level Safety Requirements
SafetyReq.(1-3)
Temporal protection“CPU utilization Protection””Execute sequence protection”“Execute timing protection”

SafetyReq.(4)
MemoryProtection

SafetyReq.(5)Serviceprotection

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 InstancePartition
Memory/Time/Service

State of SafeOS

SafeOSCOM

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/DState of SafeOS
and SW W/DState of
Channel1

ParOS

SCB

…

Link tosingle executable
moduleState of System (ParOS)
SafeOS Functions

ParOS Functions

Scheduler

FDD Lib.

COM Functions

CODE
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 の状態）は、全てのパーティションで共有する。また、各アプリケーションのコードやデータと共に１つの実行モジュールにリンクされて実行される。

4.3 メモリ保護@@図 4.2に示すParOSのメモリ領域は、アプリケーション（パーティション）から保護されている。[ParOS-SW-01-SC-0008][]@@
図 4.2に示すように、各パーティションとParOSのコード領域とデータ領域は、一つの実行モ
ジュールにリンクされるが、図 4.3に示す様に、各コードとデータはそれぞれまとめられ、メモリに配置される。
パーティションはメモリ保護が有効なモード（通常はユーザーモード）で、ParOS はメモリ保護が無効なモード（通常は特権モード）で実行される。
各パーティションにはコード領域とデータ領域とデバイスが割り付けられ、ParOS は、
MPU ないし MMU により、各パーティションが割り付けられたリソースのみアクセス可能なように保護を行う。具体的には、実行するパーティションを変更するタイミングで
MPU/MMU の設定を切り替えることで保護を実現する。

ROM

RAM

Device0x000000 0x0FFFFF

Partition1

0x500000 0x5FFFFF

Partition1

UART

Partition1

0x100000 –0x1FFFFF

Partition20x600000 –0x6FFFFF

Partition2

Ethernet

Partition2

0x200000 –0x2FFFFF

Partition30x700000 –0x7FFFFF

Partition3

CAN

Partition3

0x300000 –0x3FFFFF

ParOS

0x800000 –0x8FFFFF

ParOS

Sytem Timer
W/D

ParOS

0x400000 –0x4FFFFF

Shared

0x900000 –0x9FFFFF

SharedPerf 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]@@
ParLv1ParLv2

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 ofPartition2 and3 is exchanged

Partition1

OK

Partition2
Partition3
Partition4
250

250

100

400

System Cycle(1000)

Partition3 canuse only 30%
of CPUutilization.

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 ispreempted

Partition 1

OK

Partition 2

Start time ofPartition 2 isdelayed(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 ofPartition2 and 3
is exchanged100

図 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 ispreempted

Partition 1

NG

Partition 2

Start time ofPartition 2 isdelayed(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 (４)@@設計時に各パーティションにメモリ領域を割り当て、実行時に割り当てたメモリ領域に対する他のパーティションからの書き込みを禁止すること。[ParOS-SW-01-SC-0021][ParOSSW-01-SC-0001,ParOS-SW-01-SC-0002]@@

Partition1

Partition2

Task1

Task2

Partition3
Memoryprotection
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]@@

Serviceprotection

Partition2

Partition1
Task1

API call to
Partition2

×

Task2

Partition3

×

Task3

Call OS API
with Illegal pointer(Memory address inMemory2
Memory3partition3)(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

Timewindow

Task belonging toPartition 3
Task 21

Partition 1

Task 22

Partition 2

Task 12

Task 31

Partition 3

TimewindowTime
window

Task 22

Partition 2

Task 32

Task belonging toPartition 2

Task 21

Task 31

Task 32

Partition 3

TimewindowTime
windowTime
windowTime
windowTime
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 routineState duringsystem initialization

Call of system startup API

System stop state

Undefined statePower-on / ResetStart

図 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 andrestart 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 tobe 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 statePartition initialization
routine termination

Partition termination
API call
Termination
processing statePartition 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 statePower onStart

図 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
MonitorBCC(Executive)

Service
Protection

Schedule Table
Idle
Attribute

Fault Detection Library

(1)
Cycle
ExecutePolicy(Partition
Scheduler)(5)

SystemInterrupt

ROM Check・RAM Check・CPU Check・
INTC Check・W/D control

System State
Protection

MemoryProtection

(3)

(2)

(6)
Hardware
Timer

(MCU)

(Peripheral)

CPU

INTC

MPU

ROM

RAM

BUS

Main Clock

SystemPeripheral

Timer

W/D Timer(I)Internal Clock

Sub ClockPower/Reset

Either (I) or (O)W/D Timer(O)W/D TimerOS

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 -