Просто - не всегда надежно

Есть у меня посудомоечная машинка. Самая простая от известного турецкого производителя. И вот случилась с ней поломка - стала срабатывать постоянно система защиты от протечек. Решил разобраться в ситуации - почитал форумов, порылся в документации и понял, что вариантов может быть с десяток, поэтому лучше обратиться к мастеру. Нашел хорошего специалиста и сегодня пол дня с ним мучали несчастную потекшую труженицу.
Далее сказ про простые системы и обработку пограничных состояний.
Машинка оказалась очень барабанной. На входе подачи воды стоит герконовый датчик на подобии счетчика на воду, который отдает контроллеру кол-во залитой в бак воды. А вот на сливе же не стоит ничего считающего кол-во слитой воды. Выходит, что весь процесс это тупая последовательная программа, в которой слив считается по времени и/или до отключения сливной помпы. Система аквастоп же в случае обнаружений протечки, буквально: пенопластовым поплавком давит на кнопку принудительного слива. Всё! Просто и хотелось бы сказать элегантно, но нет. В помпа начала клинить крыльчкатка из-за чего происходила сработка механизма защиты самой помпы и она аварийно отключалась, что, неожиданно, приводило контролер в состояние готовности к следующему шагу... А шаг этот набор воды. Итого машинка сама себя переливала, лишнее выливала в поддон, поплавок всплывал и принудительно включал слив, крыльчатку клинило и все по кругу.
В чем тут ошибка? В том, что контроллер не знал фактический объем слитой воды. Решить эту проблему можно было бы удорожанием производства машинки долларов на 15. Да и замена помпы вышла в тужу сумму. Но эта ситуация может нас очень хорошо научить тому, как нужно тестировать системы в пограничных состояниях. Как поведет себя ваша ИС, если физически будет недоступен такой сервис или часть инфраструктуры станет доступна только на чтение, или еще какая-то дичь? Существует такой паттерн стресс тестирования - chaos monkey. Суть которого сводится именно к случайному и нештатному выведению из строя неожиданных компонентов в рабочем контуре вашей ИС.
Это все кажется избыточным ибо в "моем" случае система же простая, тут нечему ломаться... Ага, как в моей посудомоечной машинке! Все же просто и банально сделано, что могло пойти не так?
Забавный факт, что в следующей ревизии этой модели, наши турецкие друзья таки добавили этот незначительный датчик на выходе. Вероятно не я один столкнулся с таким поведением этой модели. А могли бы проверить это состояние не на клиентах.
Некоторые подходы кажутся всегда избыточными, сложными и ненужными. Но на самом деле здравое зерно есть даже в самых диких идеях, просто не факт, что эти идеи легко и понятно можно натянуть на общие сценарии. А хаос инжениринг - практика отличная, знаю несколько банков, кто затащил и стал стабильнее и надежнее через несколько лет применения. Буду думать о практическом внедрении в ближайшем будущем.