Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Алгебри на операторах програм. Алгебраїчний підхід до аналізу програм.




Алгебра займається вивченням властивостей операцій. Алгебра – упорядкована пара <K, ∑>,  де К – множина, а ∑ - сигнатура операцій, які виконуються над К.

<K, ∑>=UК

UК замкнена відносно операції f, якщо при застосуванні f до елементів К результат цієї операції f() є К.

Якщо UК є замкненою для всіх f є ∑, то UК є універсальною. Алгебра може бути частково універсальною, якщо відносно одних операцій вона замкнена, а деяких – ні. Алгебра не універсальна, якщо вона є незамкненою відносно всіх операцій.

Алгебри на операторах програм: К – множина програм, ∑ - операції над операторами. Наприклад, if – визначений на операторах і на умовах. За допомогою алгебр потрібно проаналізувати результати операцій на яких побудована ця алгебра. Для того, щоб проаналізувати програму за допомогою алгебраїчного підходу, потрібно описати за допомогою алгебр всі оператори програми і проаналізувати програму з цих позицій.

 

Дослідження програмних комплексів за їх автоматами. Класи еквівалентних програм

А=<K, A, k0, kn, Г>

К – множина станів, k0, kn – початковий і заключний стани, Г – граф. Системі ставимо у відповідність автомат S↔А, тобто в ролі К виберемо множину елементів системи: К={Si}, A={Si}. В ролі дуг графа будуть виступати пари {Si, Sj}.{Si} – множина станів, потрібно вказати початковий і заключний стани. Для дослідження програмних комплексів потрібно скласти таблицю станів.

Таблиця станів:

Стани Зміст стану
S1 Початковий стан
S2

 Таблиця зв’язків

Зв’язки Зміст
З1,2
З2,1

Якщо є ці таблиці, тоді можна відтворити граф. Якщо є графи Г1 і Г2, то вони гомоморфні (ізоморфні), якщо існує φ:Г1→Г2, яке являється однозначним (взаємооднозначним) і при якому зберігається орієнтація дуг. Якщо графи ізоморфні, то вони однакові. Якщо між вершинами одного і того ж графа вдається встановити ізоморфне відображення, то його можна скоротити за рахунок того, що ці лінійні зв’язки можуть бути замінені однією дугою (замість сукупності двох), які будуть мати навантаження (для відображення лінійних дуг). Вважається, що вершина графа ізольована, якщо вона не має зв’язків з іншими вершинами, але може мати зв’язок сама з собою. При підрахунку рангу цей зв’язок враховується. Важливим в аналізі є: зв’язність, ізольованість, max ранг вершини. Два автомати А1 і А2 називаються еквівалентними, якщо між графами, що відповідають цим автоматам Г1 і Г2 існує гомоморфне відображення. А1 і А2 сильно еквівалентні, якщо графи Г1 і Г2 – ізоморфні з точністю до лінійних частин. Лінійна частина графу – його шляхи. Шлях – частина графу, в якій немає петель, розгалужень і циклів. Якщо автомати еквівалентні, то їх графи можна спростити. PK=UK~, UK~ - клас еквівалентності. Нехай маємо PK, що складається з 20 процедур. По признаку еквівалентності виділили тільки 7 класів еквівалентності, тобто в кожному класі еквівалентності кожну процедуру можна взяти за представника класу еквівалентності. Скільки класів – стільки і процедур.

 










Последнее изменение этой страницы: 2018-04-12; просмотров: 558.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...