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

Системний підхід до проектування стійкого програмного забезпечення інформаційних систем управління Текст научной статьи по специальности «Математика»

CC BY
168
19
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СИСТЕМНИЙ ПіДХіД / СТіЙКЕ ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ / ГРАФОВі МОДЕЛі / ПОШАРОВЕ ПРОЕКТУВАННЯ

Аннотация научной статьи по математике, автор научной работы — Бойченко О. В.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Системний підхід до проектування стійкого програмного забезпечення інформаційних систем управління»

Ученые записки Таврического национального университета имени В.И. Вернадского Серия «Экономика и управление». Том 26 (65). 2013 г. № 1. С. 12-19.

УДК 681.518

СИСТЕМНИЙ П1ДХ1Д ДО ПРОЕКТУВАННЯ СТ1ЙКОГО ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ 1НФОРМАЦ1ЙНИХ СИСТЕМ УПРАВЛ1ННЯ

Бойченко О.В.

У статп розглядаються особливосп системного тдходу до проектування стшкого програмного забезпечення шформацшних систем управлшня на основi графових моделей, що дозволяе оргашзувати пошарове проектування програмного забезпечення

Ключовi слова: системний пщхщ, стiйке програмне забезпечення, графовi моделi, пошарове проектування.

ВСТУП

Вирiшення проблемних питань, пов'язаних iз забезпеченням стiйкостi функцiонування шформацшних систем управлшня (1СУ) е першочерговим завданням вдосконалення шформацшних технологш та комп'ютерних мереж.

Зазначене визначаеться високими вимогами до живучост 1С, необхщтстю забезпечення яюсно нового рiвня показниюв достовiрностi, доступностi, конфiденцiйностi, масштабностi та повноти даних 1СУ, а також високими вимогами до внутрштх та зовтштх показникiв якостi програмного забезпечення (ПЗ) 1СУ.

Однак невiдповiднiсть поточного рiвня показник]в живучостi, який здатна реалiзовувати iснуюча 1СУ, недостатнiсть поточного рiвня показникiв безпечностi функцiонування ПЗ 1СУ, невiдповiднiсть характеристик надiйностi (завершеноси, вiдмово стiйкостi, вiдновлюваностi) ПЗ 1СУ, що пiдтверджуеться результатами дослiджень таких вчених, як В.М.Глушков, А.1. Сбгтнев, О.А. Павлов, О.В. Палагiн, 1.Б. Сироджа, В.А. Широков, О.В. Барабаш, Р.А. Калюжний, Н.В. Шаронова, М.Я. Швець та шших, визначае актуальтсть проведення наукового дослiдження щодо розроблення методiв проектування стiйкого ПЗ 1СУ.

Метою дано! роботи е розроблення методолопчних основ застосування системного тдходу до проектування стшкого ПЗ 1СУ.

Результаты досл1дження. Застосування графу макростатв ПЗ 1СУ е основою системного тдходу у побудовi ситуацiйноi моделi проектування ПЗ 1СУ. У ввдповвдносл до [1] для здiйснення декомпозици необхiдно мати ситуацiйну модель, що вщображае множину ситуацiй зовнiшнього свпу у множину станiв ПЗ. У нашому випадку ситуаци зовнiшнього свпу - це сукуптсть знань про впливи середовища, стан об'екта управлшня, керуючо! ланки i поточнi цт управлiння у даний момент часу.

Процес побудови ситуацшно! моделi шюструеться рис. 1.

Прослр макроситуащш СУ

Рис. 1. До побудови ситуацшног моделi

Стани ПЗ - це таю сукупност задач i моделей 1СУ, якi реалiзуються у вiдповiднiй ситуащ! в ходi вирiшення задачi управлiння.

При опий ситуацш для 1СУ використовуються яюст характеристики, вираженi вербально, тому ситуацшна модель, що формуеться у 1СУ, е лише близьким описом процесу управлшня.

Ситуацiйна модель породжуе модель статв ПЗ у тому сени, що кожнш ситуащ! вiдповiдае сукуптсть задач i моделей в 1СУ.

На рис. 1 ^1,^2,- ситуацп, що склалися для 1СУ у вiдповiднi моменти часу; ^1,^2,^з,••• - стани ПЗ. Мiж ними е вщповщтсть Е{ = ,,^^ ■

Нехай Лх, А2,... — деякi оператори переходу iз ситуаци £1 до , i3 S2 до £3, щ оператори iнiцiюють виникнення деяких операторiв Вх,В2,..., за допомогою

яких здшснюеться перехiд ПЗ зi стану у до , до Уз ... .

Згадат ситуаци для 1СУ е узагальненими i називаються макроситуацiями. Вiдповiднi 1м стани ПЗ називаються макростанами.

Кожна макроситуацш породжуе макростан ПЗ 1СУ. Зв'язки i можливi переходи у просторi макроситуацiй породжують вiдповiднi переходи у просторi макростанiв ПЗ.

Макростани i переходи мiж ними утворюють граф макростанiв ПЗ 1СУ Ьт = (V,F) , в якому V = {у^ }, I £ I = {1,2,...,П } - множина вершин;

F = {у/,уу)},...(у/,уу) £ V2,у е J = {1,2,...,т} - множина орiентованих дуг

графа, причому У^ — початок, а V у - кшець дуги. У графi макростанiв множина

вершин iнтерпретуеться як сукуптсть задач i моделей, що вирiшуються у даному станi ПЗ, а зважет дуги показують напрямок i можливi ступенi здiйснення переходiв ПЗ зi стану у стан.

Графом шформацшних зв'язкiв (iнформацiйним графом) [2,3] у нашому

випадку будемо називати орiентований граф = (X, Ц 1) , що ввдображае потш даних у системi задач таким чином, що якщо задача 2 у £ X зв'язана за даними iз

задачею £ X , то 2 у £ Ц. Цей граф вiдповiдае схемi iнформацiйних поток]в

у системi задач i будуеться за iнформацiею про вхвдт i вихiднi набори даних для кожно1 задачi.

Кожна сукуптсть задач у ПЗ реалiзуеться тд управлiнням операцiйноi системи. При цьому обмеження на порядок виконання задач задаються

орiентованим графом Ьс = (X, Цс) , де X — множина задач, Цс — вiдображення X у X таке, що виконання 2у тсля тягне £Ц с2 у, тобто на

графi Ьс у цьому випадку е орiентована дуга. Граф Lс називають графом

управлшня, бо вiн ввдображае потш управлшня у системi. Вш е базисним графом iнформацiйного графа i може бути отриманий вилученням транзитивних дуг останнього [93, 94].

Наявтсть даного графа дозволяе виршувати задачi розподшу програм в обчислювальнш системi, моделювати боротьбу за ресурс на початкових стадшх проектування.

Нехай задана множина елеменпв програмного забезпечення (структурт примiтиви, модулi, iнтерфейси i т. iн.) А = {ау}. На цiй множинi задаеться

вщношення включення таке, що а1Ква/ ^^ а/ С а,, тобто а, i а/ зв'язат вiдношенням R6 тодi i тшьки тодi, коли елемент а / е структурною компонентою елемента а, [4].

Вщношення R6 породжуе дуги на графi Ls = (А, W)

aiR6 а/ « (а ¡а?); а,,а/ е А^ а,, а^ eW■

Графом структури програмного забезпечення (структурним графом) називаеться базисний граф графа .

Даний граф може бути використаний при дослщжент питань стiйкостi програмного забезпечення.

У самому загальному випадку схема будь-яко!" програми мютить оператори, що виконують двi функци: перетворення i розпiзнавання. Вiдповiднi оператори, що

реалiзують цi функци, назвемо перетворювачами (Рг) i розпiзнавачами

(Р ) (предикатами) [5].

Нехай кнуе робоча програма, що реалiзуе одну з задач ПЗ. Сукуптсть дш, що полягае у введент даних, одноразовому виконаннi програми i що зак1нчуеться отриманням результатiв, назвемо прогоном програми.

На множит {Рг} перетворювачiв введемо вiдношення Rn («виконуеться при

одному прогот»): Ргг- Rn Рг/. На цш же множинi введемо вiдношення RBl

(«завжди виконуеться при одному прогот»), тобто РГ1 Рг^ значить, що якщо

при прогонi виконуеться оператор Р^ , то виконуеться Рг^ , i навпаки.

Вщношення RBl мае властивостi симетричностi, рефлексивност i транзитивностi, тобто е вщношенням еквiвалентностi, яке визначае на множит

деяке розбиття на класи е^валентност {Рг} = ^В1/, В1^ ^ ВК = ® .

Клас е^валентносл В/. назвемо програмним блоком.

Програмний блок - структурна програмна одиниця, що являе собою безперервну послiдовнiсть операторiв i мае таку властивiсть: при виконант хоча б одного з операторiв виконуються всi iншi оператори послщовносл [6].

Графовою моделлю програми (графом програми) називаеться орiентований граф з позначеними дугами, в якому кожнш вершит вщповвдае програмний блок.

Lp = (В1, К), В1 = {Ы,}, К = {{В1 ,, В1)}.

Дуга (В/ч, В/у I, позначена предикатом Р , iснуе тодi i лише тодi, коли пiсля

виконання програмного блока, асоцшованого з вершиною В// , управлiння

передаеться на вхвд програмного блока, асоцiйованого з вершиною В1у, якщо

предикат Р гстинний (Р) = 1.

У графi програми шляхи з початково! вершини до кiнцевоi зображуються послiдовнiстю дуг

/ = (( В/1, В/2),( В/2, Б1з),..{ В1п _1, В1П)).

Тодi предикат шляху е кон'юнкщею предикатiв дуг, що складають цей шлях

Р/ = Р & Р & & Р

1 1 1,2 ОС1 2,3 ОС... ОС П—1,п .

Нехай А - множина вхвдних даних програми, на графi яко! задана множина

шляхiв {/} з визначеними на них предикатами шляхiв {Р }. Розглянемо два випадки [7]:

предметна область всх предика™ Р збiгаеться з множиною А ; предметна область всх предика™ Р не збiгаеться з А . У першому випадку область ютинносл Р збтаеться з деяким А { С А.

Вибiр деякого елемента даних 1 £ А / при прогот програми забезпечуе

проходження крiзь дуги ^ вiдповiднi вершини) шляху /к. Областi iстинностi предикатiв шляхiв у цьому випадку утворюють розбиття вхщних даних

А = и А.; А. п А. = <8>, I * ] або А = ^Р/{ир РНи) п Р{и) = ®.

При цьому

А / = Р/(и) = (РШ2 &Р1213 &РКп-1)1п(и)} = Р(и)Ш2 п Р(и) 1213 П... П Р(1\п-1)1п

Це означае, що область iстинностi предиката шляху // е перетин областей

ютинносл предикатiв дуг, що його складають.

У другому випадку можна видшити варiант, коли предметна область деяко!

змiнноi предиката Р збтаеться з деякою проекцiею множини А на деяку вкь

Р (и) с пр11...18 А,

тобто областi iстинностi предикатiв шляхiв утворюють

розбиття деяких проекцiй множини вхщних даних, а, отже, вше! множини.

Якщо такого варiанта видшити не вдаеться, проводиться перетворення предметних змшних предиката шляху в змшт з предметно! областi, яка збтаеться з

одтею з проекцш Л, тобто необхiдно провести замiну змiнних на деяю функщ!" вiд змiнних з вхвдного набору.

Таким чином, твердження про те, що областi ктинност предикатiв шляхiв графа створюють розбиття множини вхiдних даних програми, яка моделюеться цим графом, виявляеться справедливим i в другому випадку.

Таке подання програми у виглядi графово!" моделi е плiдним, оскiльки при завдант iмовiрнiсного розподшу вхiдних наборiв дозволяе обчислити деякi важливi iмовiрнiснi характеристики програм, а також провести додатковi дослiдження ступеня !"х структурно!" складности

Граф програми Lp ввдображае потiк управлiння у системi на бшьш низькому

рiвнi (шарi) по вщношенню до графа управлiння .

Наведенi графовi моделi мають концептуальну еднiсть. Це дозволяе подати !"х у виглядi графа мультиструктури, що описуе ПЗ у цшому.

Для побудови мультиструктури вводиться операцш детально"! розшифровки [8].

Нехай кортеж у = ( А, С, D, Е) описуе один з рiвнiв формального подання,

де А - множина вхщних вершин; С - множина вершин; D - множина мггок; Е -вiдображення множини (А и С) у множину С : Е : (А и С) X D —> С .

Припускаеться, що будь-яка вершина С £ С досяжна з деяко"! вершини

а £ А.

Операщя детально!" розшифровки у^ за допомогою У2 у вершинi с позначаеться У! (с) ^ у2 (а) i визначае новий рiвень формального опису

у = ( А1, С1 и С2, D1 и D2, Е,

де Е(Ь, d) = Е1 (Ь, d), якщо Ь £ А1 и С1, d £ D1; Е(Ь, d) = Е2 (Ь, d),

якщо Ь £ С2, d £ D2; Е(Ь, d) = Е2 (а, d), якщо Ь = с, d £ D2.

На практицi операцш детально!" розшифровки мае вигляд У1 (с) ^ у2 , оскшьки добре структурована програма повинна мати одну вхвдну точку

(А2 = {а}).

Нaявнiсть графових моделей дозволяе оргатзувати пошарове проектування ПЗ, ставити i вирiшувaти оптимiзaцiйнi зaдaчi структурного aнaлiзу i синтезу, що розподшеш по етапах, вiдповiдних прийнятим рiвням абстракцГ!.

Важливою характеристикою ПЗ е його усталетсть: спроможнiсть зберiгaти певний рiвень прaцездaтностi, незважаючи на несприятливi впливи зовнiшнього (i внутрiшнього) середовища [9].

Усталетсть ПЗ до впливiв, що збурюють, може бути охарактеризована одним iз таких рiвнiв:

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

спроможнiсть продовжувати виконання функцiй у повному обсязi (переходити на резерв у тш або iншiй формГ);

спроможнiсть виконувати зaдaчi зi зменшенням обсягу функцiй i, можливо, iз зниженням якостi (реaлiзувaти шлях вщступу);

спроможнiсть переходити в стан «м'яко"!» вiдмови при помилцi, що не тддаеться усуненню.

Таким чином, виявлення, дiaгностикa i iдентифiкaцiя помилок ПЗ та його ввдновлення - системою зaходiв устaленостi ПЗ. Практика роботи програм сучасних 1СУ вказуе на низью показники реaлiзaцii стiйкого ПЗ з приводу ввдсутносл системного тдходу та iногрувaння можливостi прояву помилок при застосування вiдомих методiв i зaсобiв контролю роботи програм.

ВИСНОВКИ

Системний щдхГд до проектування стшкого ПЗ 1СУ забезпечуеться: розробленням специфшацш, що базуються на визнaннi факту можливосл виникнення перекручувань у робой обчислювальних засобГв (ОЗ) i ПЗ; розробленням програмних засобГв контролю i виправлення помилок у роботi ОЗ; вибором ОС, що мае розвинуп засоби контролю виконання програм i роботи ОЗ, максимальним використанням i розвитком дiaгностичних можливостей ОС; використанням концепцГ! головно!" зaдaчi - штерфейсу мiж ОС i ПЗ для оргатзаци контролю г вiдновлення; розробленням структури ПЗ, що використовуе зворотний зв'язок мГж пГдпорядкованим Г верхтм рГвнем; розмГщенням засобГв контролю виконання ПЗ ввдповвдно до рГвнГв ГерархГ! в системГ; резервуванням найважливГших функцш 1СУ за допомогою локальних пристро!"в; правильною експлуатацГею 1С; вГдповГдною оргатзащею роботи колективу розроблювачГв.

РеалГзацГя усталеносп ПЗ забезпечуеться виявленням, дГагностикою Г корекщею помилки з наступним ввдновленням. В даний час е велика кГлькгсть методГв Г засобГв контролю роботи програм, проте, широкш практичнш реалГзацГ! стГйкого ПЗ заважае ввдсуттсть системностГ пГдходу, недооцГнка можливостГ прояву помилок.

Список л^ератури

1. Сбитнев А. И. Декомпозиция программного обеспечения в многомашинных системах управления: Системный анализ / А. И. Сбитнев, Б.Д. Шепетюк. - К.: ИК АН УССР, 1982. С. 26-52.

2. Сбитнев А. И. Использование псевдофизического языка для описания ситуаций при проектировании СМПО КСАУ военного назначения / А. И. Сбитнев, А. Ю. Пермяков // Автоматика-98: 5-а укра!"нськ. конф.: тези допов. - Ч. 4. - К.: НТУУ КП1, 1998. - С. 304-309.

3. Сбитнев А. И. Анализ графов математического обеспечения для нахождения параметров операционных систем: Системный анализ / А. И. Сбитнев, Б. А. Ромов. - К.: ИК АН УССР, 1974. - С 83-85.

4. Хетагуров Я. А. Проектирование информационно-вычислительных комплексов: монография / Я. А. Хетагуров, Ю. Г. Древс. - М.: Высшая школа, 1987. -280 с.

5. Bohm C. Flow diagrams, Turing machines and Languages with only two formation rules / С. Bohm, G. Jacopini // Comm. of ACM. -1986. -Vol. 9. - №5. - Р. 366-371.

6. Сбитнев А. И. Структурная организация и проектирование математического обеспечения АСУ ТП: дис. ... д-ра техн. наук: 05.13.11 / Сбитнев Анатолий Иванович. - К., 1989. - 447 с.

7. Сбггнев А.1. Аналiз моделей життевого циклу програмного забезпечення / А.1. Сбггнев, С.В. Ленков, О.М. Грищак, О.В. Горшков // Вкник Ктвського нащонального ушверситету iменi Тараса Шевченка. - К., 2005. - №10. - С. 36-39.

8. Вирт Н. Алгоритмы + структуры данных = программы: монография / Н. Вирт; [пер. с англ.] -М.: Мир, 1985. - 406 с.

9. Wirth N. On the Composition of Well-Structured Programs / N. Wirth // Computing Surveys. - 6. -№4, 1974. - PP. 257-259.

Бойченко О.В. Системный поход к проектированию устойчивого программного обеспечения информационных систем управления / Бойченко О.В. // Ученые записки Таврического национального университета имени В. И. Вернадского Серия: «Экономика и управление». - 2013. - Т. 26 (65). № 1. - С. 12-19.

В статье рассматриваются особенности системного подхода к проектированию устойчивого программного обеспечения информационных систем управления на основе графовых моделей, позволяющих организовать послойное проектирование программного обеспечения. Ключевые слова: системный подход, устойчивое программное обеспечение, графовые модели, послойное проектирование.

Статья поступила в редакцию 02. 09. 2013 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.