Александр Корченко
Контактная информация
Важнейшие факты
Рассказ о себе

Обзор результатов поиска по теме магистерской работы

Подборка статей, публикаций и других литературных источников

Главная [Диссертация]
Автореферат випускної роботи магістра
тема: «Розробка способів рішення HDL-задач і системи тестування знань на їх основі»
науковий керівник: к.т.н., доц. Зінченко Ю.Є.
 
Обоснування теми, її актуальність
Основні матеріали роботи
Висновки
Література
 
Обоснування теми, її актуальність

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

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

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

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

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

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

В цій роботі пропонується новий підхід до перевірки правильності відповіді за допомогою засобів САПР. Далі буде розглянуто принципи побудови задач програмування та принципи автоматичної перевірки правильності їх розв’язання.


Основні матеріали роботи

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

Тестові питання можуть мати саму різну форму, але найпоширенішими є типи питань, що приведені на рис.1.


Рисунок 1 – Умовна класифікація типів тестових питань

На цьому рисунку використано такі позначення:
  • «Точна відповідь» – питання, відповіддю на яке буде точне слово або фраза, що вводиться користувачем вручну;
  • «Декілька з декількох» – надається декілька варіантів відповіді, серед яких може бути декілька вірних варіантів;
  • «Один з декількох» – є частним випадком питання попереднього типу, коли вірним є лише один варіант;
  • «Відтворення послідовності» – необхідно відтворити задану послідовність об’єктів згідно завдання (хронологічному, зростання, чи якомусь іншому порядку);
  • «Задача програмування» – це тип питання, що потребує вводу програми або її фрагмента на одній з мов програмування.
Всі ці типи питань так чи інакше використовуються в багатьох системах тестування, але щодо «задачі програмування» можна сказати, що потенційні можливості використання цього типу питання досі повністю не розкрито.

Найпоширенішими підходами до перевірки задач програмування є ручна перевірка та «шаблонна перевірка».

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

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

В цій роботі пропонується новий підхід до перевірки задач програмування – перевірка за допомогою засобів САПР (рис.2). На відміну від традиційних підходів це дозволяє повною мірою використати можливості автоматизації рішення задач та знаходити вірне рішення за мінімальний час.


Рисунок 2 – Перевірка HDL-задач за допомогою засобів САПР

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

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

Розглянемо використання цього підходу на прикладі САПР Active-HDL 4.2–6.2 фірми Aldec Inc. (США), що є пакетом для розробки, налагодження та імплементації цифрових схем на основі мов опису апаратури (HDL – Hardware Description Language). Пакет має в своєму складі різноманітні інструментальні засоби, доступ до яких може бути забезпечений за допомогою командної строки. Для перевірки задач програмування на мовах HDL можна використати дві команди пакету:
  1. acom – компіляція програми, всі параметри компіляції при цьому задаються в командній строчці, а результат може бути записаний до лог-файла;
  2. asim – моделювання програми, аналогічно попередній команді всі параметри передаються через командну строку, а результат записується до лог-файла.
Для компіляції HDL програми засобами командної строки необхідно виконати таку послідовність дій:
  1. Створити файл нової бібліотеки проекту (test.lib) та зареєструвати його в системі Active-HDL, для чого необхідно до файлу vlib\library.cfg додати відповідну інформацію.
  2. Створити файл макросу для компілятора, в якому зазначається файл, що потрібно скомпілювати, опції компіляції та файл, до якого будуть записані результати.
  3. Викликати утіліту bin\VSimSa.exe та передати їй файл макросу, зазначивши при цьому команду acom.
  4. Проаналізувавши файл результатів, зробити висновок про успішність компіляції.
Для моделювання HDL програми, тобто для перевірки логіки її роботи, необхідно виконати такі дії:
  1. Успішно скомпілювати програму (див. вище).
  2. Створити файл макросу для команди моделювання, де вказати назву бібліотеки, що буде моделюватись (test.lib), опції моделювання та файл, до якого будуть записані результати.
  3. Викликати утіліту bin\VSimSa.exe та передати їй файл макросу, зазначивши при цьому команду asim.
  4. Проаналізувавши файл результатів, зробити висновок про успішність моделювання.
Комбінуючи вхідні параметри для цих команд, можна розв’язувати різні види задач програмування. Підхід має такі позитивні властивості:
  1. Дозволяє перевірити синтаксис програми, тобто правильність написання з точки зору мовних конструкцій.
  2. Дозволяє перевірити логіку роботи програми.
  3. Може бути повністю автоматизованим.
Недоліком підходу є те, що він не може проконтролювати, наскільки оптимально було написано програму. Для усунення цього недоліку можна використати проміжний етап, що контролює якість написання програми – перевірка стилю програми.

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


Висновки
  1. Запропоновано новий тип питання – HDL-задача;
  2. Запропоновано підхід до перевірки HDL-задач за допомогою засобів САПР;
  3. Запропоновано модифікації HDL-задач:
    • VHDL-програма;
    • Verilog-програма;
    • VHDL-синтез;
    • Verilog-синтез;
  4. Розроблено програмне забезпечення на мові програмування Borland Delphi 5.0 у рамках діючої системи тестування знань ATP;
  5. Розроблене програмне забезпечення впроваджено в учбовий процес та на Всеукраїнській олімпіаді з комп’ютерних технологій проектування ОТ, що проводиться щорічно фірмою Aldec Inc., США.
  6. Результати роботи опубліковано в 3-х публікаціях та апробовано на 4-х конференціях;
  7. Робота була відзначена дипломом переможця 2-го Всеукраїнського чемпіонату з інформаційних технологій «Екософт-2003» в категорії «навчальні програми».

Література
  1. ACTIVE-HDL Серия. Книги 1–4. США, Невада: ALDEC, 1999
  2. 2. Сайт ALDEC, Inc. www.aldec.com
  3. Сайт НТУУ-КПИ www.aldec.com.ua
  4. Сайт HardClub hardclub.donntu.ru
  5. Масюк А.Л., Масюк Л.Н., Зінченко Ю.Є. Тестування знань по VHDL на базі пакета ATP4 / Матеріали научн.-метод. конф. «Інформаційні технології і проблеми дистанційного навчання у вищій технічній освіті». – Донецьк: ДонНТУ 2002. с. 18-20.
  6. Peter J.Ashenden. The designer’s Guide to VHDL / San Francisco California, US 1995г. 688 p.
  7. Bhasker J. A VHDL Synthesis Primer. Second Edition. // Star Galaxy Publishing, PA 18103 1996г. 296 p.

 
 
© Александр Корченко, 2004