Розглядаються особливості побудови алгоструктурних моделей та можливість їх використання для аналізу та синтезу апаратних та програмних засобів автоматики.
Вступ. Відомо, що термін «система» вживається для позначення, як окремих технічних пристроїв автоматики, так і їх комплексів. Під системою розуміють цілісний комплекс взаємопов’язаних елементів, який має певну структуру і взаємодіє із зовнішнім середовищем [1].
Системи бувають прості і складні. Поняття складності системи неоднозначне і пов'язане не лише з самою системою, яка являє собою об'єктивну реальність, але й з суб'єктивним її сприйняттям та труднощами, що виникають під час її створення та вивчення. Логічно вважати, що величина системи відображає лише кількість її елементів і зв'язків між ними, а складність системи відображає також неоднорідність цих елементів і зв'язків [2].
Отже, оцінюючи складність технічної системи слід зважати не лише на кількість її елементів, але й на особливості самих елементів, а також, на характер зв'язків між ними. Якщо номенклатура елементів системи невелика, зв'язків між ними небагато, і характер цих зв'язків регулярний, то таку систему доволі просто аналізувати та синтезувати. Навіть, коли кількість елементів у такій системі значна, ця система може вважатися простою (рис. 1).
Рисунок 1 – Приклад простої багатоелементної системи.
Разом з тим, коли елементи системи різноманітні, непрості для розуміння і пов’язані між собою нетривіальними зв’язками, систему можна вважати складною (порівняно), хоча вона і складається з невеликої кількості елементів (рис. 2).
Постановка проблеми. Аналіз і синтез систем автоматики – непроста задача. Значною мірою це пов’язано з психофізіологічними особливостями людей. Як зазначалося вище, складна система або будується з багатьох елементів, або має складні елементи та складну організацію зв’язків. Крім того, всі елементи системи, як правило функціонують паралельно в часі. Людині не просто одночасно зосереджувати увагу на багатьох параметрах і відслідковувати велику кількість кореляцій між ними, щоб уявити всю динаміку процесів у системі. Отже, проблема аналізу та синтезу засобів автоматики є доволі актуальною.
Одним з етапів, що допомагає здійснювати, як аналіз, так і синтез, може бути цифрове імітаційне моделювання. Грамотно зроблена комп’ютерна модель дозволяє вивчити роботу проектованої системи в динаміці та переконатися, що логіка функціонування, закладена в проекті відповідає задумові людини. На цьому етапі розробки можливе виявлення не лише окремих локальних невідповідностей, але й певних глобальних, стратегічних прорахунків проекту.
Для одного об’єкту реального світу може бути запропоновано багато різних моделей. Одні з них краще відображають реальність, інші – не такі вдалі. При цьому, точніша, якісніша, адекватніша модель не обов’язково має бути ще й складнішою. Все залежить від того, наскільки добре було вивчено об’єкт і як багато відомо про принципи його побудови та функціонування. З часом, по мірі накопичення знань про об’єкт, з’являється можливість побудувати точнішу та досконалішу модель. Тож, існує потреба у технологіях, що дозволяють здійснювати зручну та оперативну модифікацію моделей.
Рисунок 2 – Приклад складної системи з невеликим числом елементів
Сучасна обчислювальна техніка значною мірою спрощує процеси синтезу та аналізу складних технічних систем та моделювання їх поведінки. Використання автоматизованих робочих місць (АРМ) та систем автоматизованого проектування (САПР) підвищують продуктивність праці спеціалістів. Зрозуміло, що творча складова процесу проектування залишається за людиною. Основна задача САПР – виступати в ролі асистента, забезпечувати процес проектування, пропонувати типові проектні рішення і допомагати людині у виконанні операцій, що є шаблонними та трудомісткими.
Важливою перевагою використання комп’ютерних методів проектування є оперативність. Час від часу у проектувальника можуть виникати певні ідеї, що їх слушність бажано швидко перевірити. Лише комп’ютерні моделі дозволяють зробити експерименти швидкими, дешевими та безпечними.
Взагалі, будь яке проектування можна вважати створенням моделі, оскільки проект, що розробляється зазвичай є відображенням певного технічного об’єкту. І не так важливо, що цей об’єкт реально ще не існує на момент створення моделі.
Якщо ж стоїть задача аналізу певного існуючого об’єкту, то для побудови його математичної моделі потрібно з’ясувати залежність між його вхідними сигналами та сигналами на виході. Побудовою математичних моделей систем займається спеціальна наука, що зветься системним аналізом. З одного боку, ця наука вже досягла багатьох успіхів. З іншого, не можна сказати, що відомі нині методи дозволяють в усіх випадках точно з’ясувати всі властивості об’єктів, які нас цікавлять. Часто спостереження за об’єктом дозволяє зробити лише припущення щодо законів його функціонування і запропонувати лише приблизні залежності між величинами, що характеризують об’єкт. В такому разі виникає потреба оперативно перевірити ці припущення, щоб, або переконатися, що модель вже достатньо якісна, або, в разі потреби, продовжити вивчення об’єкту та уточнення його моделі. Саме тут використання обчислювальної техніки значно розширює наші можливості та пришвидшує роботу.
Математичну модель, реалізовану засобами комп’ютерної техніки називатимемо цифровою імітаційною моделлю. Математична модель включає математичне описання об’єкту, діапазони змінних, в яких можна використовувати модель, та інше. Цифрова імітаційна модель – це обчислювальний процес, який функціонує в пам’яті комп’ютера. Він складається з комірок пам’яті, в яких зберігається інформація про поточний стан моделі та процедур, що дозволяють перетворювати інформацію відповідно до функціонування моделі. Таким чином, математична модель носить статичний характер, а цифрова імітаційна модель реалізує динаміку поведінки об’єкту. Зрозуміло, що цифрова імітаційна модель може будуватися лише на основі викладок математичної моделі.
Формулювання мети статті та постановка задачі. Метою даної статті є розгляд питань ефективності використання алгоструктурної технології для вирішення задач цифрового імітаційного моделювання під час аналізу та синтезу систем автоматики.
Вирішення задачі. Для побудови цифрових імітаційних моделей систем, під час їх аналізу та синтезу, авторами пропонується подавати їх у формі деревоподібного графу, що відповідає результатам декомпозиції задачі на підзадачі та рівні абстракції. В цьому графі вузлами є певні задачі і підзадачі, а ребрами – структурні зв’язки, що показують які підзадачі мають бути вирішені для реалізації тієї чи іншої задачі більш високого рівня.
Метод декомпозиції буває ефективним, і під час аналізу, і під час синтезу систем. Основна ідея методу полягає в поділі основної задачі (функції системи) на декілька логічно завершених підзадач (підфункцій).
Рисунок 3 – Граф визначення рівнів абстракції, декомпозиційних груп та структурних зв’язків в моделі системи.
Ефективність методу декомпозиції пояснюється тим, що кожну з отриманих підфункцій, по-перше, легше реалізувати, оскільки вона завідомо простіша за цілу задачу, а, по-друге, можна доручити виконувати її окремій підсистемі (пристрою, підпрограмі, і т.і.). Якщо якась з підзадач також виявиться занадто складною, то виконують і її декомпозицію за тими ж правилами.
На практиці процедура виокремлення підзадач є неоднозначною і доволі суб’єктивною. Втім, за наявності певного досвіду, зазвичай вирішується успішно. Крім того, коли якась підзадача вдало виокремлена, її функціональна реалізація може бути повторно використана в інших проектах.
Таким чином, в результаті послідовного виконання процедур декомпозиції задачі виникають декілька «горизонтальних» рівнів абстракції (рис. 3). (Тут такі поняття як підсистема, функція та підфункція не мають принципових відмінностей, а служать лише для підкреслення приналежності до різних рівнів ієрархії).
Разом з тим, на кожному з таких «горизонтальних» рівнів також може відбуватися фрагментація на різні функціонально самодостатні абстракції – декомпозитні групи. Декомпозитною групою функцій називатимемо групу функцій одного рівня абстракцій, що разом реалізують одну функцію вищого рівня. (На рисунку 3 різні декомпозитні групи обведено еліпсами). Під час роботи над реалізацією однієї з декомпозитних груп функцій проектувальник може абстрагуватися від інших частин проекту, що допомагає не заплутатись у складному проекті моделі системи.
Розглянутий вище деревоподібний граф моделі дає уявлення про структурні зв’язки між компонентами системи. Крім структурних зв’язків в системі існують ще й інформаційні. Інформацією в процесі роботи моделі дозволено обмінюватися лише функціям, що віднесені до однієї декомпозитної групи. Топологію інформаційних зв’язків моделі зручно подавати як схему, що її зватимемо – ієрархічною функціональною схемою (рис. 4).
Рисунок 4 – Ієрархічна функціональна схема моделі системи.
На цій схемі за допомогою товстих ліній позначено декомпозитні групи, а тонкими лініями – інформаційні зв’язки. Певно, що з міркувань забезпечення модульності розробки, функції різних декомпозитних груп не повинні обмінюватися інформацією безпосередньо. Інакше, через взаємний вплив підсистем на функціональність одна одної можуть виникати небажані ефекти і проект втрачатиме керованість. Тож, виникає поділ інформаційних зв’язків на дві категорії: ті, що забезпечують реалізацію функціональності в межах декомпозитної групи і ті, що забезпечують зв’язок декомпозитної групи з іншими такими групами. У такий спосіб, реалізується відомий принцип поділу на відкритий інтерфейс підсистеми, що має бути сталим, і приховану (захищену) реалізацію, що її можлива модифікація не спричинить побічних ефектів в інших частинах системи.
Для забезпечення практичного проектування систем автоматики за допомогою вищезгаданих принципів, автори пропонують т.з. алгоструктурну технологію. Терміни «алгоструктура» та «алгоструктурна технологія» вперше було введено в роботах [3, 4]. Втім, запрпоновані в згаданих роботах принципи побудови алгоструктурної моделі не завжди гарантували її адекватність та ефективність проектних процедур, що заважало практичному використанню алгоструктур. Тож, в роботі [5] було здійснено аналіз основних положень зазначеного варіанту алгоструктурної технології, виявлено певні недоліки та запропоновано нове інше визначення поняття «алгоструктура». А саме, було зазначено, що алгоструктуру доцільніше розглядати не як алгоритм, що будується структурними методами, а як структуру, що складається і керує узгодженою роботою багатьох алгоритмів. Ця принципова відмінність у погляді на поняття алгоструктури дозволила: забезпечити системний підхід до процедур аналізу та синтезу, отримати більшу адекватність алгоструктурних моделей, розширити область їх застосування, скоротити номенклатуру базових компонентів, зробити проектні процедури прозорими і зрозумілими.
Отже, згідно до алгоструктурної технології [5], модель технічної системи будується з гіпотетичних об’єктів двох типів: «алгоритм» і «структура», а проектування здійснюється за компонентним принципом. Під час проектування всі нетермінальні вершини графа рівнів абстракції (рис. 3) представляються компонентами типу «структура», бо вони відіграють роль структуроутворюючих і керують іншими компонентами. Термінальні вершини графа (листя дерева) являють собою компоненти типу «алгоритм» і виконують безпосереднє опрацювання модельної інформації. Таким чином, процес проектування систем полягає в побудові т.з. алгоструктури – структури, що складається з алгоритмів. При цьому, чітка структуризація проекту, жорстка дисципліна абстрагування та робота щоразу в межах лише однієї декомпозитної групи дозволяють успішно виконувати проектування систем значної складності.
Практична реалізація процедур проектування за алгоструктурною технологією потребує комп’ютерної техніки і комп’ютерної програми, що дозволяють:
- створювати та зберігати проект алгоструктури;
- здійснювати навігацію деревом компонентів алгоструктури;
- нарощування дерево компонентів шляхом додавання нових компонентів (визначати структуру проекту);
- налаштовувати компоненти алгоструктури;
- встановлювати інформаційні зв’язки між компонентами що реалізують функціональність в межах однієї декомпозитної групи та інформаційний зв’язок між самими декомпозитними групами (будувати ієрархічні функціональні схеми);
- виконувати моделювання в часі поведінки алгоструктури, як імітація поведінки проектованої системи;
- виводити модельну інформацію під час моделювання у зручній для аналізу формі (у вигляді графіків, діаграм, тощо).
- здійснювати документування проектів та результатів моделювання;
- зберігати розроблені алгоструктури, або їх частини (гілки дерева), що реалізують вдалі рішення, як бібліотечні компоненти, для використання в інших проектах;
- транслювати логіку побудованої і перевіреної алгоструктурної моделі в форму, придатну для практичного використання. (Наприклад, у текст програми на алгоритмічній мові).
На рисунках 5 та 6 наведено приклади створення алгоструктурних моделей технічних систем в середовищі програми, розробленої авторами.
а) | б) |
в) |
Рисунок 5 – Побудова ієрархічної функціональної схеми моделі системи автоматичного регулювання. (а – алгоструктура верхнього рівня, б – рівень контуру керування, в – рівень реалізації PID-регулятора).
а) | б) |
Рисунок 6 – Побудова ієрархічної функціональної схеми моделі комбінаційної схеми
(а – алгоструктура верхнього рівня, б – рівень вентилів).
Висновки. Таким чином, алгоструктурна технологія проектування дозволяє за допомогою комп’ютерної техніки ефективно будувати цифрові імітаційні моделі систем автоматики значної складності у вигляді ієрархічних функціональних схем або деревоподібної абстрактної структури, що керує роботою узгодженого набору алгоритмів. Ця технологія проектування, по перше, є простою до комп’ютерної реалізації. А, по друге, може ефективно використовуватися для проектування багатьох класів технічних систем різної природи (цифрової логіки, систем автоматичного регулювання, тощо.), що закони їх функціонування добре піддаються формалізації. Цифрове імітаційне моделювання за допомогою алгоструктур може бути корисним як під час аналізу, так і для синтезу.
Список літератури:
1. Томашевський В. М. Моделювання систем / Томашевський В. М. – К.: Видавнича група BHV, 2005. – 352 с.
2. Лопатников Л. И. Экономико-математический словар / Лопатников Л. И. – М.: Наука, 1987. – 510 c.
3. Горбатюк А. Ф. САПР прикладного программного обеспечения компьютерных систем управления AlgoCAD / А. Ф. Горбатюк. Восточноукраинский гос. ун-т. - Луганск: ВУГУ, 1999. - 188 с.: ил.
4. Горбатюк А. Ф. Применение алгоструктурной технологии в компьютерных системах управления: Учеб. пособие / А. Ф. Горбатюк, А. В. Бешкарев. – Восточноукр. гос. ун-т. – Луганск: Изд-во ВУГУ, 2000. - 200 с.
5. Смирнов Г. М. Адаптація алгоструктурного методу для проектування цифрових пристроїв комп'ютерних систем керування. – Вісник Сумського державного університету. Серія Технічні науки. № 10(94)' 2006. – c. 81-90.
УДК 004.942:519.876
Лыфарь В.А., Витт В., Рязанцев А.И.