У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент





ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Національна академія наук України

Інститут проблем моделювання в енергетиці ім. Г.Є. Пухова

Крамар Юлія Михайлівна

УДК 004.415.2 (043.3)

МЕТОДИ ТА ІНФОРМАЦІЙНО-ПРОГРАМНІ ЗАСОБИ

СИНТЕЗУ ТА АНАЛІЗУ СТИЛІВ ПРОГРАМУВАННЯ

05.13.06 - автоматизовані системи управління та

прогресивні інформаційні технології

Автореферат

дисертації на здобуття наукового ступеня

кандидата технічних наук

Київ - 2005

Дисертацією є рукопис.

Робота виконана на кафедрі інженерії програмного забезпечення Національного авіаційного університету Міністерства освіти і науки України.

Науковий керівник:

доктор технічних наук, професор

Сидоров Микола Олександрович,

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

Офіційні опоненти:

доктор фізико-математичних наук, професор

Вельбицький Іван В’ячеславович,

директор Міжнародного наукового центру технології програмування Державного департаменту з питань зв’язку та інформатизації Міністерства транспорту та зв’язку України і НАН України,

кандидат технічних наук, старший науковий співробітник

Шелестов Андрій Юрієвич,

старший науковий співробітник Інституту космічних досліджень НАН України та Національного космічного агентства України.

Провідна установа:

Інститут програмних систем НАН України,

відділ програмної інженерії, м. Київ

Захист відбудеться "01" березня 2005 р. о 14 годині на засіданні спеціалізованої вченої ради К 26.185.02 Інституту проблем моделювання в енергетиці ім. Г.Є. Пухова за адресою: 03164, Київ, вул. Ген. Наумова, 15.

З дисертацією можна ознайомитись у бібліотеці Інституту проблем моделювання в енергетиці ім. Г.Є. Пухова за адресою: 03164, Київ, вул. Ген. Наумова, 15.

Автореферат розісланий "29" січня 2005 р.

Вчений секретар спеціалізованої

вченої ради К 26.185.02, к.т.н. Семагіна Е.П.

ЗАГАЛЬНА ХАРАКТЕРИСТИКА РОБОТИ

Актуальність теми. Сьогодні широкого розповсюдження набувають методи розробки програмного забезпечення (ПЗ) і моделі життєвого циклу, що засновані на багаторазовому і вторинному використанні ПЗ, застосуванні успадкованого ПЗ.

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

У різний час проблему застосування стилю у програмуванні так чи інакше вивчали Е. Дейкстра, І. Керніган, Ф. Плоджер, В. Тассел, І. Вельбицький, О. Єршов, І. Потосін. Але питання представлення стилю, автоматизованого формування та аналізу стилів програмування не знайшли достатнього розвитку і залишаються актуальними.

Зв'язок роботи з науковими програмами, планами, темами. Дослідження виконувалися відповідно до планів науково-дослідних робіт Національного авіаційного університету на кафедрі інженерії програмного забезпечення в рамках держбюджетних тем № 949-ДБ00 "Проведення теоретичних досліджень і розробка методичних засобів комп'ютерно-орієнтованих систем вимірювання програмного забезпечення" (державний реєстраційний № 0100U003955) і № 060-ДБ02 "Розробка наукових основ стилістики програмування" (державний реєстраційний № 0102U000384).

Мета і задачі дослідження. Метою дисертаційної роботи є розробка методів та засобів формування і застосування стилів програмування в розробці і дослідженні ПЗ та навчанні програмуванню. Для досягнення мети було поставлено і вирішено такі задачі:

- розробити модель предметної області як системи понять (онтологію), що забезпечує формування і застосування стилів програмування;

- сформулювати постановки задач формування і застосування стилів програмування;

- розробити методи вирішення сформульованих задач, визначити алгоритми та процедури, що пов'язані із застосуванням методів, і розробити моделі пристроїв для реалізації цих алгоритмів та процедур;

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

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

Об'єкт дослідження – процеси програмування при розробці ПЗ із застосуванням компонентів вторинного використання та успадкованого ПЗ.

Предмет дослідження – формування та застосування стилів програмування.

Методи дослідження:

- класифікація, моделювання (при формалізованому описі стилю програмування, методів і засобів формування і застосування стилю програмування);

- аналіз і проектування ПЗ (при розробці комплексу інформаційно-програмних засобів);

- науковий експеримент (при дослідженні працездатності розроблених інформаційно-програмних засобів).

Наукова новизна отриманих результатів. У результаті проведеного дослідження отримані наступні результати:

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

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

- запропоновано та описано методи вирішення визначених задач, а саме, методи синтезу стилю програмування та стилю мови програмування, контролю, аналізу та перетворення стилю програми;

- запропоновано засоби формування та застосування стилів програмування та розроблено їх математичні моделі;

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

- запропоновано використання розробленого комплексу засобів в межах відповідних інформаційних технологій формування і застосування стилів програмування для різних галузей, що пов’язані з розробкою ПЗ;

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

Практичне значення отриманих результатів. Запропоновані методи та комплекс інформаційно-програмних засобів використовуються в процесі вивчення навчальної дисципліни "Основи програмування та алгоритмічні мови" за напрямом професійної підготовки фахівців спеціальності 0804 "Комп'ютерні науки" (акт впровадження результатів дисертаційної роботи в навчальний процес Національного авіаційного університету), в НДР №060-ДБ02 “Розробка наукових основ стилістики програмування” (акт впровадження результатів дисертаційної роботи в НДР Національного авіаційного університету) та в розробці ПЗ для прикордонних військ України (акт впровадження результатів дисертаційної роботи у виробництво відділом автоматизованих систем програмно-цільового управління Інституту програмних систем НАН України).

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

Апробація результатів дисертації. Результати досліджень доповідалися й обговорювалися на міжнародних науково-практичних конференціях з програмування "УкрПРОГ’2002" і "УкрПРОГ’2004" (Кібернетичний центр ім. В.М. Глушкова Національної академії наук України, м. Київ), міжнародних науково-технічних конференціях "АВІА - 2000", "АВІА - 2001" і "АВІА - 2004", міжнародної наукової конференції студентів і молодих учених "Політ 2004" (Національний авіаційний університет, м. Київ), ІІ та ІІІ Всеукраїнських молодіжних науково-практичних конференціях з міжнародною участю "Людина і космос" (Національний центр аерокосмічної освіти молоді України, м. Дніпропетровськ), семінарі Інституту програмних систем Національної академії наук України (м. Київ) і наукових семінарах Національного авіаційного університету (м. Київ).

Публікації. Результати досліджень викладені в 9 друкованих працях, з них 4 – в збірниках наукових праць, перелік яких затверджено ВАК України, 2 – в наукових спеціалізованих виданнях, і 3 - в збірниках тез доповідей наукових конференцій.

Структура й обсяг дисертації. Дисертаційна робота складається з вступу, чотирьох розділів, що містять 36 рисунків і 6 таблиць, списку використаної літератури з 89 найменувань, 6 додатків. Загальний обсяг роботи становить 199 сторінок, із яких 128 – основного тексту.

ОСНОВНИЙ ЗМІСТ РОБОТИ

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

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

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

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

Застосування СПр натепер здійснюється двома шляхами: вручну або за допомогою спеціальних програмних засобів.

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

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

У розділі сформульовано такі задачі дослідження:

- дати онтологію понять та відносин, пов’язаних із застосуванням стилю в програмуванні;

- визначити задачі, що виникають при формуванні і застосуванні СПр;

- запропонувати методи вирішення цих задач, визначити процеси, які реалізують відповідні методи, та розробити пристрої вирішення задач визначеними методами;

- реалізувати пристрої в засобах, що спрямовані на комплексне вирішення задач формування і застосування СПр шляхом використання вказаних методів;

- провести експериментальні дослідження працездатності засобів.

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

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

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

Стиль програміста (СПт) - це набута властивість програміста знати визначений СПр і застосовувати його при написанні програм. Набуття цієї властивості відбувається під час вивчення СМП.

Стиль програми (СПм) - це властивість програми відповідати вимогам СМП. Неповне дотримання вимог веде до стилізації програми.

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

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

Сутність методу синтезу СПр, що пропонується для вирішення задачі створення стилю СПр, полягає у формуванні на множині всіх систематизованих правил R* певної підмножини правил Rі, що відповідають ідеї K стилю Sі, що описується, на основі одного з раніше ідентифікованих стилів культур із вказівкою для кожного правила в стилі Sі питомої ваги qj, що характеризує ступінь відображення ідеї стилю в правилі. Для вирішення задачі запропонованим методом необхідний деякий пристрій (рис. 1,а), на вхід якого надходить множина правил R*, інформація про ідентифікований стиль і його ідея K. На виході пристрою формується стиль Sі, що відповідає ідеї K.

Задача вирішується в два етапи. На першому етапі формується підмножина правил Rі, що відповідають ідеї K. У підмножину входять правила стилю Sі, що створюється. Під час формування підмножини Rі використовується бінарне рефлексивне симетричне нетранзитивне відношення G і функція u. Відношення G є таким, що пари правил (rm, rn) належать йому, якщо застосування правила rm не виключає можливість застосування правила rn. Функція u(rj*, zj*), де , , використовується для формального опису вибору правила і повертає rj* при zj* = 1, і при zj* = 0. Z – множина логічних значень для вибору правил (якщо zj* = 1, правило rj* включається в стиль). На другому етапі вказується питома вага qj для кожного правила в стилі Sі. Питома вага qj правила rj – це безрозмірна величина, що вказує ступінь важливості застосування правила rj при дотриманні стилю Sі, область значень якої - (0; 1).

Таким чином, стиль Sі представляється множиною правил Rі і відповідним йому набором ваг Qі: .

Рис. 1. Пристрої для вирішення задач формування і застосування стилів програмування

Ідея стилю K, множини R*, Z, Q і відношення G визначені як сукупність вхідних характеристик моделі, стиль Sі - як вихідна характеристика моделі, і закон функціонування системи представлений такими математичними відношеннями:

X = (K, R*, G, Z, Q), Y = Si;

, , , , ,

де .

Сутність методу синтезу СМП, який пропонується для вирішення задачі створення СМП, полягає у реалізації СПр Si в мові програмування L засобами цієї мови. Якщо правило rj СПр Si можна виразити в деякій мові L за допомогою засобів мови, то таке правило представляється відповідним йому правилом rLm СМП, і реалізувати СПр у мові можливо, сформувавши множину правил RLi СМП. Для вирішення задачі створення СМП запропонованим методом необхідний деякий пристрій (рис. 1,б), на вхід якого надходить СПр Si і інформація про мову програмування L. На виході пристрою формується СМП SLi. Закон функціонування системи представляється такими математичними відношеннями:

X = (Si, L); Y = SLi; , , , .

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

Залежно від цілей, у яких передбачається використання результатів розв’язку, задача вирішується двома способами. Перший спосіб („жорсткий” - hard) полягає в установці факту дотримання чи недотримання всіх правил множини RLі стилю SLі під час написання тексту програми Т. Вирішення задачі другим способом („м’який” - soft) полягає у визначенні величини, що вказує ступінь дотримання правил множини RLі стилю SLі при написанні тексту програми Т. Для вирішення задачі необхідний деякий пристрій (рис. 1,в), на вхід якого надходить текст програми T, інформація про стиль SLі і про спосіб контролю DC. На виході пристрою отримується значення функції FC.

Для вирішення задачі першим способом (Dc = hard) описано логічну функцію fC1(rLm, T), де rLm – правило, Т – текст програми. При цьому, якщо правило rLm дотримується під час написання тексту програми Т, то fC1(rLm, T) = 1, інакше fC1(rLm, T) = 0. Вважається, що текст програми Т відповідає стилю SLі, якщо виконується така умова: , . Сутність вирішення задачі полягає в одержанні значення функції FC1:

, .

При цьому, функція FC1 набуває значення одиниці, якщо для кожного правила rLm функція fC1 повертає одиницю, і одержує значення нуля, якщо існує хоча б одне правило rLm, для котрого fC1 повертає нуль.

Для вирішення задачі другим способом (Dc = soft) використовується функція fC2 (rLm, T) і питома вага qm правила rLm, що характеризує ступінь важливості дотримання правила rLm при використанні стилю SLі під час написання тексту програми Т. Функція fC2(rLm, T) набуває значення [0; 1] і є відношенням кількості випадків застосування правила rLm у тексті T до кількості випадків, у яких можливе застосування правила. Розв’язком задачі є одержання значення функції FC2:

.

Функція FC2 набуває значення від нуля до одиниці залежно від кількості правил множини RLі стилю SLі, що дотримуються в тексті програми Т, а також від їхніх ваг QLі.

Тексти T, що контролюються, інформація про стиль SLі і спосіб контролю DC є сукупністю вхідних характеристик моделі, функція FC - вихідна характеристика моделі, і закон функціонування системи представляється такими математичними відношеннями:

X = (T, SLi, DC) ,

Сутність методу аналізу СПм, що пропонується для вирішення задачі визначення СПр, котрому відповідає текст програми Т, полягає в тому, щоб з’ясувати, який СМП SLі з множини стилів SL* найбільшою мірою використано під час написання тексту Т. Для вирішення задачі необхідний деякий пристрій (рис. 1,г), на вхід якого надходить текст програми T і інформація про стилі множини SL*. На виході пристрою отримується інформація про стиль SLі і значення pSL.

Оскільки СМП - це, фактично, множина правил, то, вирішуючи задачу, необхідно визначити максимальну з величин, що вказують ступінь дотримання правил певного СМП під час написання тексту програми Т. Тому для множини стилів SL* = (SL1, SL2, …, SLN) формується відповідна множина PS* = (ps1, ps2, …, psN), , де psn – це ступінь дотримання правил СМП SLn в тексті Т. При цьому psn визначається за допомогою функції fC2 і ваг QLn стилю SLn:

.

На основі аналізу PS* знаходиться pSL, яке є елементом множини PS* з максимальним значенням, і робиться висновок про те, що текст програми Т відповідає СМП SLі, правила якого дотримані зі ступенем pSL.

Тексти T, що аналізуються, та інформація про стилі SL* - вхідні характеристики моделі, інформація про стиль SLі і значення pSL - вихідні характеристики моделі, закон функціонування системи представляється такими математичними відношеннями:

X = (T, S L *) , Y = (SLі, pSL).

S L * = {S L n}, =>PS*, PS* = {psn}, , SLi = (SLn | psn = pSL).

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

Одержати рішення задачі можливо трьома способами. Перший спосіб полягає в тому, що необхідно використовувати всі правила RLx СМП SLx, щоб текст Т перетворити в текст Т*, другий спосіб – у застосуванні "м'якого" контролю для визначення умов дотримання правил RLx у тексті Т і використанні результатів контролю в процесі перетворення тексту, третій – у використанні знань про СМП SLy, якому відповідає текст Т, порівнянні стилів SLy і SLx та застосуванні результатів порівняння в процесі перетворення. Для вирішення задачі необхідний деякий пристрій (рис. 1,.д), на вхід якого надходить текст програми T, інформація про спосіб контролю DP і про СМП SLy та SLx. На виході пристрою знімається текст T*.

Для формального опису перетворення тексту використовується функція fp(rLm, T), що повертає текст Т*, в якому дотримано правила rLj.

Текст T, що перетворюється, інформація про СМП SLy і SLx та про спосіб перетворення DP - вхідні характеристики моделі, перетворений текст T* - вихідна характеристика моделі, закон функціонування системи представляється такими математичними відношеннями:

X = (T, SLy, SLx, DP) , Y = T*.

;

();

(, , , >0) ;

(, ).

 

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

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

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

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

КІПЗ складається з БД і засобів, що автоматизують процеси формування і застосування СПр. Оскільки комплекс містить інформаційну і програмну частини, які взаємодіють між собою, засоби комплексу називаються інформаційно-програмними. Інформаційна частина комплексу складається з БД правил СПр і СМП та БД СМП. Програмна частина – із засобів ведення БД, синтезу і представлення СМП, контролю, аналізу і перетворення СПм (рис. 2).

Архітектуру КІПЗ розроблено шляхом реалізації описаних у другому розділі моделей. Інформаційна частина комплексу – на основі моделі предметної області, а програмна частина - на основі моделей пристроїв для вирішення окремих задач формування і застосування СПр.

Рис. 2 Архітектура КІПЗ, що автоматизують вирішення задач формування і застосування СПр

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

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

У четвертому розділі розглянуто реалізацію КІПЗ для автоматизованого вирішення задач формування і застосування СПр, що представлений БД rule і style і клієнтськими додатками Style, Present, Control, Analyse і Convert (програмні засоби реалізовані у мовах середовищ Vіsual C++ і Delphі); визначено області застосування КІПЗ і запропоновано інформаційну технологію (ІТ) для використання в процесах навчання програмуванню; у результаті експериментальних досліджень визначено критерії ефективності ІТ, що використовується в навчанні, доведено працездатність засобів ІТ і виконано оцінювання висунутих критеріїв.

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

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

У додатках наведено список правил СПр, опис СМП, що створено під час експериментальних дослідженнь розробленого КПЗ, приклади текстів програм студентів, які брали участь в експерименті, екранні форми інформаційно-програмних засобів комплексу, опис компонентів БД і модулів засобів.

ВИСНОВКИ

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

При вирішенні задачі отримано такі основні результати:

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

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

3. Запропоновано методи для вирішення задач формування і застосування стилів програмування: синтез стилю програмування і стилю мови програмування, контроль, аналіз і перетворення стилю програми; розроблено моделі засобів, що автоматизують вирішення задач запропонованими методами.

4. Розроблено архітектуру комплексу інформаційно-програмних засобів для автоматизованого вирішення задач формування і застосування стилів програмування, що включає інформаційну та програмну частину. Інформаційна частина складається з БД правил стилів програмування та стилів мови програмування та БД певного стилю мови програмування, програмна частина комплексу – із засобів, що забезпечують оперування БД та виконання синтезу стилю мови програмування, контролю, аналізу і перетворення стилю програми.

5. Запропоновано спосіб вирішення задач формування і застосування стилів програмування в різних областях діяльності, пов'язаної з програмуванням (розробка ПЗ, дослідження ПЗ, навчання програмуванню), шляхом використання інформаційних технологій на основі розроблених засобів; як приклад його застосування розроблено інформаційну технологію для використання в навчанні; експериментальним шляхом доведена працездатність створених інформаційно-програмних засобів технології в процесах навчання. Розроблені методи і засоби впроваджено в навчальний процес (Національний авіаційний університет) та практично використовуються при розробці програмного забезпечення (Інститут програмних систем НАНУ).

СПИСОК ОПУБЛІКОВАНИХ АВТОРОМ ПРАЦЬ ЗА ТЕМОЮ ДИСЕРТАЦІЇ

1.

Крамар Ю.М. Схема систематизации и представление правил стилей программирования // Проблемы программирования: Материалы третьей международной научно-практической конференции по программированию “УкрПРОГ2002”. Спец. вып. – 2002. - № 1-2. - С. 127 – 130.

2.

Крамар Ю.М. Автоматизация решения задач стилистики программирования // Проблеми інформатизації та управління: Зб. наук. пр. – К.: НАУ, 2002. – Вип. 5. – С. 211-215.

3.

Крамар Ю.М. Средства для автоматизированного синтеза стилей программирования // Вестник НАУ. – 2002. - №2 (13). – С. 52 - 60.

4.

Крамар Ю.М., Сидоров М.О. Стили программирования и фазы жизненного цикла программного обеспечения // Проблеми інформатизації та управління: Зб. наук. пр.: вип. 6. – К.: НАУ, 2002. – С. 235-237.

5.

Крамар Ю.М. Автоматизация процесса контроля применения стиля языка программирования // Проблемы программирования: Материалы четвертой международной научно-практической конференции по программированию “УкрПРОГ2004”. Спец. вып. – 2004. - № 2-3. - С. 208-214.

6.

Крамар Ю.М. Контроль применения стиля программирования // Матеріали VI Міжнародної науково-технічної конференції „АВІА-2004”. Т. 2. Інформаційно-діагностичні системи. – К.: НАУ, 2004. – С. 15.15-15.18.

7.

Крамар Ю.М., Сидоров М.О., Калугін К.А., Кидалов А.А. Оценка стиля написания программ // II Всеукраїнська молодіжна науково-практична конференція з міжнародною участю “Людина і космос”: Зб. тез. – Дніпропетровськ: НЦАОМУ, 2000. – С. 285.

8.

Крамар Ю.М. Нормы и правила стилистики программирования // Наука і молодь: Матеріали міжнародної наукової конференції: Зб. тез. – К.: НАУ, 2001. – С. 80.

9.

Крамар Ю. М. Стилистика языков программирования // III Всеукраїнська молодіжна науково-практична конференція з міжнародною участю “Людина і космос”: Зб. тез. – Дніпропетровськ: НЦАОМУ, 2001. – С. 323.

АНОТАЦІЯ

Крамар Ю.М. Методи та інформаційно-програмні засоби синтезу та аналізу стилів програмування. - Рукопис.

Дисертація на здобуття наукового ступеня кандидата технічних наук за спеціальністю 05.13.06 - Автоматизовані системи управління і прогресивні інформаційні технології. - Інститут проблем моделювання в енергетиці ім. Г.Є. Пухова, Київ, 2005.

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

Ключові слова: програмування, програмне забезпечення, стиль програмування, правило стилю програмування, стиль мови програмування, задачі та методи застосування стилю програмування, метрика.

АННОТАЦИЯ

Крамар Ю.М. Методы и информационно-программные средства синтеза и анализа стилей программирования. – Рукопись.

Диссертация на соискание ученой степени кандидата технических наук по специальности 05.13.06 – автоматизированные системы управления и прогрессивные информационные технологии. - Институт проблем моделирования в энергетике им. Г.Е. Пухова, Киев, 2005.

Диссертационная работа посвящена проблеме решения задач формирования и применения стилей программирования путем разработки и использования методов и комплекса информационно-программных средств, направленных на автоматизацию формирования и применения стилей программирования. Предложена онтология понятий и отношений, связанных с применением стилей программирования; для формального представления онтологии использован компьютерный подход, реализованный путем применения языка UML, который позволяет рассматривать задачи формирования и применения стилей программирования, как имеющие техническое решение. Рассмотрено понятие культуры в программировании, одной из составляющих которой является стиль, выполнен анализ и описание стилей выделенных четырех культур. Определены задачи формирования и применения стилей программирования: создание стиля программирования; создание стиля языка программирования; проверка соблюдения стиля программирования при написании программ; определение стиля программирования, которому отвечает текст программы; перевод текста программы, который не отвечает заданному стилю программирования, в текст, отвечающий такому стилю. Предложены методы для решения поставленных задач, а именно, методы синтеза стиля программирования и стиля языка программирования, контроля, анализа и преобразования стиля программы, и описаны процессы, которые реализуют соответствующие методы. Предложены средства для реализации определенных процессов, и разработаны их математические модели. Реализован комплекс информационно-программных средств для автоматизированного решения задач формирования и применения стилей программирования. Предложен способ решения задач формирования и применения стилей программирования в разных областях деятельности, связанной с программированием (разработка и исследование программного обеспечения, обучение программированию), путем использования информационных технологий, создаваемых на основе полученных программных средств. В качестве примера разработана информационная технология для использования в обучении. Экспериментальным путем доказана работоспособность информационно-программных средств в рамках технологии для процессов обучения.

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

ABSTRACT

Kramar Y.M. Methods and software for programming style synthesis and analysis. – Manuscript.

Dissertation for a candidate’s degree by the specialty 05.13.06. – Automated control systems and progressive information technologies. – G. Puhov’s Institute of modeling problems


Сторінки: 1 2





Наступні 7 робіт по вашій темі:

ЕЛЕКТРОШЛАКОВИЙ ПРОЦЕС І ТЕХНОЛОГІЯ НАПЛАВЛЕННЯ ДИСКРЕТНИМИ МАТЕРІАЛАМИ В СТРУМОПІДВІДНОМУ КРИСТАЛІЗАТОРІ - Автореферат - 52 Стр.
ЗМІСТ І МЕТОДИКА ПРОФЕСІЙНОЇ ПІДГОТОВКИ СТАРШОКЛАСНИКІВ З БУХГАЛТЕРСЬКОГО ОБЛІКУ В УМОВАХ МІЖШКІЛЬНОГО НАВЧАЛЬНО-ВИРОБНИЧОГО КОМБІНАТУ - Автореферат - 34 Стр.
МОДЕЛЮВАННЯ ПРОЦЕСІВ ОЦІНКИ ІНВЕСТИЦІЙНИХ ПРОЕКТІВ В ЕЛЕКТРО- ЕНЕРГЕТИЧНІЙ ГАЛУЗІ УКРАЇНИ - Автореферат - 28 Стр.
МОДЕЛЮВАННЯ БАГАТОМІРНИХ ФІНАНСОВО- ГОСПОДАРСЬКИХ ПОТОКІВ ПІДПРИЄМСТВА - Автореферат - 24 Стр.
МЕТОДИ І ЗАСОБИ ПІДВИЩЕННЯ ЯКОСТІ ОБСЛУГОВУВАННЯ В КОМП'ЮТЕРНИХ МЕРЕЖАХ, ЩО ДИНАМІЧНО РЕКОНФІГУРУЮТЬСЯ - Автореферат - 37 Стр.
ДРІБНОЗЕРНИСТІ ДОРОЖНІ БЕТОНИ ДЛЯ ВИРОБІВ, ЩО ОТРИМУЮТЬСЯ МЕТОДОМ ГІПЕРПРЕСУВАННЯ - Автореферат - 28 Стр.
ВИВЧЕННЯ ВПЛИВУ ФАКТОРІВ КРІОКОНСЕРВУВАННЯ НА КЛІТИНИ ГЕМОПОЕТИЧНОЇ СИСТЕМИ В УМОВАХ РОЗВИТКУ АУТОІМУННИХ ЗАХВОРЮВАНЬ - Автореферат - 28 Стр.