А Ф Горбатюк, С А Горбатюк - Алгоструктурне проектування обчислювальних структур комп'ютерно-інтегрованих систем управління - страница 1

Страницы:
1  2 

УДК 004.415.2:004.272.2

Горбатюк А.Ф., Горбатюк С.А.

АЛГОСТРУКТУРНЕ ПРОЕКТУВАННЯ ОБЧИСЛЮВАЛЬНИХ СТРУКТУР КОМП'ЮТЕРНО-ІНТЕГРОВАНИХ СИСТЕМ УПРАВЛІННЯ

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

Вступ. При проектуванні комп'ютерно-інтегрованих систем управління та розробці їхнього прикладного забезпечення використовують наступні поняття: об'єкт управління (представляється адекватною математичною моделлю), обчислювальні засоби (потрібне для автоматизації обладнання), програмне забезпечення (сукупність програм, яких достатньо для реалізації управління) [1]. Якщо об'єкт управління в рамках проекту є незмінним (може уточнятися тільки його математична модель), то як обчислювальні засоби, так і програмне забезпечення можуть змінюватися заради забезпечення між ними раціонального консенсусу. Останнє особливо актуальне у зв'язку з широким використанням в комп'ютерній техніці нанотехнологій та програмуємих інтегральних схем [2]. Проектувальники обчислювальних структур комп'ютерно-інтегрованих систем управління користуються в більшості випадків наступними способами: для наявного обладнання розробляють таке програмне забезпечення, яке дозволяє прийнятно управляти об'єктом; для наявного програмного забезпечення розробляють потрібне обладнання. Зазначені способи мають етапи підбору потрібних програм та обладнання з наступним багаторазовим моделюванням і оптимізацією отриманих варіантів. Тому проектування подібних комп'ютерних засобів та розробка їхнього програмного забезпечення завжди було достатньо трудомістким завданням, яке ефективно вирішувалось, як правило, за допомогою спеціальних проблемно-орієнтованих програмних засобів [3]. Але на жаль ті з них, що мають значну людську участь - автоматизувати складно. До того ж найкраще використання можливостей комп'ютерно-інтегрованих систем управління вимагає організації в них такого обчислювального процесу, який потрібно постійно переналагоджувати. Це створює певні труднощі. Усунення частки наведених проблем пов'язано з алгоструктурною технологією проектування [4].

Постановка задачі. Обґрунтувати можливість та доцільність алгоструктурного проектування обчислювальних структур комп'ютерно-інтегрованих систем управління.

Вирішення задачі. Під алгоструктурною технологією будемо розуміти сукупність дій, яка на підставі бібліотечних алгоелементів (AS) забезпечує проектування таких алгоструктурних моделей (ASM - як структурних форм подання обчислень), яких достатньо для розробки обчислювальних структур ASM = <K, AS(F)>. Технологія містить наступне: аналіз задачі та визначення кількісного і якісного набору алгоелементів, що забезпечує її вирішення; вибір з бібліотеки потрібних компонентів та проблемно-орієнтованих алгоструктурних конструкцій або їх розробка; компоновка алгоелементів та встановлення між ними за допомогою комутації необхідних зв'язків; реалізація в алгоелементах формул у відповідності до алгоритму рішення задачі; налагодження алгоструктурної моделі; визначення в алгоструктурній моделі паралельних та послідовних обчислювальних процесів та перевірка ступеня їх розпаралелення; проведення перетворень в алгоструктурній моделі для визначення можливості подальшого розпаралелення обчислень; реорганізація та структурування алгоструктурної моделі на підставі перерозподілу обчислень; генерація алгоструктурної моделі із заданим паралелізмом обчислень з урахуванням наявних ресурсів; моделювання і документування алгоструктурної моделі. Алгоструктурна технологія проектування обчислювальних процесів втілена в інструментальному програмному засобі, який названо - AlgoCAD, та складається з взаємозалежних частин: проектування, відлагоджування, моделювання, документування [4].

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

Аналогічно з подібними інструментаріями [3] у найпростішому випадку для опису змінних в алгоструктурах використовуються наступні типи даних: Analog - для змінних з "плаваючою крапкою"; Digital - для змінних булевого типу (0 або 1); Value - для цілочисельних змінних. Можливерозширення й модифікація представленого набору типів. Засоби візуалізації процесу моделювання алгопроекту дозволяють створювати електронні приладові дошки та включають графіки, діаграми й т.п.

Розглянемо докладніше особливості алгоструктурного проектування обчислювальних структур комп'ютерно-інтегрованих систем управління. Розглянемо головне вікно AlgoCAD (рис. 1). Основне його призначення полягає у тому, щоб проектувати обчислювальні алгоритми. Це вікно містить велику кількість елементів управління й індикації. Елементи управління й індикації забезпечують користувача необхідною інформацією про алгопроект. Кожне вікно AlgoCAD має стандартний набір елементів управління: меню, заголовок вікна та іконки, що дозволяють розгорнути, згорнути і закрити вікно. У верхній частині головного вікна AlgoCAD розташовано меню, в якому є наступні пункти: Файл, Перетворення, Моделювання, Звіт, Допомога.

У випадку, коли вибирається елемент меню Файл, відкривається меню другого рівня і користувач може викликати на виконання ряд команд: Новий проект, Відкрити проект, Зберегти як проект, Зберегти як компонент, Вихід. «Новий проект» відкриває у вікні головного меню базової компоненти BLOCK з ім'ям AlgoProject. При цьому, якщо було вже відкрито якийсь проект, він автоматично закривається. «Відкрити проект» відкриває у вікні головного меню раніше розробленого алгопроекту. «Зберегти як проект» забезпечує зберігання розробленого алгопроекту. Зберігання пов'язано з указанням імені проекту (файлу) та шляху доступу до носія. «Зберегти як компонент» забезпечує зберігання розробленого алгопроекту в бібліотеку в якості компоненти. «Вихід» - закриває вікно головного меню.

У випадку, коли вибирається елемент меню Перетворення, відкривається меню другого рівня і користувач може викликати на виконання ряд команд: Структурування, Розпаралелення. «Структурування» передбачає автоматичне генерування такої алгоструктури, яка буде виконувати дії, що адекватні діям компоненти PROGRAM. Отриману алгоструктуру, яка складена з простіших бібліотечних компонентів, буде збережено в іншому файлі. «Розпаралелення» передбачає автоматичне генерування алгоструктури з рівнем розпаралелення, який задає користувач. Слід підкреслити, що алгоструктури можуть бути легко перетворені в VHDL-код або тексти програм на мовах програмування.

У випадку, коли вибирається елемент меню Моделювання, відкривається меню другого рівня (рис. 1) і користувач може викликати на виконання ряд команд: Відлагодження, Візуалізація. «Відлагодження» передбачає перехід AlgoCAD в режим налагодження функціонування алгопроекту і це відбувається в іншому вікні. «Візуалізація» ініціює роботу користувача з різними засобами відображення і відбувається також в іншому вікні.

У випадку, коли вибирається елемент меню Звіт, відкривається меню другого рівня і користувач може викликати на виконання ряд команд: Текст проекту, Схема алгопроекту, Оптимізація часу, Оптимізація ресурсів. «Текст проекту» дозволяє отримати текст програми алгопроекту, яка описує його структуру, склад, зв'язки та налагодження. «Схема алгопроекту» дозволяє отримати автоматично згенеровану схему алгопроекту (структура, алгокомпонети, зв'язки). «Оптимізація часу» дозволяє отримати гістограми завантаженості обчислень в алгоелементах з урахуванням оптимізації часу обчислень. «Оптимізація ресурсів» дозволяє отримати гістограми завантаженості обчислень в алгоелементах з урахуванням оптимізації наявних ресурсів.

Елемент меню Допомога дає змогу отримати докладні пояснення, пов'язані з використанням AlgoCAD.

Рис 1. Головне вікно AlgoCAD

У верхній частині під рядком меню головного вікна AlgoCAD розташована панель інструментів, призначена для прискорення доступу користувача до найбільш часто використовуваних операцій. Кнопки панелі інструментів дублюють деякі пункти меню головного вікна, та містить піктограму, яка підкреслює значення (табл. 1). Якщо підвести покажчик миші до піктограми кнопки, то з'явиться її назва. У головному вікні AlgoCAD виконуються етапи, пов'язані з проектуванням алгоструктур (табл. 2).

Таблиця 1

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

Піктограма

Назва

Операція, що виконується

1 и

Новий проект

Відкриття компоненти BLOCK для створення нового алгопроекту

1*

Відкрити проект

Відкриття раніш розробленого алгопроекту

10

Зберегти як проект

Зберігання розробленого алгопроекту

14

Зберегти як компонент

Зберігання розробленого алгопроекту в бібліотеку в якості компоненти

Ід

Відлагодження

Режим покрокового налагодження функціонування алгопроекту

Візуалізація

Режим візуалізації роботи алгопроекту

Фрагменти вікон проектування алгоструктур

Зображення вікна

Библиотека

< Стандарггные>

Призначення

Переименов. Создать паг

+ <Динамичес Ш- <Комутаторь Ш- <Модели> + <Нелинейноі + <Рєгуляторь Ш- <Системы> + <Специальні

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

П роект

SAU1

- Контурі Щ TZR1

Cyrvirviarropl Й OU1

&■ FIL1

і A-TF/T І   І: .••„• І .

1 Форму/ + INT1 WAIT1

Вікно редактора структури проекту призначено для оперативного відображення поточної структури алгопроекту, яка є ієрархічною та має деревовидну форму.

Библиотека

- <Lib_SALI>

< Динамически <:Кимутаторы> оделю <Нелинейности> <Регуляторы> <Системы> <Специальные> v

Доб     Доб є І

SAU1 -

+

Панель кнопок проектування структури алгопроекту к( передбачає наступні дії: Додати, Додати в, Видалити, Вверх, Вниз. «Додати» - дозволяє додавати в проект компоненти з бібліотеки. «Додати в» - дозволяє додавати в вказану частину проекту компоненти з бібліотеки. «Видалити» - дозволяє вилучати вказану компоненту з проекту. «Вверх», «Вниз» - дозволяють змінювати порядок слідування компонентів в проекті.

ті =□

Р1=0 " STOP1 =0

Параметры |   Удалить |   Формулы |

Вікно компоненти містить відображення вибраної у алгопроекті компоненти та панель кнопок, за допомогою яких для компоненти можна виконати налаштування: Параметри, Видалити, Формули, Коментарі.

Таблиця 2

Розглянемо редактор компонентів детальніше. За його допомогою можна робити потрібні налаштування для вибраної компоненти. Вікно компоненти містить відображення вибраної у алгопроекті компоненти та панель кнопок, за допомогою яких для компоненти можна виконати налаштування: Параметри, Видалити, Формули, Коментарі (рис. 1). «Параметри» - викликає меню, за допомогою якого додаються входи, виходи та константи. «Видалити» - видаляє вхід, вихід або константу, що вибрано. «Формули» - викликає вікно, в якому задаються формули. «Коментарі» -викликає вікно, в якому можна помістити коментар до компоненти.

Алгоструктурне зображення компоненти (рис. 1) являє собою набір керуючих елементів, за допомогою яких можна викликати відображення поточного стану редагованої компоненти. Даними елементами управління користувач може маніпулювати за допомогою «миші». У верхній частині зображення компоненти відображається ім'я і її тип (у даному випадку ім'я компоненти «TZR1», тип - «BLOCK»). При натисканні цього поля з'являється вікно діалогу (рис. 2). За його допомогою є можливість призначити компоненті нове ім'я.

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

Під полем імені компоненти, в загальному випадку, розташовані три області. У них відображаються: список входів (ліворуч), список виходів (праворуч) та список налагоджень (внизу). Входи, виходи та параметри налагоджень компоненти будемо називати елементами даних. Кожен із списків може містити довільну кількість елементів, яку визначає користувач. Якщо в будь-якому зі списків є більше п'яти елементів, то у цьому списку автоматично з'являється смуга прокрутки.

Кожен елемент із зазначених списків є рядком, який відображає: ім'я, поточне значення і станпідключення. Ознакою підключення входу, виходу або параметра налагодження компоненти є наявність символу «*» - знак множення, що розташовано перед ім'ям. Елемент, який було вибрано користувачем, виділяється в списку іншим кольором. Одночасно може бути обрано тільки один елемент з усіх трьох списків. Саме з вибраним входом, виходом або параметром налагодження працюють усі інші елементи управління панелі редактора компонентів (рис. 2).

Ця панель з'являється нижче схематичного зображення компоненти. Вона містить поля для налаштування: імені, початкового значення, типу. Ім'я є будь-яка послідовність літер і цифр, що починається з букви. Початковим значенням є число. Тип може приймати одне зі значень: Analog, Value, Digital. Крім того, є можливість вказувати наступне: ознаку необхідності підключення, яка визначає видачу діагностичного повідомлення у випадку, коли вибраний елемент даних не пов'язано з іншим елементом даних; ознаку необхідності зробити вибраний елемент даних доступним для відображення при моделюванні; ознаку того, що елемент даних повинен інвертувати свої значення. Зазначені поля для налаштування мають значення за замовчуванням, але користувач має можливість їх перевизначити. Всі зміни, що внесено в поля для налаштування вступають в силу тільки після натиснення кнопки «Застосувати». Після цього панель налаштування елементів даних зникає з екрану. Після натиснення кнопки «Скасувати» панель налаштування елементів даних зникає з екрану, але значення атрибутів елемента даних не змінюються.

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

Рис. 2. Вікно налаштування компоненти

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

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

Для того, що б скасувати виконане раніше підключення, необхідно так само обрати елемент даних, зробити подвійне натискання лівої кнопки «миші», натиснути у вікні комутації кнопку «Розірвати зв'язок» та підтвердити свій намір натисканням кнопки «OK». У випадку, коли необхідно для елемента даних, що є приймачем, змінити елемент даних (зробити перепідключення), що є джерелом, то розривати наявні зв'язки немає потреби. Достатньо вибрати потрібний елемент даних у вікні комутації та натиснути «OK». При цьому старий зв'язок буде скасовано автоматично.

Страницы:
1  2 


Похожие статьи

А Ф Горбатюк, С А Горбатюк - Алгоструктурне проектування обчислювальних структур комп'ютерно-інтегрованих систем управління