文書管理番号: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 -
© Copyright 2024 Paperzz