Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠœΠΈΡ„Ρ‹ ΠΎ бСзопасном ПО: ΡƒΡ€ΠΎΠΊΠΈ Π·Π½Π°ΠΌΠ΅Π½ΠΈΡ‚Ρ‹Ρ… катастроф». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 2

Автор Π’Π°Π»Π΅Ρ€ΠΈΠΉ АдТиСв

* ошибка Β«Operand ErrorΒ» ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ΠΈΠ·-Π·Π° Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ большой Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ BH (Horizontal Bias Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°ΠΊΠ»ΠΎΠ½), посчитанной Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π½Π° основании Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ Β«Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ скорости», ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠΉ находящимися Π½Π° ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ. Π’Π΅Π»ΠΈΡ‡ΠΈΠ½Π° BH слуТила ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ точности позиционирования ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹;

* Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° BH оказалась ΠΌΠ½ΠΎΠ³ΠΎ большС, Ρ‡Π΅ΠΌ оТидалось ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ траСктория ΠΏΠΎΠ»Π΅Ρ‚Π° Ariane 5 Π½Π° Ρ€Π°Π½Π½Π΅ΠΉ стадии сущСствСнно ΠΎΡ‚Π»ΠΈΡ‡Π°Π»Π°ΡΡŒ ΠΎΡ‚ Ρ‚Ρ€Π°Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΠΎΠ»Π΅Ρ‚Π° Ariane 4 (Π³Π΄Π΅ этот ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ использовался Ρ€Π°Π½Π΅Π΅), Ρ‡Ρ‚ΠΎ ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ высокой Β«Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ скорости».

Π€ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΆΠ΅ дСйствиСм, имСвшим Ρ„Π°Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ послСдствия, стало ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ процСссора; соотвСтствСнно, вся авигационная БистСма пСрСстала Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π’ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΆΠ΅ Π΅Π΅ дСйствия оказалось тСхничСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ всю эту Ρ†Π΅ΠΏΡŒ событий ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ воспроизвСсти с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ³ΠΎ модСлирования, Ρ‡Ρ‚ΠΎ Π²ΠΊΡƒΠΏΠ΅ с ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… исслСдований ΠΈ экспСримСнтов ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ; ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΈ ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²Π° катастрофы ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ выявлСны.

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΈ истоки Π°Π²Π°Ρ€ΠΈΠΈ

ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго прослСдим, ΠΎΡ‚ΠΊΡƒΠ΄Π° взялось ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠΈ послС Π²Π·Π»Π΅Ρ‚Π° Ρ€Π°ΠΊΠ΅Ρ‚Ρ‹.

ΠžΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡ, ΠΎΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π·Π°Π»ΠΎΠΆΠ΅Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π·Π° 10 Π»Π΅Ρ‚ Π΄ΠΎ Ρ€ΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ события, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ Π΅Ρ‰Π΅ Ρ€Π°Π½Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ сСрии Ariane. ΠŸΡ€ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ (вСсьма маловСроятном!) Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠΈ событий Π²Π·Π»Π΅Ρ‚ ΠΌΠΎΠ³ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΌΠ΅Π½Π΅Π½ Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π·Π° нСсколько сСкунд Π΄ΠΎ старта, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ΅ H0-9 сСк., ΠΊΠΎΠ³Π΄Π° Π½Π° IRS запускался Β«ΠΏΠΎΠ»Π΅Ρ‚Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌΒ», ΠΈ H0-5 сСк., ΠΊΠΎΠ³Π΄Π° Π²Ρ‹Π΄Π°Π²Π°Π»Π°ΡΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Ρ€Π°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΌ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Π’ случаС Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΠΉ ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ Π²Π·Π»Π΅Ρ‚Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±Ρ‹Π»ΠΎ быстро Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π² Ρ€Π΅ΠΆΠΈΠΌ Β«ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ отсчСта» (countdown) ΠΈ ΠΏΡ€ΠΈ этом Π½Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ сначала всС установочныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Π² Ρ‚ΠΎΠΌ числС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊ исходному полоТСния Π˜Π½Π΅Ρ€Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ (опСрация, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π°Ρ 45 ΠΌΠΈΠ½. врСмя, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ Β«ΠΎΠΊΠ½ΠΎ запуска»).

Π‘Ρ‹Π»ΠΎ обосновано, Ρ‡Ρ‚ΠΎ Π² случаС события ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ старта ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Π² 50 ΡΠ΅ΠΊ. послС H0-9 Π±ΡƒΠ΄Π΅Ρ‚ достаточным для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Π·Π΅ΠΌΠ½ΠΎΠ΅ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ смогло Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π·Π° Π˜Π½Π΅Ρ€Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π° это врСмя ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ Π½Π°Ρ‡Π°Π²ΡˆΠ΅Π΅ΡΡ Π±Ρ‹Π»ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅, Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ всю ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π΅Π΅ состоянии зафиксируСт, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π΅Π΅ Π² исходноС ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Π½Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ, Ρ‡Ρ‚ΠΎ всС это Π² случаС, ΠΊΠΎΠ³Π΄Π° Ρ€Π°ΠΊΠ΅Ρ‚Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π° мСстС старта). И Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹, Π² 1989 Π³., ΠΏΡ€ΠΈ стартС ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 33 Ρ€Π°ΠΊΠ΅Ρ‚Ρ‹ Ariane 4, эта ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π±Ρ‹Π»Π° с успСхом задСйствована.

Однако, Ariane 5, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΈΠΌΠ΅Π» ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Π΄Ρ€ΡƒΠ³ΡƒΡŽ дисциплину выполнСния ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π΅Ρ‚Π½Ρ‹Ρ… дСйствий Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Ρ€ΡƒΠ³ΡƒΡŽ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° Ρ€ΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля послС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ старта Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΠΈΠΌΠ΅Π»Π° смысла. Однако, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ использовался Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΉ Π²ΠΈΠ΄ΠΈΠΌΠΎ ΠΈΠ·-Π·Π° нСТСлания ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², Π±Ρ‹Π»ΠΎ Π±Ρ‹ странно, Ссли Π±Ρ‹ Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Π°Ρ ошибка пСрСполнСния (Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½Π° ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π°) Π±Ρ‹Π»Π° Π±Ρ‹ ΡΡ‚ΠΎΠ»ΡŒ Ρ„Π°Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ, Ρ‡Ρ‚ΠΎ с Π½Π΅ΠΉ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΡ€ΠΎΡ‚ΡŒΡΡ. ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ (написанный Π½Π° Ρ‚Π°ΠΊΠΎΠΌ оснащСнном всСми Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ для обСспСчСния надСТности срСдствами языкС, ΠΊΠ°ΠΊ Ада) оказался Π½Π΅Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Ρ‹ΠΌ Π΄ΠΎ Ρ‚Π°ΠΊΠΎΠΉ стСпСни, Ρ‡Ρ‚ΠΎ наступили ΡΡ‚ΠΎΠ»ΡŒ катастрофичСскиС послСдствия?

РасслСдованиС ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎ, Ρ‡Ρ‚ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ присутствовало Ρ†Π΅Π»Ρ‹Ρ… сСмь ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π²ΠΎΠ²Π»Π΅Ρ‡Π΅Π½Π½Ρ‹Ρ… Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ прСобразования Ρ‚ΠΈΠΏΠΎΠ². Оказалось, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΈΠ· всСх ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, способных ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Π½Π° ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ. И это Π±Ρ‹Π»ΠΎ ΠΈΡ… Π²ΠΏΠΎΠ»Π½Π΅ ΡΠΎΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΡƒΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΊ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ, Π° Ρ‚Ρ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ BH, ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π΅Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΌΠΈ. ОснованиСм для Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π±Ρ‹Π»Π° ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ для этих Ρ‚Ρ€Π΅Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ ситуации пСрСполнСния Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅. Π£Π²Π΅Ρ€Π΅Π½Π½ΠΎΡΡ‚ΡŒ эта Π±Ρ‹Π»Π° ΠΏΠΎΠ΄ΠΊΡ€Π΅ΠΏΠ»Π΅Π½Π° расчСтами, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ, Ρ‡Ρ‚ΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ физичСских ΠΏΠΎΠ»Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π½Π° основании ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ упомянутых ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΎΠ², Ρ‡Ρ‚ΠΎ ΠΊ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ситуации привСсти Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚. И это Π±Ρ‹Π»ΠΎ Π²Π΅Ρ€Π½ΠΎ Π½ΠΎ для Ρ‚Ρ€Π°Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, рассчитанной для ΠΌΠΎΠ΄Π΅Π»ΠΈ Ariane 4. А Ρ€Π°ΠΊΠ΅Ρ‚Π° Π½ΠΎΠ²ΠΎΠ³ΠΎ поколСния Ariane 5 стартовала ΠΏΠΎ совсСм Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚Ρ€Π°Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΎΡ†Π΅Π½ΠΎΠΊ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΎΡΡŒ. ΠœΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΌ ΠΎΠ½Π° (Π²ΠΊΡƒΠΏΠ΅ с высоким Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ ускорСниСм) Π±Ρ‹Π»Π° Ρ‚Π°ΠΊΠΎΠ²Π°, Ρ‡Ρ‚ΠΎ Β«Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Π°Ρ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΒ» ΠΏΡ€Π΅Π²Π·ΠΎΡˆΠ»Π° Ρ€Π°ΡΡ‡Π΅Ρ‚Π½ΡƒΡŽ (для Ariane 4) Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π² ΠΏΡΡ‚ΡŒ Ρ€Π°Π·.

Но ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΆΠ΅ Π½Π΅ Π±Ρ‹Π»Π° (ΠΏΡƒΡΡ‚ΡŒ Π² порядкС пСрСстраховки) обСспСчСна Π·Π°Ρ‰ΠΈΡ‚Π° для всСх сСми, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ BH, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…? ΠžΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡ, для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° IRS Π±Ρ‹Π»Π° ΠΏΡ€ΠΎΠ΄Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π° максимальная Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² 80 %, ΠΈ поэтому Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΏΡƒΡ‚ΠΈ сниТСния ΠΈΠ·Π»ΠΈΡˆΠ½ΠΈΡ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·Π΄Π΅Ρ€ΠΆΠ΅ΠΊ. Π’ΠΎΡ‚ ΠΎΠ½ΠΈ ΠΈ ослабили Π·Π°Ρ‰ΠΈΡ‚Ρƒ Ρ‚Π°ΠΌ, Π³Π΄Π΅ тСорСтичСски Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ситуации Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ ΠΌΠΎΠ³Π»ΠΎ. Когда ΠΆΠ΅ ΠΎΠ½Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π°, Ρ‚ΠΎ вступил Π² дСйствиС Ρ‚Π°ΠΊΠΎΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ситуации, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ оказался ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½Ρ‹ΠΌ.

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ прСдусматривал ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Ρ€ΠΈ основных дСйствия. ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, информация ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ Π½Π΅ΡˆΡ‚Π°Ρ‚Π½ΠΎΠΉ ситуации Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π° ΠΏΠΎ шинС Π½Π° Π±ΠΎΡ€Ρ‚ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ OBC; ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ½Π° вмСстС со всСм контСкстом Π·Π°ΠΏΠΈΡΡ‹Π²Π°Π»Π°ΡΡŒ Π² ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ EEPROM (ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²ΠΎ врСмя расслСдования ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΡ‡Π΅ΡΡ‚ΡŒ Π΅Π΅ содСрТимоС), ΠΈ Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Ρ€Π°Π±ΠΎΡ‚Π° процСссора IRS Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Π»Π° Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒΡΡ. ПослСднСС дСйствиС ΠΈ оказалось Ρ„Π°Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ΠΎ, ΡΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ΅Π΅ΡΡ Π² ситуации, которая Π½Π° самом Π΄Π΅Π»Π΅ Π±Ρ‹Π»Π° Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ (нСсмотря Π½Π° сгСнСрированноС ΠΈΠ·-Π·Π° Π½Π΅Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ пСрСполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅), ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ катастрофС.

ΠžΡΠΌΡ‹ΡΠ»Π΅Π½ΠΈΠ΅

ΠŸΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π΄ΡˆΠ°Ρ с Ariane 5 катастрофа ΠΈΠΌΠ΅Π»Π° ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ большой рСзонанс ΠΈ ΠΏΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ бСспрСцСдСнтных ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΡ‚Π΅Ρ€ΡŒ, ΠΈ вслСдствиС ΠΎΡ‡Π΅Π½ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ расслСдования, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΠΎΠ²Π°Π²ΡˆΠ΅Π³ΠΎΡΡ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² (Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ такая ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° публичности Π±Ρ‹Π»Π° ΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π½Π° ΠΏΡ€ΠΈ расслСдовании ΠΏΡ€ΠΈΡ‡ΠΈΠ½ Π°Π²Π°Ρ€ΠΈΠΈ космичСского корабля Challenger 1986 Π³.). Π‘Ρ€Π°Π·Ρƒ стало ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½ΠΎΠΌΡƒ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ суТдСно Π²ΠΎΠΉΡ‚ΠΈ Π² ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ космонавтики, Π½ΠΎ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π΅ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ авария послуТила ΠΏΠΎΠ²ΠΎΠ΄ΠΎΠΌ для ΠΎΠΆΠΈΠ²Π»Π΅Π½Π½ΠΎΠΉ дискуссии, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ приняли участиС ΠΌΠ½ΠΎΠ³ΠΈΠ΅ извСстныС спСциалисты.

Π–.-М. Π–Π΅Π·Π΅ΠΊΠ΅Π»ΡŒ (J.-M. Jezequel) ΠΈ Π‘. ΠœΠ΅ΠΉΠ΅Ρ€ (B.Meyer)[3] ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΊ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠΌΡƒ Π²Ρ‹Π²ΠΎΠ΄Ρƒ: допущСнная (ΠΈ Ρ‚Π°ΠΊ ΠΈ Π½Π΅ выявлСнная) программная ошибка носит, ΠΏΠΎ ΠΈΡ… мнСнию, чисто тСхничСский Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ ΠΈ корСнится Π² Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ПО. Π‘ΠΎΠ»Π΅Π΅ точная Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ°: Ρ€ΠΎΠΊΠΎΠ²ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ сыграло отсутствиС Ρ‚ΠΎΡ‡Π½ΠΎΠΉ спСцификации ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ-ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ модуля.

РасслСдованиС ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅, ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‰Π΅Π΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ BH (Π²ΠΌΠ΅Ρ‰Π°ΡŽΡ‰ΡƒΡŽΡΡ Π² 16 Π±ΠΈΡ‚ΠΎΠ²), ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ с большим Ρ‚Ρ€ΡƒΠ΄ΠΎΠΌ: ΠΎΠ½ΠΎ Π·Π°Ρ‚Π΅Ρ€ΡΠ»ΠΎΡΡŒ Π² прилоТСниях ΠΊ основному спСцификационному Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ. Мало Ρ‚ΠΎΠ³ΠΎ, Π² самом ΠΊΠΎΠ΄Π΅ Π½Π° этот счСт Π½Π΅ Π±Ρ‹Π»ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², Π½Π΅ говоря ΡƒΠΆΠ΅ ΠΎ ссылкС Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ с обоснованиСм этого трСбования.

Π’ качСствС ΠΏΠ°Π½Π°Ρ†Π΅ΠΈ Π² Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° ситуациях Π°Π²Ρ‚ΠΎΡ€Ρ‹ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ»ΠΈ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Β«ΠšΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π½ΠΎΠ³ΠΎ ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡΒ» (Ρ‡Ρ‚ΠΎ ΠΈ Π½Π΅ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΈΠ±ΠΎ Π΅Π³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ являСтся ΠœΠ΅ΠΉΠ΅Ρ€[4]). ИмСнно Β«ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Β» Π² Π΄ΡƒΡ…Π΅ языка Eiffel, явным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ (с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€Π΅Π΄- ΠΈ пост-условий) ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ для любого ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ограничСния Π½Π° Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΈ ΠΌΠΎΠ³ Π±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ катастрофичСскоС Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ событий. Π‘Ρ‹Π» ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΈ набросок Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π°:

convert (horizontal_bias: INTEGER): INTEGER is

     require

          horizontal_bias <= Maximum_bias

               do

               …

          ensure

     …

end

БоотвСтствСнно, ошибка ΠΌΠΎΠ³Π»Π° Π±Ρ‹Ρ‚ΡŒ выявлСна ΡƒΠΆΠ΅ Π½Π° этапС тСстирования ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ (ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° логичСских ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΏΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΎΠΏΡ†ΠΈΠΈ компилятора); Ссли ΠΆΠ΅ ΠΏΡ€Π΅Π΄- ΠΈ пост-условия ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ»ΠΈΡΡŒ Π±Ρ‹ ΠΈ Π²ΠΎ врСмя ΠΏΠΎΠ»Π΅Ρ‚Π°, Ρ‚ΠΎ сгСнСрированноС ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ (ΠΏΡ€Π°Π²Π΄Π°, Π°Π²Ρ‚ΠΎΡ€Ρ‹ ΠΎΠ³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ, Ρ‡Ρ‚ΠΎ использованиС Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ ограничСния, связанныС с Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ).

Однако, самым Π²Π°ΠΆΠ½Ρ‹ΠΌ достоинством использования ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² являСтся, ΠΏΠΎ мнСнию Π°Π²Ρ‚ΠΎΡ€ΠΎΠ², явноС присутствиС Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… ΠΈ ΠΏΡ€ΠΈ нСобходимости Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΊΠ°ΠΊ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΈ Π² ΠΊΠΎΠ΄Π΅.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ слоТными ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠ° Ariane ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π² качСствС ΠΎΠΏΠΎΡ€Π½Ρ‹Ρ… ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ² для Π³Ρ€ΡƒΠΏΠΏ качСства Β«QA TeamΒ», Ρ‡ΡŒΡ Π·Π°Π΄Π°Ρ‡Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ систСматичСский ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ПО Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ соотвСтствия трСбованиям. Авторы с соТалСниСм Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠ³ΠΎ распространСния Π² соврСмСнной ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ усугубляСтся: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Java Π΄Π°ΠΆΠ΅ исчСзла ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Π²ΡˆΠ°Ρ Π² языкС CΠΈ скромная ΠΏΠΎ возмоТностям инструкция Β«assertΒ». Π’ составной части CORBA языкС IDL (Interface Definition Language), ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±Π½ΠΎΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ использованиС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π² распрСдСлСнной срСдС, отсутствуСт ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ спСцификации сСмантики. Π’ΠΎ ΠΆΠ΅ относится ΠΈ ΠΊ ActiveX. Авторы Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚: Π±Π΅Π· ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎΠΉ спСцификации, основанной Π½Π° ΠΏΡ€Π΅Π΄- ΠΈ пост-условиях ΠΈ ΠΈΠ½Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ…, Β«ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ использованиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠ΅ бСзрассудство».