robustnessと何か

学部3回生くらいのときに授業か何かで英語の論文を読んでた時に、Robustnessとその類義語である何かの意味と違いについて学びを得た。

robustnessは頑強性、つまりシステムの一部が壊れても、システム全体の動作を損なわない能力を意味する。 何かは堅牢性、そもそも壊れない能力を意味する。

ただ、その何かがどのような単語だったか思い出せない。*1 robustnessでシソーラスを引くと、healthとかstrengthとかでてくる。 そのどっちかかもしれないし、違うかもしれない。 さすがに、vitalityやpowerとかではなかった。 思い出せない。

考えてみれば、robustnessに似た単語は他にもある。 CAP定理のAを表すAvailability(可用性)とかがよく似てると思う。Availabilityはシステムが継続して稼働できる能力を意味する。 だいたい同じことを言ってる気がするけど、どう違うかがわからない。 上に書いたrobustnessの意味は情報工学限定の意味で、実際はもう少し広い意味で外的変化に作用されずに内部状態を維持するみたいな意味がある気がする。

ちなみに、robustnessを実現する技術の一つが冗長化で、RAIDとかデータベースのレプリケーションに相当する。 冗長化の他には、あまり詳しくないけど、生物の特性である縮退性だとかを用いたものがある。 robustnessかつhigh scalabilityなネットワークを構築するのに、生物ネットワークみたいなのが流行ってるらしい。 ノードが無数にあるようなシステムでないと、わざわざ生物モデルを導入する意味がないらしくて、先輩が困ってた気がする。

*1:durabilityだった。