до ресурсів (час, вартість і т.д.) в процесі виконання можуть виявитися надмірними,
Тому, розглядаючи програму як систему управління, можна сформулювати такі цілі управління:
В· підвищення достовірності результату при обмеженнях на час виконання програми, на вартість рішення, на конфігурацію зовнішньої пам'яті і тощо;
В· зниження часу рішення при прийнятному рівні достовірності;
В· зниження вартості рішення задачі при заданих межах часу виконання програми, достовірності результату і т.д.
Така система управління схематично показано на рис. 4.11.
В
Рис. 4.11. Модель програми
N - зовнішні впливи
X - вхідні величини
Y - результат
R - конструктивні засоби
S - керуючі засоби
M - модель результату
A - блок вибору реакції
C1, C2 - управляючі дії
Розглянемо зовнішні впливу N, показані на схемі. Вони можуть бути запланованими або несподіваними. p> Зовнішні впливи можуть бути різного походження:
В· від технічних засобів;
В· від людини (оператора);
В· з інших програм (підпрограм);
В· вводиться в динаміці виконання інформації.
Зовнішній вплив будемо називати коректним, якщо значення його належить ареалу - заздалегідь обумовленому безлічі допустимих значень - і надходить воно в програму в обумовлений час. У Інакше вплив будемо називати некоректним. Аналогічно, і значення вхідних величин можуть бути коректними і некоректними.
Зрозуміло, що проникнення в програму некоректних значень, будь то зовнішній вплив або вхідна величина, найчастіше призводить до неправильного функціонування програми, до неправильного результату. Оскільки програма зазвичай входить до складу комплексу програм, то отриманий некоректний результат стає некоректним вхідним значенням і т.д., що може викликати ланцюгову реакцію невірних результатів і привести до того, що дії системи стануть непередбачуваними. Можна навести багато реальних прикладів такого типу; невдача при першому запуску американського дослідницького корабля на Венеру, коли довелося підірвати цей корабель через серйозне відхилення від курсу; смертні випадки через помилки в медичному програмному забезпеченні; авіакатастрофи через помилки однієї з програм комплексу проектування літака; знищення 72 французьких куль-зондів з вимірювальними приладами (з 115 запущених) через того, що була послана не та команда управління і т.п. Перелік таких прикладів може бути продовжений, хоча не завжди, звичайно, помилки призводять до таких серйозних наслідків.
Застрахуватися від таких ситуацій можна лише підвищенням надійності всього обчислювального процесу і, в Зокрема, програмного забезпечення.
Пізніше ми розглянемо методи підвищення надійності програм і покажемо доцільність введення додатков...