Posts Tagged with "ISO 26262"

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

$Q(t)$とChatGPT (4)

posted by sakurai on July 25, 2023 #630

人間:

式変形を行います。まず$K_\text{MPF}$は定数であり、$\sum$の外に出せます。次に$F(\tau)$を$(1-R(\tau))$とし、そのカッコをはずします。これは展開とも言い、1の項と$\sum$の項をかけ、そこから$R(\tau)$の項と$\sum$の項をかけたものを引きます。$A(t)$を求めてください。

ChatGPT:

了解しました。与えられた指示に基づいて、稼働度 $A(t)$ の式を変形してみましょう。まず、定数 $K_\text{MPF}$ をシグマの外に出します。次に、不信頼度 $F(\tau)$を $1 - R(\tau)$ と置き換え、展開します。この結果、次のような式を得ます:

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

これをさらに整理すると、

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

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

となります。ただし、最後の等式では、すべての$i$ について $R(\tau)$ が一定であると仮定しました。

これは、時間 $t$ における稼働度$A(t)$ を表していますが、$R(t)$ の具体的な形状や特性によって、結果は大きく異なる可能性があります。


いくつか計算間違いがあるようです。さらに元々$A(t)$の式は正しくないことに注意。


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

$Q(t)$とChatGPT (3)

posted by sakurai on July 24, 2023 #629

人間:

本来不信頼度は時刻$i\tau$までに$F(i\tau)$です。ところが、$(i−1)\tau$時点ですべて修理されているため、各区間先頭の$i\tau$ではゼロにリセットされます。 従って、時刻を$−(i−1)\tau$だけ移動すると、$F(iτ−(i−1)\tau)=F(\tau)$となります。

ChatGPT:

なるほど、それぞれの修理周期が始まるときに不信頼度がリセットされるのであれば、不信頼度は周期的に変動することになります。すなわち、各修理インターバルの開始時点では不信頼度はゼロにリセットされ、その後一定の速度で増加し、次の修理時点までに $F(\tau)$ になります。この条件を反映するために、稼働度 $A(t)$ の式を以下のように書き直すことができます:

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

ここで $F(\tau)$ は各修理インターバルの終了時点での不信頼度を表します。また、信頼度 $R(t)$ の更新も各修理インターバルの開始時点で行われると仮定しました。

これは、各修理インターバルが互いに独立していて、それぞれのインターバルの開始時点でシステムが新品同様の状態に戻る(つまり、不信頼度がゼロにリセットされる)という仮定に基づいています。


  • 各検査周期において、不信頼度がゼロリセットされるため、区間での不信頼度は$F(\tau)$となるが、それを導出させることは困難であったため、結果を与えた。
  • $A(t)$の式は正しくないことに注意。

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


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

$Q(t)$とChatGPT (2)

posted by sakurai on July 21, 2023 #628

人間:

ここで、$m(iτ)$は時刻$i\tau$における修理率です。修理率は、不信頼度×検出率と書き換えられます。検出率は2nd SMの能力で決まるとして、一定値$K_\text{MPF}$とします。検出した分は全て修理される原則です。不信頼度は$F(t)$です。以上から$A(t)$を書き直してください。

ChatGPT:

了解しました。修理率 $m(i\tau)$ が不信頼度 $F(t)$ と一定の検出率 $K_\text{MPF}$ の積とすると、$m(i\tau) = F(i\tau) \cdot K_\text{MPF}$ と表現できます。これを稼働度 $A(t)$ の方程式に代入すると、以下のようになります:

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

ここで、検出率 $K_\text{MPF}$ は2nd SMの能力に基づく一定の値です。また、不信頼度 $F(t)$ と信頼度 $R(t)$ は通常、$F(t) = 1 - R(t)$ の関係にあるとされますが、これはシステムや状況により変わる可能性があるため、具体的な数値を求める際にはこの関係性を確認する必要があります。


$A(t)$の式は正しくないことに注意。後で指摘します。


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

$Q(t)$とChatGPT

posted by sakurai on July 20, 2023 #627

ここからは、手引きをしてやれば、ChatGPTが(626.5)と同じ不稼働度$Q(t)$の式を導出できるかを検証します。

人間:

以下は稼働度の方程式です。 $$ A(t) = R(t) + \int_{0}^{t} m(x) \cdot R(t-x) \, dx $$ ここで、$ A(t) $ は時刻 $ t $ での稼働度(Availability)、$R(t) $ は時刻 $ t$ での信頼度(Reliability)、$ m(x) $は連続時刻 $x $ におけるリニューアル密度を表します。 一方、修理は$\tau$毎で、時刻$t$までに修理は$n$回あるとします。この場合、積分は離散時間に変化し、$x=i\tau, i=1, 2...$となります。
連続修理の場合の$A(t)$の方程式をまず示し、これが離散時間での周期$\tau$の定期修理の場合に、$A(t)$がどのように変わるかを、それぞれLatexのdisplaystyleで示してください。

ChatGPT:

すみません、ご指示を理解しました。以下が独立形式の数式となります:

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

次に、周期 $\tau$ の定期修理がある離散時間の場合、稼働度 $A(t)$ の方程式は少し複雑になります。ここで、$x = i\tau, \ i = 1, 2, \ldots$ という関係が成り立ちます。連続時間を離散時間に適用すると、積分は差分の和(つまり、リーマン和)になります。修理の影響を考慮に入れると、以下のような方程式を考えることができます:

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

ただし、$n$ は時刻 $t$ までの修理の回数で、この場合の離散時間モデルでは、リニューアル密度 $m(i\tau)$ が特定の時間点 $i\tau$ で定義されています。

ただし、これらの方程式は非常に一般的な表現であり、特定の信頼度関数 $R(t)$ やリニューアル密度 $m(x)$ によって、結果は大きく異なる可能性があります。これらの方程式をさらに詳しく分析するには、$R(t)$ や $m(x)$ の具体的な形状や特性を考慮に入れる必要があります。


$A(t)$の式は$\color{red}{\tau}\sum_{i=1}^{n} m(i\tau)$の赤字部分が正しくないことに注意。ただしこれは指示が良くないせいであり、ChatGPTは指示した積分を実行しています。


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

Point unavailability $Q(t)$ (3)

posted by sakurai on July 19, 2023 #626

本ブログでは5年ほど前に初出の記事を掲載した後この記事から5本に渡り$Q(t)$について記載しました。

中でも初出の記事は計算過程を示しています。ここでは(59.5)から(59.6)への導出には説明がなかったのでここで解説します。再掲すれば、(626.1)から(626.4)への導出です。まずA(t)は、

$$ A(t):=R(t)+\int_0^t m(x)R(t-x)dx\tag{626.1} $$

ここで$m(x)$はリニューアル密度と呼ばれますが、その時間積分した$M(x)$は時刻$x$までに故障した分について検査・修理した分であり、2つの要素が掛けられています。つまり検査率を$K_\text{SM,MPF}$(const.)、故障した分を$F_\text{SM}(x)$としたとき、検査・修理は連続時間ではなく定期的、すなわち離散的に実行されるため、修理時刻$x$は、$x=i\tau,\ i=1, 2, 3,...$という飛び飛びの値をとります。

故障した時刻に無関係に修理は行われます。これは故障する確率に関わらず、検査・修理時には検査可能な故障は全て修理されるためです。ということは前回の修理時には検査可能な故障=不信頼度はゼロになるはずで、検査周期=$\tau$においては不信頼度は$F_\text{SM}(\tau)$(const.)となります。よって、$M(x)$は $$ M(i\tau)=\int_0^\tau m(x)dx=K_\text{SM,MPF}\int_0^\tau f(x)dx=K_\text{SM,MPF}F_\text{SM}(\tau),\ \ i=1, 2, ...\tag{626.2} $$ のようにconst.となります。そして、離散的な関数の積分はシグマに置き換えられるため、 $$ \int_0^t m(x)R(t-x)dx=K_\text{SM,MPF}F_\text{SM}(\tau)\sum_{i=1}^{n}R(t-i\tau) \tag{626.3} $$ となります。これらを(626.1)に代入すれば、

$$ A_\text{SM}(t)=R_\text{SM}(t)+K_\text{SM,MPF}F_\text{SM}(\tau)\sum_{i=1}^{n}R_\text{SM}(t-i\tau)\tag{626.4} $$ が得られます。$Q(t)$に書き換えれば、 $$ Q_\text{SM}(t)=F_\text{SM}(t)-K_\text{SM,MPF}F_\text{SM}(\tau)\sum_{i=1}^{n}R_\text{SM}(t-i\tau)\\ =\img[-1.35em]{/images/withinseminar.png},\ \ s.t.\ \ u\equiv t-n\tau=t-\lfloor\frac{t}{\tau}\rfloor\tau \tag{626.5} $$ が得られます。さらにこれを時間$t$微分したものが弊社命名のPUD(Point Unavailability Density)であり

$$ q(t)=\img[-1.35em]{/images/withinseminar.png} $$ となり、この車両寿命間の時間平均こそがPMHFとなるわけです。 $$ M_\text{PMHF}\equiv\frac{1}{T_\text{lifetime}}\int_0^{T_\text{lifetime}}q(t)dt=\frac{1}{T_\text{lifetime}}Q(T_\text{lifetime}) $$ なお、本稿はRAMS 2025に投稿予定のため一部を秘匿しています。


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

Point unavailability $Q(t)$ (2)

posted by sakurai on July 18, 2023 #625

本論文中には様々なPMHF導出のアプローチを紹介していますが、その中で4.3 Unavailability Approachという章があります。弊社ではまさにこのUnavailabilityに注目してPMHFを導出しています。

Unreliabilityすなわち$F(t)$で表す不信頼度が時刻$t$までに故障せず、$t$において初めて故障する確率を表すのに対して、Unavailabilityすなわち$Q(t)$で表す不稼働度は、時刻$t$における不稼働率を示します。まず稼働率は以下の式で表されます。

稼働率=(時刻$t$までに故障しなかった確率) または (時刻$x$までに故障したが、時刻$x$で修理され、かつ時刻$t$までに故障しなかった確率)

これを数式で書けば、稼働率は

$$A(t)=R(t)+\int_0^t m(x)R(t-x)dx$$

と表されます。一方、不稼働率は1から稼働率を引いた確率であるため、

$$Q(t)=F(t)-\int_0^t m(x)R(t-x)dx$$

と表されます。不稼働率は$t$までに故障した確率から修理分だけ少なくなります。

端的に言えば、$F(t)$は非修理系サブシステムに用いられ、$Q(t)$は修理系サブシステムに用いられます。ここでサブシステムとは主機能(IF)に何らかの1st SMあるいは2nd SMが組み合わされているサブシステムです。

上記論文の2.2には、

2.2 Failure Distribution Function
Random hardware faults of E/E systems are determined according to the exponential distribution. According to ISO 26262 these systems are non-repairable. Thereby the failure rate $\lambda$ is considered as constant [7].

(日本語訳)
2.2 故障分布関数
E/Eシステムのランダムハードウェア故障は指数分布に従って決定される。ISO 26262によると、これらのシステムは修復不可能である。したがって、故障率$\lambda$は一定とみなされる[7]。

とありますが、ISO 26262は修理系が前提であるため明らかに誤りです。さらに、システムは修復不可能であるから故障率$\lambda$が一定とみなされるような記述がありますが、そうではなく、指数分布だから故障率$\lambda$が一定なのです。

さらに、論文の4.3にも

4.3 Unavailability Approach
The PMHF value will be low in comparison to the ISO 26262 approach and can vary by several orders of magnitude. As described in section 3.2, the modeling of RFs and dormant SPFs has to be done according to F(t), not Q(t). For this reason, this approach is not valid.

(日本語訳)
4.3 不稼働率アプローチ
PMHFの値はISO 26262のアプローチと比較すると低く、数桁異なる可能性がある。3.2節で述べたように、RFと休止SPFのモデリングはQ(t)ではなくF(t)に従って行われなければならない。このため、このアプローチは有効ではない。

と記載されていますが、これも逆です。ISO 26262は修理系が前提であるため、$F(t)$ではなく$Q(t)$を用いなければなりません。

この論文だけでなく、他のほとんどの論文がここを誤っていますが、それにはいくつか理由があります。規格初版に導出過程があまり書かれていなかったこともありますが、第2版にはPart 10 8.4に導出過程が記載されているものの、却って誤解を受けそうな記述があります。

The following shows the derivation of the average probability of failure per hour over the operational lifetime of the item regarding single point faults.

(日本語訳)
以下は、一点故障に関するアイテムの運転寿命期間中の時間当たりの平均故障確率の導出を示す。

この後にPMHFの導出過程が続きます。この中でPMFHは$F(t)$で表されるとあります。これはDPFを無視していることを意味します。LFを無視しており、つまり修理を無視しています。

本文中に"regarding single point faults"とあるので、単一故障でVSGとなる場合について述べており修理を無視して良いのですが、これが数式の前提だという誤解の元になります。しかしながら規格には明示されているので、これは規格の問題ではありません。

誤解されないようにDPFの場合の導出を明示するほうが良いのですが、規格には書かれてないため、弊社論文を参照するしかありません。


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

Point unavailability $Q(t)$

posted by sakurai on July 17, 2023 #624

2025年の論文のテーマはQ(t)(Point unavailability)を考えていますが、論文を渉猟したところ、Cyclisation of Safety Diagnoses: Influence on the Evaluation of Fault Metricsというものを見つけました。これはPMHFの導出についていろいろなアプローチを検討しているものであり、非常に興味深い論文です。

ところが、最初のほうを見ていくと、

2.2 Failure Distribution Function
Random hardware faults of E/E systems are determined according to the exponential distribution. According to ISO 26262 these systems are non-repairable. Thereby the failure rate λ is considered as constant [7]. The unit of λ is Failure In Time (FIT) which is the number of failures in $10^9$ device-hours of operation. The related probability density function is:

(日本語訳)
2.2 故障分布関数
E/Eシステムのランダムなハードウェアフォールトは、指数分布に従って決定される。ISO 26262によると、これらのシステムは修復不可能である。そのため、故障率λは一定とみなされる[7]。λの単位はFIT(Failure In Time)であり、これは$10^9$デバイス稼働時間中の故障数である。関連する確率密度関数は:

既にここに誤りがあります。ISO 26262には明確に、修理の話が書かれています。例えば規格Part 10 8.3.2.3において、

Pattern 2
A fault in SM1 is mitigated and notified by SM2. The exposure duration of the fault is taken as the expected time required for the driver to take the vehicle in for repair.

(日本語訳)
パターン2
SM1のフォールトは SM2によって緩和され、通知される。フォールトの露出時間は、運転手が車両を修理に出すのに必要な予想時間とされる。

SM1が故障してその後に修理される、つまりSM1はrepairableであることを述べています。ダイレクトにSM1はrepairableと記述されていないため、分からなかったのかもしれません。

ここで述べられているパターン1~4はDPFのパターンです。上記パターン2は、故障順序はSM1⇒IFの順です。Pattern 2においてSM1のフォールトをSM2が検出できない場合LFになりますが、SM2はLF防止のためのSMです。Pattern 2ではSM2によりSM1のフォールトが防止され、ドライバーに通知され、ドライバーは車両を修理工場に運びます。

規格には修理工場の後の話が書かれていませんが、修理時間ゼロで修理される仮定となっています。このことは記述されていませんが、露出時間は修理工場搬入で終わることおよび、PMHFの公式から推定されるPMHF導出仮定のひとつです。


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

ChatGPTとPMHFの問答 (15)

posted by sakurai on July 14, 2023 #623

いきなり核心の質問をしたのは少々無理だったようなので、ヒントを与えます。

人間:

ISO 26262において、VSGに必要なのは2つまでのフォールトであるということを用います。

ChatGPT:

その通りです、私の説明が不適切でした。ISO 26262では、システムが安全であることを証明するために、通常は最大2つの故障までを考慮します。これは、3つ以上の故障が同時に発生する確率は非常に低いと考えられるためです。

2nd SMが故障しないことを証明するためには、システムが危険な状態(VSG)になるためには、通常、2つの故障が必要であるという事実を利用します。つまり、1st SMが故障し(これが1つ目の故障)、その後にIFが故障する(これが2つ目の故障)というシナリオを考えます。

このシナリオでは、2nd SMが故障するという3つ目の故障は考慮されません。したがって、2nd SMが故障しないという前提は、ISO 26262の範囲内で合理的であると言えます。

人間:

正解です。

ありがとうございます。ISO 26262の規定とその背後にある理論についての理解が深まりました。他に何か質問がありましたら、お気軽にどうぞ。


見事に弊社の発見した定理を(SM⇒IFの一例について)証明しました。ただし、この証明は全てのシナリオを証明したものでは有りません。全ての関係するシナリオに分解させ、各々について聞いていくと誤った回答をするため、ChatGPTはこの定理を完全に理解しているというわけではないようです。


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

ChatGPTとPMHFの問答 (14)

posted by sakurai on July 13, 2023 #622

人間:

IFはIntended functionalityです。

ChatGPT:

すみません、その通りです。IFはIntended Functionalityの略で、システムが意図された機能を適切に実行することを指します。これはシステムが正常に動作するための基本的な要素で、IFが故障するとシステム全体の性能に影響を及ぼします。IFはシステムの主要な機能を担当し、その正確な動作がシステムの全体的な性能と安全性に直接関わります。

人間:

2nd SMは故障しないことを証明してください。

ChatGPT:

2nd SM(Second Safety Mechanism)が故障しないことを証明するためには、その設計、実装、テスト、そして運用におけるさまざまな要素を考慮する必要があります。以下に、その証明に必要な主要なステップを示します:

  1. 堅牢な設計:
    2nd SMは、堅牢な設計原則に基づいて設計されるべきです。これには、冗長性、分散化、障害許容性などの原則が含まれます。これらの原則は、単一の故障がシステム全体の故障につながらないようにするためのものです。

  2. 厳格なテスト:
    2nd SMは、厳格なテストプロセスを経るべきです。これには、単体テスト、統合テスト、システムテスト、そして適用テストが含まれます。これらのテストは、2nd SMが設計通りに機能し、予期しない故障が発生しないことを確認するためのものです。

  3. 定期的な保守と検査:
    2nd SMは、定期的に保守と検査を受けるべきです。これにより、潜在的な問題を早期に検出し、修正することができます。

  4. 故障モードと効果分析(FMEA):
    2nd SMの可能な故障モードとその効果を詳細に分析します。これにより、それぞれの故障モードが発生した場合の影響を理解し、適切な対策を講じることができます。

これらのステップを通じて、2nd SMが故障しないことを証明することができます。ただし、完全な故障のないシステムを証明することは困難であり、目標は故障の可能性を最小限に抑えることであるべきです。


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

ChatGPTとPMHFの問答 (13)

posted by sakurai on July 12, 2023 #621

次に2nd SMは故障しないという、弊社の発見した定理を証明させます。まず準備として用語の定義を確認します。

人間:

IF, 1st SM, 2nd SMの役割をそれぞれ説明してください。

ChatGPT:

IF、1st SM、2nd SMは、一般的に複雑なシステムの安全性を確保するための重要な要素です。それぞれの役割は以下の通りです:

  1. IF(Item Function):
    これはシステムの主要な機能を担当します。例えば、自動車の場合、エンジンの制御、ブレーキの操作、ステアリングの制御などがIFに該当します。IFはシステムが正常に機能するための基本的な要素であり、これが故障するとシステム全体の性能に影響を及ぼします。

  2. 1st SM(First Safety Mechanism):
    これはIFの故障を検出し、適切な対策を講じる役割を果たします。1st SMは通常、IFと密接に連携して動作し、IFの異常を検出するとシステムを安全な状態に保つための措置を実行します。例えば、自動車のエンジン制御システムが故障した場合、1st SMはエンジンを停止させる、パワーを制限する、警告灯を点灯するなどの対策を講じることができます。

  3. 2nd SM(Second Safety Mechanism):
    これは1st SMが故障した場合、または1st SMがIFの故障を検出できなかった場合に備えて存在します。2nd SMは1st SMとは独立して動作し、1st SMが機能しない場合でもシステムの安全性を確保する役割を果たします。2nd SMは通常、定期的な自己診断機能を持ち、1st SMの故障やレイテントフォールトを検出することができます。

これらの要素は、それぞれ異なる役割を果たしながらも、連携してシステムの安全性を確保します。


IFの名前がちょっと違っているようです。


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


ページ: