Posts Tagged with "ISO 26262"

既に発行済みのブログであっても適宜修正・追加することがあります。
We may make changes and additions to blogs already published.

10月の検索結果

posted by sakurai on November 6, 2024 #888

弊社コンテンツの8月の検索結果です。

表888.1 上昇率上位のページ(前月との比較)
タイトル クリック数
故障分類 +74
SPFM, LFM, PMHFの計算法の例 +72
レイテントフォールトの奥深さ +39

表888.2 パフォーマンス上位のページ
タイトル クリック数
1st Editionと2nd Editionとの相違点 (Part 10) 226
機能安全用語集 199
ASILデコンポジション 115

表888.3 上昇率上位のクエリ
クエリ クリック数
FTTI +27
レイテント +11
FTTI FHTI +9

表888.4 パフォーマンス上位のクエリ
クエリ クリック数
FTTI 107
PMHF 31
SPFM 23


左矢前のブログ 次のブログ右矢

PMHFの導出の動画

posted by sakurai on November 5, 2024 #887

PMHFの算出法について以下の動画を見つけました。どうやらコンサル会社のビデオのようです。https://youtu.be/ndG1Kcc89hs

メディニアナライザを使用したようですが、PMHFの値は一見して誤っています。

図%%.1
図887.1 結果レポート

表の数値を見る限り、計算方法はSPFとDPFを加えて $$ PMHF=\lambda_\text{SPF}+\lambda_\text{MPF, latent} $$ となっているようです。

この誤りは大変多く、過去にも

と複数あり、それらの誤りは以下の論文$\dagger$が元凶のようです。

$\dagger$Y. Chang, L. Huang, H. Liu, C. Yang and C. Chiu, "Assessing automotive functional safety microprocessor with ISO 26262 hardware requirements," Technical Papers of 2014 International Symposium on VLSI Design, Automation and Test, Hsinchu, 2014, pp. 1-4, doi: 10.1109/VLSI-DAT.2014.6834876.

一方、以下に前記事にもあるようにPart 5のAnnex Fに掲載されている近似式を示します。 $$ PMHF=\lambda_\text{SPF}+\lambda_\text{MPF, latent}\cdot\lambda_\text{MPF, detected}\cdot T_\text{lifetime} $$ この式はSPFとDPFを正しく意識し、それぞれを確率に直してから加え、最後に車両寿命で割っています

それにしてもPMHFを算出する人たちはなぜ規格Part 10の、もしくはPart 5(上記)の式を用いずに、誤りの論文$\dagger$の式を参照するのでしょうか?参考にするならせめて規格式を参考にすれば良いと思うのですが。


左矢前のブログ 次のブログ右矢

posted by sakurai on November 4, 2024 #886

備忘のために表題の「2nd SMのASILの引き下げ」について記します。ISO 26262ではセレクトハイ原則やFFI等の原則で、低ASILエレメントが高ASILエレメントに影響を及ぼすことが禁止されています。そのような場合は低ASILエレメントはASILを引き上げるべきです。

一方その原則の例外があり、有名なものは「ASILデコンポジション」です。ところでこの用語は厳密には正しくなく、本来は「要求分割(デコンポジション)により結果的にASILが分割される」ものであり、ASILを任意に分割するものではありません。

この他に表記の場合の例外があります。Part 4 6.4.2はシステム設計における安全機構の要件を示したもので、6.4.2.1及び6.4.2.2が「フォールトを検出及び機能安全要求を侵害するシステムの出力に存在する故障を防止又は緩和する安全機構」、つまり1st SMについての要件です。さらに6.4.2.3~6.4.2.5が「フォールトがレイテント状態になるのを防止する安全機構」、つまり2nd SMについての要件です。

ここで6.4.2.5において、2nd SMとしてのみ働くエレメントのASILは以下のように引き下げることが可能と書かれています。以下は規格に書かれていない文言をカッコ内に補って記述しています。

Part 4 - 6.4.2.5

  • (IFまたは1st SMに)割りつけられた安全要求のASILがASIL-Dのとき、その2nd SMはASIL-B
  • (IFまたは1st SMに)割りつけられた安全要求のASILがASIL-BまたはASIL-Cのとき、その2nd SMはASIL-A
  • (IFまたは1st SMに)割りつけられた安全要求のASILがASIL-Aのとき、その2nd SMはQM

すなわち、ASIL-Bを除きASILを2段階引き下げることが可能です。ASIL-Bの時は1段階となります。


左矢前のブログ 次のブログ右矢

posted by sakurai on October 30, 2024 #884

図%%.1

On October 29, 2024, FS Micro Corporation※1 announced that a research paper by President and CEO Atsushi Sakurai has been accepted at RAMS※2, an international conference organized by the IEEE※3 Reliability Society.

This marks the sixth consecutive year that a paper by Atsushi Sakurai has been accepted at RAMS. The paper is scheduled for presentation at RAMS 2025, to be held on January 28, 2025, in Florida, USA.

図%%.2

This paper focuses on the PMHF※4 formula in ISO 26262※5. In ISO 26262, the PMHF is positioned as a critical metric for evaluating the safety of automotive systems, yet its derivation process is not thoroughly explained. Since 2011, Atsushi Sakurai has been addressing this issue and proposed a more accurate formula for the PMHF at RAMS 2020.

In this paper, the behaviors of the two stochastic processes, the PUA※6 and the PUD※7, under periodic inspection are analyzed in detail, and rigorous formulas for these processes are derived. Furthermore, the paper compares the rigorous formulas with the proposed approximate formulas, demonstrating the effectiveness of the approximate formulas in practical PMHF calculations.

The proposed PMHF formula provides higher accuracy while also allowing for improved design constraints. Therefore, this research is expected to make a significant contribution to enhancing the reliability of automotive systems.

図%%.3

Notes
※1: FS Micro Corporation (Headquarters: Nagoya, Japan; President and CEO: Atsushi Sakurai) is a consulting firm specializing in functional safety (a methodology for ensuring that equipment function correctly by implementing various safety measures) for automotive systems.
※2: RAMS (the Reliability and Maintainability Symposium) is an international conference on reliability engineering held annually by the IEEE Reliability Society. The 71st conference will take place in 2025. For more information: https://rams.org/
※3: IEEE is the abbreviation for the Institute of Electrical and Electronics Engineers, the world's largest professional technical organization dedicated to advancing technology. For more information: https://ieee.org/
※4: PMHF stands for Probabilistic Metric for Random Hardware Failures, a key metric under ISO 26262. It represents the time-averaged probability of hazardous system failures over a vehicle’s lifetime.
※5: ISO 26262 is an international standard for functional safety of automotive electronic and electrical systems, aiming to reduce the risk of hazardous events occurring while driving to an acceptable level due to system failures.
※6: PUA or the Point Unavailability, one of the stochastic processes that define the PMHF. It represents the probability that a system is in a failed state at a specific point in time.
※7: PUD or the Point Unavailability Density, another stochastic process that defines the PMHF. It represents the probability density of unavailability.


Contact Information
Company Name:     FS Micro Corporation
Representative:      Atsushi Sakurai
Date of Establishment:  August 21, 2013
Capital:         32 million yen
Business Description:  Consulting services and seminars on functional safety for automotive electronic devices in compliance with ISO 26262
Head Office Address:   4-1-57 Osu, Naka-ku, Nagoya, Aichi 460-0011, Japan
Phone:         +81-52-263-3099
Email:          info@fs-micro.com
URL:          https://fs-micro.com/


左矢前のブログ 次のブログ右矢

posted by sakurai on October 29, 2024 #883

図%%.1

2024年10月29日、FSマイクロ株式会社※1は、代表取締役桜井厚による論文が、IEEE※2 信頼性部会主催の国際学会RAMS※3 において採択されたことをお知らせします。

桜井厚の論文がRAMSに採択されるのは今回で6年連続となります。本論文は2025年1月28日に米国フロリダ州で開催されるRAMS 2025にて発表予定です。

図%%.2

本論文はISO 26262※4 のPMHF※5 公式に関する研究です。ISO 26262において、PMHFは車載システムの安全性を評価する重要な指標として位置づけられていますが、その導出過程は十分に説明されていません。桜井厚は2011年からこの課題に取り組み、RAMS 2020においてPMHFのより精度の高い式を提案しました。

本論文では、定期検査下での2つの確率過程であるPUA※6およびPUD※7の挙動を詳細に分析し、その厳密な公式を導出しています。さらに、厳密式と提案する近似式を比較検証し、近似式が実際のPMHF計算においても有効であることを示しました。

提案するPMHF式はより精度が高い式でありながら、設計制約の改善が見込めます。そのため、本研究を通じて、提案するPMHF式が自動車の信頼性向上に大きく貢献することが期待されます。

図%%.3

【注釈】
※1:FSマイクロ株式会社 (本社:名古屋市、代表取締役:桜井厚)は車載システムの機能安全(様々な安全方策を実施することにより、機器が正しく動作することを担保する方法論)に関するコンサルティングを提供する会社です。
※2:IEEEはInstitute of Electrical and Electronics Engineers(電気電子技術者協会)の略称で、技術の進歩を推進する世界最大の専門技術組織です。詳しくはhttps://ieee.org/
※3:RAMS(the Reliability and Maintainability Symposium)は信頼性・保守性シンポジウムの略称で、IEEE信頼性部会が毎年主催する信頼性工学に関する国際会議です。第71回の会議は2025年に開催されます。詳しくはhttps://rams.org/
※4:ISO 26262は車載電気電子システムの機能安全に関する国際規格で、システムの故障により車両の運転中に危険な事象が発生するリスクを許容できる水準まで低減することを目的としています。
※5:PMHFはProbabilistic Metric for Random Hardware Failures(ハードウェアのランダム故障に対する確率的指標)です。これはISO 26262におけるハードウェアの設計目標値の一つで、車両寿命間のシステム故障の時間平均確率を表します。
※6:PUAはPoint Unavailability(点不稼働度)の略で、PMHFを定義する確率過程の一つです。特定の時点でシステムが故障状態にある確率です。
※7:PUDはPoint Unavailability Density(点不稼働度密度)の略で、PMHFを定義する確率過程の一つです。点不稼働度の確率密度を示します。


【お問い合わせ先】
会社名     FSマイクロ株式会社
代表者     桜井 厚
設立年月日   2013年8月21日
資本金     3,200万円(資本準備金を含む)
事業内容    ISO 26262車載電子機器の機能安全のコンサルティング及びセミナー
本店所在地   〒460-0011
        愛知県名古屋市中区大須4-1-57
電話      052-263-3099
メールアドレス info@fs-micro.com
URL      https://fs-micro.com/


左矢前のブログ 次のブログ右矢

posted by sakurai on October 28, 2024 #882

前記事#875のChatGPTの話す内容が数学的に若干おかしかったので、手動で修正しました。以下はChatGPTの出力を適宜修正したものです。

連続修理の場合:

稼働度$A(t)$は以下の式で表されます:

$$ A(t)=R(t)+\int_{0}^{t}m(x)\cdot R(t - x)\,dx $$

ここで、$R(t)$は時刻$t$での信頼度、$m(x)$は時刻$x$でのリニューアル密度です。$R(t-x)$は時刻$x$でリニューアルしたものが時刻$t$まで一度も故障しない確率です。

周期$\tau$の定期修理PIRの場合:

周期$\tau$のPIR(Periodic inspection and repair)戦略下では、修理が周期的に時刻$x=i\tau^-$($i=1,2,\dots,n$)で行われるため、この方程式は離散系となり次の式で表されます。

$$ A(t)=R(t)+\sum_{i=1}^{n}M(i\tau^-)\cdot R(t-i\tau^-) $$

ここで、$M(t^-)$は時刻$t$の直前における区間修理量です。

修理量は:

DC(Diagnostic coverage)を$K_\text{MPF}$で表せば、区間修理量$M(i\tau^-)$は区間累積故障の$K_\text{MPF}$倍となるため、区間修理量$M(i\tau^-)$は以下のようになります:

$$ M(i\tau^-)= K_{\text{MPF}}\int_{(i-1)\tau^+}^{i\tau^-}q(x) \, dx = K_{\text{MPF}} \left[ Q(i\tau^-) - Q\left( (i - 1)\tau^+ \right) \right] $$

ここで、

  • $K_\text{MPF}$はDCであり定数、
  • $q(t)$は不稼働密度関数(PUD)、
  • $Q(t)=\int_{0}^{t}q(x)\,dx$は不稼働度関数(PUA)です。

不稼働度は:

$$ Q(t)=\img[-1.35em]{/images/withinseminar.png} $$

これにより、PIR戦略下の不稼働度PUAが陰関数形式で表されます。また、$Q(i\tau^+)$に関する一検査周期内の関係式を示します。

$$ \begin{eqnarray} Q(i\tau^+)&=&Q\left((i-1)\tau^+\right)+K_\text{MPF}\left[Q(i\tau^-)-Q\left((i-1)\tau^+\right)\right]\\ &=&(1-K_\text{MPF})Q((i-1)\tau^+)+K_\text{MPF}Q(i\tau^-) \end{eqnarray} $$

なお、本稿はRAMS 2025に投稿予定のため一部を秘匿しています。


左矢前のブログ 次のブログ右矢

posted by sakurai on October 17, 2024 #878

RAMS論文委員会の査読に対するレビューが完了し、指摘事項は無く、最終版(名前、所属有り)を10/17までに登録するようにという指示が来たので、早速登録しました。

これにより後は採択通知を待つのみです。

表878.1 RAMS 2025へのマイルストーン
期限 マイルストーン 状態
2024/5/3 アブストラクト投稿締め切り(システム入力) 投稿済
2024/6/10 アブストラクト採択結果 採択済
2024/7/15 論文、プレゼン投稿締め切り(名前、所属無し版) 投稿済
2024/9/1
2024/9/15
第1回論文、プレゼン資料査読コメント受領 投稿済
2024/10/4 学会出席登録締め切り 登録済
2024/10/4
2024/10/17
最終論文、プレゼン投稿締め切り(名前、所属有り版) 登録済


左矢前のブログ 次のブログ右矢

posted by sakurai on September 27, 2024 #877

ChatGPTにグラフを3本書いて貰います。区間差分をどのように取るかの違いで3種類考えられます。PIRの原則ではこの区間差分(検査区間内の累積分布)の$K_\text{MPF}$倍が修理度となります。

  • 区間内の累積分布=区間不稼働度の差分: $Q_\text{exact}(t)$においては$Q(i\tau)-Q((i-1)\tau)$
  • 区間内の累積分布=区間不信頼度が一定: $Q_\text{approx1}(t)$においては$-F(\tau)$
  • 区間内の累積分布=区間不信頼度の差分: $Q_\text{approx2}(t)$においては$F(i\tau)-F((i-1)\tau)$

$\dagger Q_\text{approx2}(t)$において区間不信頼度($K_\text{MPF}$倍する前の修理度)は、 $$ \require{cancel} F(i\tau)-F((i-1)\tau)=\bcancel{1}-e^{-i\tau}-\bcancel{1}+e^{-(i-1)\tau}\\ =e^{-i\tau}\left(e^{\tau}-1\right)=-F(\tau)e^{-i\tau}=-F(\tau)R(i\tau) $$ 修理度の絶対値が$R(i\tau)$だけ次第に小さくなりますが、それを無視し$R(i\tau)\approx1$とすれば$Q_\text{approx1}(t)$と同じになります。

import numpy as np
import matplotlib.pyplot as plt
from functools import lru_cache

plt.rcParams['font.family'] = 'serif'
plt.rcParams['mathtext.rm'] = 'Times New Roman'
plt.rcParams['mathtext.fontset'] = 'cm'

# パラメータ設定
lambdaVal = 0.1  # 故障率
tau = 2    # 点検期間
K = 0.5    # 修復率
epsilon = 0.00001  # 不連続点の直前を示すために使用する小さい値

# 関数定義
def R(t):
    """信頼度関数"""
    return np.exp(-lambdaVal * t)

def F(t):
    """故障関数"""
    return 1 - R(t)

@lru_cache(maxsize=None)
def Q_n(t, n):
    """Q_nの再帰関数。結果をキャッシュする。"""
    if n == 0:
        return F(t)
    else:
        tau_n = n * tau
        tau_n_minus_1 = (n - 1) * tau
        return 

def Q_approx1(t):
    """tにおけるQ(t)の近似値を計算する関数"""
    u = t % tau
    return (1 - K) * F(t) + K * F(u)

# 定義された Q_approx2(t) を追加して描画します。

def Q_approx2(t, n):
    """tにおけるQ_approx2の近似値を計算する関数"""
    return F(t) - n * K * (F(t) - F(t - tau))
    
# グラフ描画
fontsize_axes_label = 24 * 1.2
fontsize_ticks = 16 * 1.2
fontsize_legend = 24 * 1.2

# グラフ描画
plt.figure(figsize=(18, 11))
# 軸(spines)の線幅を太くする
ax = plt.gca()  # 現在の軸を取得
spine_width = 2  # 軸の線幅
for spine in ax.spines.values():
    spine.set_linewidth(spine_width)

# 凡例用のダミープロット
plt.plot([], [], '-', label=r'$Q_{\mathrm{exact},n}(t)$ for $\lambda = 0.1$', color='black')
plt.plot([], [], '-', label=r'$Q_{\mathrm{approx1}}(t)$ for $\lambda = 0.1$', color='blue')
plt.plot([], [], '-', label=r'$Q_{\mathrm{approx2}}(t)$ for $\lambda = 0.1$', color='green')

# 不連続性を示すために各区間を個別にプロット
for i in range(10):
    start = i * tau
    end = (i + 1) * tau - epsilon
    t_vals = np.linspace(start, end, 200)
    Q_exact_vals = [Q_n(t, i) for t in t_vals[:-1]]  # 区間の最後の点を除外してプロット
    Q_approx1_vals = [Q_approx1(t) for t in t_vals[:-1]]
    Q_approx2_vals = [Q_approx2(t, i) for t in t_vals[:-1]]
    
    plt.plot(t_vals[:-1], Q_exact_vals, 'k-', lw=2.5)
    plt.plot(t_vals[:-1], Q_approx1_vals, 'b-', lw=2.5)
    plt.plot(t_vals[:-1], Q_approx2_vals, 'g-', lw=2.5)

    # 区間の終わりに白丸をプロット
    plt.plot(end, Q_n(end, i), 'o', mfc='white', mec='black', mew=2, markersize=8)
    plt.plot(end, Q_approx1(end), 'o', mfc='white', mec='black', mew=2, markersize=8)
    plt.plot(end, Q_approx2(end, i), 'o', mfc='white', mec='black', mew=2, markersize=8)

plt.xlabel('Time (t)', fontsize=fontsize_axes_label)
plt.ylabel(r'$Q(t)$', fontsize=fontsize_axes_label)
plt.xticks(np.arange(0, 11 * tau, tau), fontsize=fontsize_ticks)
plt.yticks(fontsize=fontsize_ticks)
legend = plt.legend(fontsize=fontsize_legend)
for handle in legend.legendHandles:
    handle.set_linewidth(2.5)  # ここで線の太さを指定    
plt.grid(True, color='gray', linestyle='-', linewidth=1.4)
plt.ylim(bottom=0)
plt.xlim(0, 10 * tau)
plt.subplots_adjust(left=0.14, bottom=0.14)
plt.show()

図%%.1
図877.1 3つのグラフ

このように、$Q_\text{exact}(t)$が最も正確な不稼働度(PUA)であり、上記$\dagger$のように修理度を大と近似すると$Q_\text{approx1}(t)$で下界となり、修理度を小と近似すると$Q_\text{approx2,n}(t)$で上界となることが分かります。


なお、本稿はRAMS 2025に投稿予定のため一部を秘匿しています。


左矢前のブログ 次のブログ右矢

posted by sakurai on September 26, 2024 #876

続きです。ChatGPTの出力を見やすく加工(キャンセル等)・修正しています。


次に、シグマの部分の式を解析的に簡約化し整理します。

$$ \require{cancel} \sum_{i=1}^{n} \left[ F(i\tau) - F\left( (i - 1)\tau \right) \right] \cdot R(t - i\tau) =\sum_{i=1}^{n} \left[ \bcancel{1}- R(i\tau) - \bcancel{1} +R\left( (i-1)\tau \right) \right] R(t - i\tau) $$

シグマ内の項を$R(t)$のメモリーレス性及び分配則を用いて展開します。

$$ R\left( (i-1)\tau \right) R(t - i\tau) - R(i\tau) R(t - i\tau)\\ = R\left((\bcancel{i}-1)\tau + t - \bcancel{i\tau} \right) - R\left(\bcancel{i\tau} + (t - \bcancel{i\tau}) \right)= R(t - \tau) - R(t) $$

シグマを展開すると、カッコ内は$i$には依存しないため$n$倍となります。

$$ \sum_{i=1}^{n} \left[ R\left( (i-1)\tau \right) - R(i\tau) \right] R(t - i\tau) = n R(t - \tau) - n R(t) $$

以上より、元のシグマの式は以下のように整理されます。

$$ A(t) = R(t) + K_{\text{MPF}}\sum_{i=1}^{n} \left[ F(i\tau) - F\left( (i - 1)\tau \right) \right] \cdot R(t - i\tau)= R(t) + nK_{\text{MPF}} \left[ R(t - \tau) - R(t) \right] $$

よって、$Q_\text{approx2}(t)$は、 $$ Q_\text{approx2}(t)= F(t) - n K_{\text{MPF}} \left[ F(t) - F(t - \tau) \right] $$

となります。

なお、本稿はRAMS 2025に投稿予定のため一部を秘匿しています。


左矢前のブログ 次のブログ右矢

posted by sakurai on September 25, 2024 #875

ChatGPTがバージョンアップして推論が強化されたようなので、早速PUAの導出を試しました。


連続修理の場合:

稼働度 $ A(t) $ は以下の式で表されます:

$$ A(t) = R(t) + \displaystyle \int_{0}^{t} m(x) \cdot R(t - x) \, dx $$

ここで、$ R(t) $ は時刻 $ t $ での信頼度、$ m(x) $ は時刻 $ x $ でのリニューアル密度です。

周期 $ \tau $ の定期修理の場合:

修理が周期的に時刻 $ x = i \tau $($ i = 1, 2, \dots, n$)で行われるため、リニューアル密度 $ m(x) $ はこれらの時刻でのディラックのデルタ関数の和として表されます:

$$ m(x) = \sum_{i=1}^{n} m_i \delta(x - i\tau) $$

ここで、$ m_i $ は各修理時刻での修理量であり、$ \delta(x - i\tau) $ は時刻 $ x = i\tau $ でのディラックのデルタ関数です。

この場合、稼働度 $ A(t) $ は次のように変形されます:

$$ \begin{align} A(t) &= R(t) + \int_{0}^{t} \left( \sum_{i=1}^{n} m_i \delta(x - i\tau) \right) \cdot R(t - x) \, dx \\ &= R(t) + \sum_{i=1}^{n} m_i \cdot R(t - i\tau) \end{align} $$

修理量の計算:

各修理時刻 $ i\tau $ での修理量 $ m_i $ は、検査区間内の故障の累積に比例し、次のように表されます:

$$ m_i = \int_{(i-1)\tau}^{i\tau} m(x) \, dx = K_{\text{MPF}} \left[ F(i\tau) - F\left( (i - 1)\tau \right) \right] $$

ここで、

  • $ K_{\text{MPF}} $ は定数、
  • $ f(x) $ は故障密度関数、
  • $ F(x) = \int_{0}^{x} f(u) \, du $ は累積分布関数です。

したがって、周期 $ \tau $ の定期修理の場合の稼働度は:

$$ A(t) = R(t) + \sum_{i=1}^{n} K_{\text{MPF}} \left[ F(i\tau) - F\left( (i - 1)\tau \right) \right] \cdot R(t - i\tau) $$

これにより、連続修理の場合の方程式が、定期修理の場合には離散的な和を含む形に変化し、$ m(x) $ も適切に考慮されます。


今回ChatGPTは各検査区間内の累積した不稼働度を上記のように不信頼度として差し引いています。以前の新方式の記事ではこのように不稼働度を用いましたが、ChatGPTの提案の不信頼度を用いると、どの程度誤差が出るかを見てみます。

なお、本稿はRAMS 2025に投稿予定のため一部を秘匿しています。


左矢前のブログ 次のブログ右矢


ページ: