Програмне забезпечення

ЛЕКЦІЯ 9

ТЕМА: ПРОГРАМНЕ, ІНФОРМАЦІЙНЕ І ОРГАНІЗАЦІЙНЕ ЗАБЕЗПЕЧЕННЯ АСУ

9.1 Програмне забезпечення

9.2 Інформаційне забезпечення

9.3 Організаційне забезпечення АСУ


Етап програмування є одним із найбільш важливих і трудомістких при розробці автоматизованих систем рівні комп’ютерних технологій.

Програмне забезпечення АСУТП - це сукупність програм, необхідних для реалізації функцій даної системи. Програмне забезпечення (ПЗ), відповідно до ГОСТ 19781-83 можна розділити на дві частини - функціональне, або спеціальне, і загальне, або системне, що показано на наступній схемі (рисунок 1):

 
 

Рисунок 9.1 Класифікація ПЗ АСУТП

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

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

По своїй структурі, сучасна керуюча ЕОМ нагадує промислове підприємство, на котрому одночасно працюють десятки цехів і інших підрозділів. Кожне виробництво ведеться у своєму режимі і потребує особливого контролю. Таким чином, складається, що для керування ЕОМ, потрібно мати як би ще одну обчислювальну машину. Звідси напрошується питання, а чи не можна для керування обчислювальным процесом в ЕОМ використовувати ту ж саму ЕОМ, передбачивши відповідний комплекс керуючих програм, з огляду на колосальну швидкодію сучасних машин? На це питання отримана позитивна відповідь.

Сукупність керуючих, допоміжних і службових програм, необхідних для управління роботою ЕОМ, реалізована на цій же самій машині, одержала назву операційної системи (ОС). Сучасні ОС містять десятки програм, сотні тисяч і мільйони команд ЕОМ і практично цілком автоматизують обчислювальний процес, синхронізуючи роботу всіх зовнішніх і внутрішніх пристроїв. Без ОС ЕОМ, по сутіі, перетворюється в набір окремих пристроїв, не спроможних до спільної роботи. У АСУТП застосовуються так звані операційні системи реального часу (ОС РВ), коли опрацювання і передача інформації повинні здійснюватися за час, що не перевищує часу протікання самого процесу. Від ЕОМ, що працює в режимі реального часу потребується велика швидкодія, висока надійність і живучість, тобто спроможність виконувати покладені на її функції навіть при виході з ладу деяких її елементів.

Мови програмування - один із найбільше розвитих поділів ПО.

Наприклад, є математичний запис:

якщо А>У, те С=А, інакше С=В. Цей алгоритм зрозумілий будь-якій людині. Якщо переписати його у виді, зрозумілому для ЕОМ, то утворюється ланцюжок нулів і одиниць. Дві ці форми запису намічають дві крайні точки спектра, де можна розмістити всі мови, на яких сьогодні пишуть програми для комп'ютерів. Сучасна тенденція полягає в прагненні максимально наблизити мову програмування до звичайної людської мови, тобто навчити ЕОМ розуміти і використовувати людську мову.

Існуючі мови програмування прийнято поділяти на чотири рівня.

I (нижчий) рівень - внутрішня мова команд конкретної ЕОМ, що складає з 0 і 1.

II рівень - це автокоди, у котрих деякі найпростіші, найбіль використовувані послідовності машинних команд об'єднані в коди, що полегшує стомливу роботу програміста.

Мови першого і другого рівнів називають машинно-орієнтованими, тому що вони призначені для використання в конкретних ЕОМ.

Третій рівень - мови, призначені для вирішення визначеного класу задач і практично не залежні від типу ЕОМ, що використовується.

Ці мови зручні для формулювання задач спеціалістами, проте, для їхнього використання необхідні т.зв. трансляторы, призначені для автоматичного перекладу на внутрішню мову ЕОМ.

Четвертий рівень (вищий) - мови, максимально наближені до звичайної людської мови і дозволяють здійснювати пряме спілкування людини з ЕОМ без якоїсь спеціальної підготовки. Мови цього рівня розробляються для машин п'ятого покоління - ЕОМ із штучним інтелектом.

Найбільш поширені в даний час- це мови високого рівня, тому що вони на сучасному етапі найбільш зручні для використання спеціалістами визначеної області для ЕОМ 3-4 поколінь.

Слід зазначити, що перші вітчизняні мікроЕОМ працювали з машинно-орієнтованою мовою, насамперед асемблером. Цього потребували ті невеличкі обсяги пам'яті, яким володіли такі мікроЕОМ, як “Електроніка БК”, “Мікроша”, “Крісті”, “Апогей”, “Спеціаліст”, “Львів”, “рК-86” і ін. Тому один час існувала думка, що без знання Асемблера не можна вважати себе програмістом.

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

Незважаючи на те, що мов програмування сьогодні більш 500, їх неважко розділити на декілька основних груп. У першу групу об'єднані всі алгоритмічні мови, тобто ті, що дозволяють закласти в машину рішення задачі - алгоритм. Найбільше відомі представники цієї групи - Фортран, Бейсік, Алгол, Сі, Паскаль, модула-2, Кобол, ПL /1, Ада, Форт.

Друга група - це логічні функціональні мови, що використовуються в області штучного інтелекту. Це мови Лісп, Оккам, Пролог, Смолток. Слід зазначити, що перші представники обох груп з'явилися практично одночасно в 50-і роки.

Одним із патріархів алгоритмічних мов вважають Фортран.

Фортран - (від англ. FORmula TRANslating System - система трансляції формул). Назва цієї мови говорить про його орієнтацію на рішення науково - технічних задач. Фортран розроблений фірмою IBM у середині 50-х років. У той час електронна начинка комп'ютерів і носії інформації були дорогі, тому традиційний Фортран ошадливо обертається з пам'яттю, у ньому була відсутня можливість непрямої адресації, і тому він погано подається структуруванню. Багато програмістів вважають це істотною хибою. На Фортрані у нашій країні пишуть і продовжують їм користуватися вже більш 30 років тому, що затвердився парк машин типу ЄС ЕОМ і існує величезне число готових програм. Одна з останніх версій цієї мови - фортран-8х. Для персональних комп'ютерів отримана версія фортран-77.

Бейсік - (від англ. Beginner's All-Pupose Symbolie Instruction Code - універсальний символічний код інструкцій для починаючих) - прямий нащадок Фортрана і, мабуть дотепер найпопулярніша мова програмування для персональних ЕОМ. З'явився Бейсік у 1964 р. (засновники - американці Джон Кемені і Томас Курц). Бейсік найбільше підходить до мікроЕОМ через те, що його інтерпретатор займає в пам'яті ЕОМ зовсім мало місця, наприклад дисковий Бейсик початку 80-х років розміщається в 8 Кбайт ПЗУ. На відміну від Фортрана, Бейсик вміє оперувати не тільки числовими, але й символічни- ми перемінними, тому він більш підходить для рішення нескладних повсякденних задач. І, не дивлячись на потужний натиск мови Паскаль, Бейсік ще деякий час буде залишатися найбільше популярною мовою програмування. До того ж розроблені потужні версії касетного і розширеного Бейсіка, що по своїх можливостях наблизилися до Фортрану. Останніми версіями мови є GW BASIC і ТURBO-BASIC.

Алгол- (від англ. ALGOritmic Languagl - алгоритмічна мова). Одночасно з Фортраном зайнялися розробкою мови, що дозволяє вирішувати більш широке коло задач. Такою мовою став Алгол, якому властиві всі сучасні риси алгоритмічної мови (можливість рекурсії, тобто прийом, що дозволяє скласти короткі ефективні програми), спроможність до структурування, самодокументації і т.д. Сьогодні ці критерії є як би міркою оцінки мов програмування, що розробляються. Розрізняють Алгол - 60, у якому цілком були відсутні засоби вводу-виводу, і більш сучасний Алгол - 68. Але усе ж Алгол “запізнився”. Гроші, витрачені численними власниками ЕОМ на фортрановське ПО, зупинили розвиток Алгола, що так і залишився мовою теорії і сьогодні практично відсутні компілятори цієї мови для ПЭВМ. Принципи, притаманні Алголу, увійшли в сучасні мови: PL /1, Паскаль і Сі.

Мова Сі (від англ. С - третя буква алфавіту). Задумана як інструмент для реалізації і розвитку відомої ОС Юнікс, що дозволяє глибоко входити у самі тонкощі опрацювання інформації на ЕОМ. Такі задачі під силу лише машинно-орієнтованому Асемблеру. Але, хоч мова Сі потребує від програміста високої дисципліни, він не суворий у формальних претензіях і припускає стислі формулювання. Сі - це порівняно невеличкий легко досліджуваний мовний сердечник. Проте важкий засіб запису цієї мови, що, не зважаючи на властиві йому усіх рис сучасної мови, не дозволяє починати з нього знайомство з програмуванням.

Паскаль (Pascal) названий на честь знаменитого французького математика Блеза Паскаля. (Створений швейцарським професором Ніклаусом Віртом) по популярності програє поки що лише Бейсіку, та й то незначуще. Це перша мова істотно структурного проектування. Програми на Паскалі можна формувати з окремих, цілком незалежних процедур і функцій, кожна з яких покликана виконувати визначену обмежену задачу, що дозволяє створювати великі програмні комплекси, окремі частини яких створюють різні автори. Мова дозволяє змінити типи введених даних, що істотно спрощує процедуру упорядкування програм. Розроблено багато версій Паскаля для мікроЕОМ Проте існує думка про зайву формальність, жорстких і дріб'язкових вимог до програміста, що викликає порівняння цієї мови з квадратним колесом. Критика мала дію і Турбо-Паскаль претендує на популярність Турбо-Бейсіка.

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

Кобол - (від англ. Common Business Oriented Langnage - мова, орієнтована на загальний бізнес). Мова дозволяє працювати з великою кількістю даних і насичена різноманітними можливостями пошуку, сортування і розподілу. Програми на цій мові - самодокументуються, тобто зрозумілі навіть не програмістам, а програми мікроЕОМ і великих машин сумісні. До мінусів Кобола варто віднести можливість програмування лише найпростіших алгебраїчних виразів, а для інженерних розрахунків він не пригодний.

ПЛ/1. (Від англ. PL /1 - Programming Language - мова програмування один) - результат однієї з перших спроб створити універсальну мову. ПЛ/1 розроблена фірмою ІБМ на початку 60-х років і одержала у спадщину риси Фортрана, Алгола і Кобола. Мова нагадує конструктор із великим числом деталей - користувачу достатньо засвоїти тільки необхідні йому частини мови. Програмісту, що почав із Бейсіка, легше вивчити саме ПЛ/1, ніж Паскаль, що є однією з причин утримання цією мовою позицій на великих ЕОМ, незважаючи на те, що він так і не зробився універсальною мовою, і більшість його операторів громіздкі. ПЛ/1 називають живим динозавром у Вавилоні сучасних мов програмування, що так і не був реалізований у повному обсязі на мікроЕОМ.

Мова Ада (Ada - на честь графині Ади Лаврейс, дочки лорда Байрона, що ніби то написала разом із Чарльзом Беббіджем першу програму для його аналітичної машини ще в 1830 р.). Мова розроблена за завданням міністерства оборони США в середині 70-х років і призначена для програмування вмонтованих у військову апаратуру спеціалізованих ЕОМ. Як і Паскаль, мова Ада дозволяє контролювати різноманітні обчислювальні процеси і, в той же час, дозволяє створювати великі програмні проекти. Майбутнє мови Ада для мікроЕОМ загального призначення поки не визначено.

Мова Форт (від англ. forth - вперед і, одночасно, forth - четвертий). Автор - Чарльз Мур задумував Форт як мову керування. Ідея мови - спираючись на невеличкий вихідний словник визначати нові слова, включати їх у бібліотеку і через них одержувати нові слова. Недоліком Форту є складність написання і читання. Він жадає від програміста ретельності, але разом з тим дозволяє написати будь-яку програму в реальному часі. З розвитком ПЕОМ популярність Форту росте, і сьогодні ця мова займає третє місце після Бейсіка і Паскаля.

Лісп (США) - застосовується для побудови штучного інтелекту. Це друга після Фортрану за віком мова і, на відміну від процедурних мов типу Бейсіка або Паскаля, Лісп - представник мов функціонального програмування і дозволяє здійснювати динамічне опрацювання даних, що подані у виді списків, що складаються як розрахункові данні, так і програму. Лісп вирішує задачі, у котрих відсутній чіткий алгоритм рішення. Якщо звичайно мову створюють, орієнтуючись на конкретну машину або клас машин, то в даному випадку для нових версій Ліспа з'явилися Лісп --комп'ютери, що відповідають особливостям цієї мови.

Пролог (від англ. PROLOG - PROgramming in LOGic - "логічне програмування") - це європейська противага американському Ліспу і також призначена для створення систем штучного інтелекту. За концепцією мови, комп'ютер повинен самостійно виводити результат із фактів і правил, при цьому не одержуючи від програміста шлях рішення, а лише при цьому називаються об'єкти і стосовні до них логічні зв'язки. Як і Лісп, Пролог не розрізняє дані і програму і є інструментом для розвитку систем 5 покоління в Японії. Пролог у повному обсязі викликає межу можливостей мікро-ЕОМ, його використовують.

Відомі ранні версії Прологу для мікроЕОМ 3-го покоління, але вони можуть грати лише навчальну роль. Широко поширений Турбо-Пролог, але в ньому відсутня властивість змінювати використовувану програму.

Оккам (Оккам - на честь філософа У. Оккама) використовується разом із т.зв. транспьютером, що працює у мікроЕОМ і дозволяє використовувати декілька паралельно працюючих мікропроцесорів. Оккам поділяє рішення задачі на процеси, що паралельно протікають.

Смолток (Small Talk - "коротка розмова") - мова, що працює з абстрактними об'єктами, нічого загального не маючі ні з числами, ні з технічними властивостями мікроЕОМ, тобто містить ідеї, що нерідко перевершують можливості сучасних комп'ютерів і намагаються підступитися до задач штучного інтелекту, доступних сьогодні лише людині.

Слід зазначити, що з розвитком автоматизованих систем і мікроЕОМ,

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

При розробці програмного забезпечення АСУТП, розробляються документи, перелік яких обумовлений ГОСТ 19.101-77 і ЄСПД - єдиною системою програмної документації і включає ьакі дкументи, як:

1) текст програми;

2) опис програми;

3) специфікація;

4) опис застосування;

5) інструкція програміста;

6) інструкція оператора;

7) формуляр, що є супровідним документом на кожну програму і містить її стислий опис, комплектність, а також відомості про експлуатацію і зміни.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: