Порівняння ефективності методів інваріантного аналізу динамічних характеристик програмних компонентів

Розгляд методів інваріантного аналізу динамічних характеристик програмних компонентів для визначення мінімального набору інваріантів при розв'язанні системи лінійних діофантових рівнянь. Застосування методів для виявлення динамічних характеристик моделей.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык украинский
Дата добавления 28.03.2024
Размер файла 587,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Черкаський національний університет ім. Богдана Хмельницького

Порівняння ефективності методів інваріантного аналізу динамічних характеристик програмних компонентів

Весельський Олексій Сергійович

магістрант

Супруненко Оксана Олександрівна

канд.техн.наук, доцент

Анотація

У статті розглянуті методи для визначення мінімального набору інваріантів при розв'язанні системи лінійних діофантових рівнянь. Цей набір інваріантів застосовується у аналізі динамічних властивостей моделей, які характеризуються паралелізмом. Він має визначатись в режимі реального часу. В результаті проведеного теоретичного та експериментального дослідження були розглянуті методи Фаркаса, Алаівана та TSS. Найбільшу обчислювальну ефективність для визначення мінімального набору інваріантів у моделях малої та середньої розмірності показав TSS-метод.

Ключові слова: мережі Петрі, динамічні властивості, система лінійних діофантових рівнянь, інваріантний аналіз, мінімальний набір інваріантів.

Моделі програмного забезпечення мають численні паралельні та конкуруючі процеси, які ускладнюють їх аналіз та викликають необхідність застосування методів для виявлення динамічних характеристик моделей. Зокрема важливою задачею є виявлення явних та прихованих конфліктних ситуацій (помилок), якими є тупики та нескінченні цикли. Аналізувати та досліджувати наявність помилок дозволяють моделі на основі мереж Петрі [1]. Зокрема, наявність тупиків можна виявити, коли не дотримуються вимоги збережуваності або повної керованості. Про виявлення нескінченного циклу можуть свідчити недотримання вимоги живості (недосяжність певних вершин місць) чи повторюваності розмітки [2].

Для аналізу моделей на основі мереж Петрі застосовуються імітаційне моделювання та аналітичні методи дослідження імітаційних моделей. Застосування аналітичних методів можливо, оскільки мережі Петрі мають однозначний матричний опис [3], що дозволяє відслідковувати та аналізувати всі можливі варіанти функціонування досліджуваної моделі, в той час, як при застосуванні імітаційного моделювання вдається проаналізувати лише частину таких варіантів.

Таким чином, аналітичне представлення PN-моделей дозволяє досліджувати динамічні характеристики програмного забезпечення максимально повно, щоб забезпечити якість проектних рішень [3]. Для цього у роботі застосується метод інваріантів [1]. Його результати дозволяють підтвердити чи спростувати такі важливі характеристики моделей як живість (досяжність), повторюваність, обмеженість, збережуваність.

Для визначення цих характеристик важливим є розрахунок інваріантів, як розв'язків основного та додаткового рівнянь мереж Петрі [4]. При розв'язанні цих рівнянь вирішується задача пошуку розв'язків системи лінійних діофантових рівнянь, яких у загальному випадку може бути нескінченна множина. Але для дослідження моделей компонентів ПЗ потрібен мінімальний набір таких розв'язків.

Для визначення мінімального набору інваріантів відомі кілька методів, які мають різну обчислювальну ефективність, це метод Фаркаса [5], метод Алаівана [6], TSS-метод (truncated solution set) [7] та ін.

У цьому методі [5] матрицю інцидентності доповнюють матрицею інваріантності, яка відображає на кожному кроці ітерацій новостворювану вершину місця, яку створюють при видаленні вершини переходу, що є сусідньою до аналізованої вершини переходу. Такі ітерації продовжують, доки множини сусідів всіх вершин переходів не спорожніють. У даному методі застосовують перевірки, які дозволяють відсіяти надмірні розв'язки з використанням рангу матриці або порівняння нових розв'язків з отриманими. Дані перевірки значно знижують обчислювальну ефективність методу.

Більш ефективним є метод Алаівана [6], який у своїй оптимізованій версії показав кращу ефективність, зокрема на моделях великої розмірності. Алгоритм складається з двох фаз. На початку першої з них будується розширена матриця шляхом додавання рядків матриці ідентичності В (матриця, заповнена нулями, з одиницями на головній діагоналі) під рядками матриці інцидентності W. З такою розширеною матрицею виконуються перетворення, спрямовані на приведення значень всіх елементів матриці W до нульових. Для цього використовуються дві операції: додавання до розширеної матриці стовпців, що є лінійною комбінацією вже наявних в ній стовпців, та видалення існуючих стовпців. Визначення дій, які мають бути виконані, та стовпців, над якими вони мають бути виконані, здійснюється на основі значень елементів рядків матриці W. Тобто, на початку кожного кроку здійснюється розгляд рядка, який ще не є нульовим, і запропоновані роботою [6] вдосконалення полягають зокрема у принципах вибору таких рядків. Метою такої оптимізації є мінімізація кількості від'ємних значень у стовпцях, що додаються до матриці. Це дозволяє знизити складність другої фази алгоритму. Також завдяки оптимізованому підбору рядків для обробки вдається вилучити з матриці всі стовпці, які не впливають на інваріанти мережі, що дозволяє ввійти у другу фазу алгоритму з матрицею меншої розмірності, що також позитивно впливає на його швидкодію.

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

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

У TSS-методі будують початкову множину векторів, яка є векторами канонічного базису виду вх = (1,0,...,0), e2 = (0,1,...,0),..., en = (0,0,...,1). Після цього потрібно використати кожен з даних векторів у якості аргументу функції L1(x) = a11x1 +... + a1ixi +... + a1nxn, побудованої на основі першого рівняння системи, що розглядається. Очевидно, що значення, отримане в результаті такого застосування функції, буде або більше за нуль М1+ = {e | L(e) > 0}, або менше за нуль Мх_ = {e | L(e) < 0}, або рівним нулеві М1(0) = {е 1 L1(e) = 0}. Саме за належністю до одного з таких випадків поділимо вектори канонічного базису на три групи. Тепер, використовуючи ці три множини, будуємо множину М':

М1 = М10 U{У. І yu = -L1(ei)e- + І1(е)ei,ef Є М1+,ei Є М1_}

Таким чином, елементи множини М1{0) входять до М' повністю. Решта векторів застосовується у наведеній формулі з використанням першого рівняння системи (L). Матрицю у можна уявити як таку, де стовпцями виступають елементи М, а рядками - М. Таким чином, потрібно по всіх клітинках такої матриці сформувавши всі можливі комбінації з векторів-рядків та векторів-стовпців. Після завершення побудови множини М', вона використовується в якості початкової (замість векторів канонічного базису) для наступної ітерації алгоритму. Здійснюється послідовна побудова множин М\, М',..., М'p, де p - кількість рівнянь в системі. Ці множини і складають TSS даної системи лінійних діофантових рівнянь. Тобто, множина TSS відповідає мінімальному набору інваріант, за яким визначаються динамічні властивості мережі Петрі.

Складність побудови методу TSS складає O(ql3), де q - кількість рівнянь, а l = max(m, n), де n - кількість невідомих, m - максимальна довжина двійкового представлення коефіцієнтів рівняння.

За результатами теоретичного дослідження методів знаходження мінімальної множини інваріантів було вирішено в практичному дослідженні розглянути TSS-метод та метод Алаівана, як найбільш ефективні методи знаходження такої множини, а також параметричний спосіб розрахунку інваріантів для порівняння. Вибрані методи та підхід до їх порівняння в ході експерименту відображено у моделі дослідження (рис. 1).

Рис. 1. Модель дослідження ефективності методів розрахунку мінімального набору інваріантів.

Для проведення експерименту було розроблене програмне середовище, що дозволяє будувати графічне відображення моделі на основі мереж Петрі, формувати її матричне представлення (матрицю інцидентності), проводити імітацію роботи моделі та здійснювати інваріантний аналіз динамічних характеристик моделі зазначеними вище методами. Спершу була розглянута робота вибраних методів на прикладі моделі невеликої розмірності (менше 10 вершин найбільшої множини P чи T) (рис. 2).

В ході аналізу даної моделі за допомогою TSS-методу та методу Алаівана були отримані однакові результати:

T = [1ДЛЛД]

р = [ 1,1,1,1,1,0 ]

р = [ 1,0,1,1,0,1]

Рис. 2. Перша модель для експерименту в моделюючому середовищі

інваріантний аналіз динамічний програмний

Одержані значення інваріантів збігаються з отриманими в ході ручних обрахунків, з чого можемо зробити висновок про коректність роботи реалізованих методів. Суттєвих відмінностей в швидкодії способів виявлено не було. Аналіз отриманих інваріантів показує, що динамічні властивості першої моделі, за які відповідають 7"-інваріанти (живість, повторюваність) та Р-інваріанти (обмеженість, збережуваність) [2], виконуються.

Для подальшого дослідження ефективності методів визначення мінімального набору інваріантів була використана друга модель, що має більшу розмірність [8], тобто більше 10 вершин найбільшої множини P чи T (рис. 5).

Рис. 5. Друга модель [8] для експерименту, побудована в моделюючому середовищі

При застосуванні до другої моделі інваріантного аналізу за допомогою TSS-методу було знайдено п'ятнадцять Т-інваріантів та один Р-інваріант, аналіз яких показав виконання всіх динамічних властивостей мережі:

Ті = [1, 0, 1,0, 1,0, 0, 2, 0, 0, 1, 1, 1,3, 0, 0, 1,0, 0, 2]

Т2 = [2, 0, 2, 0, 2, 0, 0, 2, 0, 0, 2, 0, 0, 4, 2, 0, 2, 0, 0, 2]

Тз = [1, 1,0, 0, 0, 0, 0, 1,0, 0, 1,0, 0, 2, 0, 1, 1,0, 0, 1]

Т4 = [1,0, 1,0, 1,0, 0, 2, 0, 0, 1, 1, 1, 1,0, 0, 1,0, 2, 0]

Т5 = [2, 0, 2, 0, 2, 0, 0, 2, 0, 0, 2, 0, 0, 2, 2, 0, 2, 0, 2, 0]

Тб = [1, 1,0, 0, 0, 0, 0, 1,0, 0, 1,0, 0, 1,0, 1, 1,0, 1,0]

Ту = [1,0, 1,0, 1,0, 0, 2, 0, 0, 1, 1, 1, 1,0, 0, 0, 1,0, 1]

Те = [1,0, 1,0, 1,0, 0, 2, 0, 0, 1, 1, 1,0, 0, 0, 0, 1, 1,0]

Т9 = [2, 0, 2, 0, 2, 0, 0, 2, 0, 0, 2, 0, 0, 0, 2, 0, 0, 2, 0, 0]

Тю = [1, 1,0, 0, 0, 1, 1,2, 0, 0, 1,0, 0, 0, 0, 0, 0, 1,0, 1]

Т11 = [1, 1,0, 0, 0, 0, 0, 1,0, 0, 1,0, 0, 0, 0, 1,0, 1,0, 0]

Ти = [1, 1,0, 0, 0, 1, 1,2, 0, 0, 1,0, 0, 2, 0, 0, 1,0, 0, 2]

Тіз = [1, 1,0, 0, 0, 1, 1,2, 0, 0, 1,0, 0, 0, 0, 0, 1,0, 2, 0]

Т14 = [1,0, 1,0, 0, 0, 0, 0, 1, 1,0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

Т15 = [1,0, 0, 1,0, 0, 0, 0, 0, 1,0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

Рі = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

Час аналізу (в середньому близько 0.001 мілісекунди) при цьому несуттєво перевищував такий при першому досліді та цілком задовольняв критерії системи реального часу.

Втім, методу Алаівана, при спробі застосування його до даної моделі, такі критерії не задовольнив. Під час другої фази алгоритму, яка, як згадувалося, має експоненційну складність, була утворена велика кількість надлишкових розв'язків, перевірка і відсіювання яких зайняла недопустимо багато часу. Таким чином, проведений експеримент вказав на критичність даного недоліку методу Алаівана при роботі з моделями середньої розмірності.

Таким чином, в результаті проведених експериментів метод Алаівана показав прийнятні результати лише на моделях малої розмірності (min(n(tt), m(pj) < 10). Натомість, доведена ефективність TSS-метода для моделей, як малої, так і більшої розмірності. Він є перспективним і для дослідження динамічних властивостей моделей великої розмірності, що дозволить виявляти явні та приховані помилки у компонентах програмного забезпечення, які мають паралельні та конкуруючі процеси.

Список використаних джерел

[1 ] Гломодза Д.К. (2016). Застосування методу інваріантів до аналізу кольорових мереж Петрі із дедлоками. Вісник НТУУ КПІ. Інформатика, управління та обчислювальна техніка, (64), 38-46.

[2] Suprunenko O.O., Onyshchenko B.O., Grebenovych J.E. (2022). Analysis of hidden errors in the models of software systems based on Petri nets. Electronic Modeling, 2(44), 38-50. https://doi.org/10.15407/emodel.44.02.038

[3] Suprunenko, O., Onyshchenko, B., & Grebenovich, J. (2023). Improving the efficiency of

dynamic analysis of the combined simulation model for software with parallelism. Eastern-European Journal of Enterprise Technologies, 3(2(123)), 26-34. https://doi.org/10.15587/1729-4061.2023.283075

[4] Нестеренко Б.Б., Новотарський М.А. (2012). Формальні засоби моделювання паралельних процесів та систем. Праці Інституту математики НАН України, (Т. 90, с. 334). - Київ: Інститут математики НАН України. ISBN 978-966-02-2571-7, ISBN 978966-02-6506-6.

[5] Marinescu Dan C., Beaven Mike, Stansifer Ryan. (1991). A Parallel Algorithm for Computing Invariants of Petri Net Models. Department of Computer Science Technical Reports. Paper 873.

[6] Mario D'Anna, Sebastiano Trigila. (1988). Concurrent system analysis using Petri nets: an optimized algorithm for finding net invariants. Computer Communications. 11(4), 215220.

[7] Крывый С.Л. (2001). О вычислении минимального множества инвариантов сети Петри. Искусственный интеллект, (3), 199-206.

[8] Suprunenko, O., Onyshchenko, B., Grebenovych, J., Nedonosko, P. (2023) Applying a Combined Approach to Modeling of Software Functioning. Lecture Notes on Data Engineering and Communications Technologies. Vol. 178. Springer, Cham. P. 30-48. https://doi.org/10.1007/978-3-031 -35467-0_3

[9] Kuzmuk V.V., Suprunenko O.A. (2014). The means for the description of information flows in dynamic models of medical hardware-software systems. Theoretical and Applied Science, 15(7), 11-18. http://dx.doi.org/10.15863/TAS.2014.07.15.2

Размещено на Allbest.ru

...

Подобные документы

  • Аналіз існуючих моделей та методів визначення повітряних та наземних рухомих об’єктів, узагальнення, поєднання та вдосконалення методів присвоєння координат на карті аеропорту у реальному часі. Засоби аналізу динамічних сценаріїв поточної обстановки.

    дипломная работа [6,9 M], добавлен 27.01.2013

  • Властивості характеристик динамічних ланок, визначення їх параметрів. Робота в системі MatLab, створення tf-об'єкту. Складання диференціального рівняння, який визначає функціонування системи автоматичного керування. Отримання динамічних характеристик.

    лабораторная работа [728,4 K], добавлен 17.12.2011

  • Огляд та аналіз методів розв’язання системи диференціальних рівнянь та вибір методів рішення. Алгоритми методів Ейлера. Вибір методу рішення задачі Коші. Рішення диференціальних рівнянь. Отримання практичних навиків програмування на мові Паскаль.

    курсовая работа [174,3 K], добавлен 06.03.2010

  • В роботі розглянуто наближені методи розв'язку нелінійних рівнянь для методів Ньютона та хорд, складено блок-схеми та написано програму, за допомогою якої розв'язується задане рівняння. Аналіз рівняння, методів його розв'язання і результатів обрахунку.

    курсовая работа [380,9 K], добавлен 30.11.2009

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

    статья [26,1 K], добавлен 13.11.2017

  • Програмування математичної моделі довільної ланки хіміко-технологічної системи та дослідження її динамічних характеристик. Система Mat Lab – середовище програмування. Побудова програмними засобами кривих перехідних процесів, логарифмічних характеристик.

    курсовая работа [551,3 K], добавлен 12.01.2011

  • Методи рішень диференційних рівнянь за допомогою мов програмування і їх графічні можливості. Аналіз динамічних та частотних властивостей електронної системи за допомогою чисельної моделі. Представлення цифрової моделі та блок-схеми алгоритму обчислень.

    практическая работа [430,6 K], добавлен 27.05.2015

  • Практичні прийоми відтворення на ЕОМ математичних моделей типових нелінійностей. Параметри блоків Sine Wave, XY Graph та Saturation. Побудова статичних і динамічних характеристик математичних моделей. Визначення кроку та інтервалу часу моделювання.

    лабораторная работа [1,5 M], добавлен 17.05.2012

  • В роботі розглянуто наближені методи розв’язку нелінійних рівнянь. Для вказаних методів складено блок-схеми та написано програму, за якою розв’язується задане рівняння. Аналіз як самого рівняння і методів його розв’язання так і результатів обрахунку.

    курсовая работа [302,8 K], добавлен 03.12.2009

  • Підстава для створення системи Компас-3D. Характеристика розробленого програмного забезпечення. Призначення і характеристики систем автоматизації конструкторської документації. Дослідження методів створення динамічних бібліотек в середовищі Delphi.

    дипломная работа [3,3 M], добавлен 22.10.2012

  • Розробка програмного забезпечення для перевірки матричних критеріїв керованості та спостережуваності лінійних динамічних систем з застосуванням програмного середовища MATLAB – модуль Control System ToolBox. Розробка алгоритму підготовки вихідних даних.

    дипломная работа [2,4 M], добавлен 20.06.2012

  • Області застосування методів цифрової обробки зображень. Динамічний діапазон фотоматеріалу. Графік характеристичної кривої фотоплівки. Загальне поняття про High Dynamic Range Imaging. Тональна компресія та відображення. Головні стегано-графічні методи.

    контрольная работа [1,6 M], добавлен 10.04.2014

  • Розвиток виробництва і широке використання промислових роботів. Алгоритми методів, блок-схеми алгоритмів розв'язку даного диференційного рівняння. Аналіз результатів моделювання, прямий метод Ейлера, розв’язок диференціального рівняння в Mathcad.

    контрольная работа [59,1 K], добавлен 30.11.2009

  • Індексація веб-ресурсів, проблема індексації динамічних веб-сторінок, мультимедійних та графічних елементів. "Прихований Інтернет" та вдосконалення методів пошуку, на основі лінгвістичних технологій. Технічні складнощі Web та класифікація його ресурсів.

    реферат [22,2 K], добавлен 10.08.2011

  • Динамічні структури даних. Списки та їх різновиди. Практична реалізація динамічних структур на мові програмування С++. Динамічна пам’ять, операції NEW та DELETE. Побудова динамічних структур з використанням стандартних шаблонів: бібліотеки Stack та Queue.

    курсовая работа [72,4 K], добавлен 07.09.2010

  • Схема слідкуючої системи витратоміра літака. Створення системи диференціальних рівнянь на основі рівнянь ланок (вимірювальної схеми, електронного підсилювача, двигуна і редуктора) та її розв'язання за допомогою методів з автоматичною зміною кроку.

    курсовая работа [492,6 K], добавлен 29.10.2013

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

    статья [525,8 K], добавлен 19.09.2017

  • Опис предметної області по темі "Перевантаження методів". Методика розробки тестових завдань. Проектування та розробка програми. Опис елементів управління, які використовуються в проекті. Опис текстів процедур та опрацювання подій. Отримані результати.

    курсовая работа [620,9 K], добавлен 06.08.2013

  • Застосовування графічних методів розв’язку рівнянь та нерівностей. Проведення інтегрування та диференціюванні за допомогою засобів MathCAD. Змінення вигляду графіків у програмі. Освоєння методів аналітичних обрахунків та графічного відображення даних.

    лабораторная работа [833,5 K], добавлен 23.09.2009

  • Характеристика основних методів чисельного інтегрування та розв’язання інтегралу методом Чебишева третього, четвертого та п’ятого порядків. Оцінка похибок та порівняння їх з точним обчисленнями отриманими в математичному пакеті Mathcad 2001 Professional.

    курсовая работа [127,7 K], добавлен 03.12.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.