При розробці і використанні ПС ми багаторазово маємо справу [3] з перетворенням (перекладом) інформації з однієї форми в іншу (див. Рис. 1). Замовник формулює свої потреби в ПС у вигляді деяких вимог. Виходячи з цих вимог, розробник створює зовнішній опис ПС, використовуючи при цьому специфікацію (опис) заданої апаратури і, можливо, специфікацію базового програмного забезпечення. На підставі зовнішнього опису та специфікації мови програмування створюються тексти програм ПС на цій мові. За зовнішнім описом ПС розробляється також і призначена для користувача документація. Текст кожної програми є вихідною інформацією при будь-якому її перетворенні, зокрема, при виправленні в ній помилки. Користувач на підставі документації виконує ряд дій для застосування ПС і здійснює інтерпретацію отриманих результатів. Скрізь тут, а також в ряді інших процесах розробки ПС, має місце зазначений переклад інформації.
Мал. 1. Груба схема розробки і застосування ПС.
На кожному з цих етапів переклад інформації може бути здійснений неправильно, наприклад, через неправильне розуміння вихідного представлення інформації. Виникнувши одному з етапів помилка в поданні інформації поширюється на наступні етапи розробки і, в кінцевому рахунку, виявиться в самому ПС.
Щоб зрозуміти природу помилок при перекладі розглянемо модель [3], зображену на Рис. 2. На ній людина здійснює переклад інформації з уявлення A у уявлення B. При цьому він здійснює чотири основні кроки перекладу:
- він отримує інформацію, що міститься в поданні A, за допомогою свого читаючого механізму R;
- він запам'ятовує отриману інформацію у своїй пам'яті M;
- він вибирає зі своєї пам'яті Перетворювані інформацію та інформацію, що описує процес перетворення, виконує переклад і посилає результат своєму авторові механізму W;
за допомогою цього механізму він фіксує уявлення B.
Мал. 2. Модель перекладу.