Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Похибка

Ніяка техніка не гарантує, що програма не матиме помилок. Похибка помилки означає, що програма працюватиме нормально навіть коли вона матиме помилки.

Тому програма повинна:

· виявляти помилки;

· відновлюватися після помилки, коректно завершуватися;

· проводити корекцію помилок, тобто вносити зміни, щоб позбавитися від помилки.

Важливо провести діагностику помилки. Рядок коду, в якому відбулася помилка, повинен бути визначений.

Є два основні методи автоматичного виявлення помилок:

· Перевірка коректності даних. Метод складається зі вставки додаткових рядків в код для того, щоб перевірити коректність даних.

· Порівняння різних версій модулів.

Порівняння різних версій модулів

Порівняння різних версій модулів дає удосконалення надійності. Це застосовується тільки в особливих випадках, оскільки це вимагає великих інвестицій. Це використовується тільки для надзвичайно важливих програм.

Багатоваріантне програмування може бути реалізоване декількома способами:

Перший з них називається n-версії. Він розробляється n незалежними програмістами. Програми виконуються паралельно і результати порівнюються PCU. У разі розбіжності PCU вибирає правильний результат, наприклад, "голосування" використовується для ухвалення рішень. Службові дані для таких обчислень є важливим чинником. Проблема критично важлива для таких систем, як системи реального масштабу часу (Real Time Systems, RTS), для яких потрібно брати до уваги час реакції, наприклад, на погодні умови або кут нахилу літака.

Характеристики n-рівневого рішення паралельні, з одночасним відкриттям операцій над загальними даними декількома незалежними модулями.

Мал. 10.4.1.

Інше рішення - це програмування з допоміжними модулями. Метод припускає існування двох модулів, один з яких активний, а інший використовується для перевірки результатів активного модуля. Якщо виявляється будь-яка некоректність, додатковий операційний модуль замінює базовий модуль. Існують різні версії паралельних рішень.

Мал. 10.4.2

 

4. Транзакції

Транзакція - послідовність виконуваних операцій, які не може бути розділені і є одним цілим.

Транзакція складається з наступних операцій:

· читання даних x транзакцією T,

· запис даних x транзакцією T,

· відміна транзакції T,

· ухвалення транзакції T.

Транзакції використовуються для компактності і паралельних операцій.

Якщо виконуються багато процесів, компактність може не дотриматися і можуть виникнути помилки.

У таблиці 10.5.1. показана схема роботи двох процесів А і B, які використовують загальні дані.

Таблиця 10.5.1.

 

У Таблиці 10.5.1. показано два паралельні процеси, які не порушують компактність.

Таблиця 10.5.2.

 

У таблиці 10.5.2. показано два процеси, які порушують компактність.

Блок В не компактний. Є два процеси, які при незалежному виконанні дадуть результат 11. Відсутність синхронізації приведе до того, що один з процесів не буде оновлений.

Приклад: ми маємо 4 автори, які оновлюють тест. Якщо немає ніякого протоколу щодо оновлень, деякі виправлення можуть бути втрачені.

Транзакції роблять можливою підтримку сумісності процесів. Ручна синхронізація або угоди не потрібні.

Транзакції захищають від не повних виконань, які можуть з'явитися після збоїв.

Давайте представимо банківську систему з наступними операціями над рахунками клієнта F.

1. Клієнт читає магнітну картку і авторизується

2. Клієнт оголошує суму

3. Рахунок перевіряється

4. Залишок на рахунку зменшується на запрошувану суму

5. Посилається замовлення передачі

6. Касир знімає суму з рахунку

7. Касир проводить оплату

Питання полягає в тому, що трапиться, якщо між операцією 4 і 5 відбудеться відключення електрики. Рахунок зменшиться, клієнт не отримає грошей, фактичні дані втрачаються, директор скаже, що заяву слід писати електростанції, клієнт не погодиться і погрожуватиме позивом до суду і т.п.

Транзакції гарантують компактність даних і захищають проти апаратного збою, помилок ПЗ, проблем з персоналом і т.д.


Читайте також:

  1. Абсолютна похибка наближеного
  2. Схеми увімкнення амперметрів і вольтметрів. Методична похибка при вимірюванні струму і напруги




Переглядів: 653

<== попередня сторінка | наступна сторінка ==>
Принцип обмеженого доступу | Постулати ACID

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.003 сек.