УДК 004.771 DOI т25559^ПТШ.2017А425
Ёхин М.Н.1, Степанов М.М.12
1 Национальный исследовательский ядерный университет «МИФИ», г. Москва, Россия
2 АО «МЦСТ», г. Москва, Россия
ОРГАНИЗАЦИЯ МНОГОПОЛЬЗОВАТЕЛЬСКОГО УДАЛЕННОГО ДОСТУПА К РАСПРЕДЕЛЕННОЙ ГЕТЕРОГЕННОЙ СИСТЕМЕ ЛАБОРАТОРНОГО ОБОРУДОВАНИЯ НА ОСНОВЕ СХЕМ ПРОГРАММИРУЕМОЙ ЛОГИКИ ДЛЯ ДИСТАНЦИОННЫХ ПРАКТИКУМОВ ПО ЦИФРОВОЙ СХЕМОТЕХНИКЕ
Аннотация
В статье проанализированы перспективные варианты структур аппаратно-программных средств универсальных учебных лабораторий с удаленным доступом для изучения технологий проектирования цифровой аппаратуры на основе современной элементной базы. Представлены особенности реализации и опыта использования некоторых из них при проведении лабораторных практикумов по циклу аппаратных дисциплин направления подготовки «Информатика и вычислительная техника» в НИЯУ МИФИ. Рассмотрены аспекты использования лабораторий с удаленным доступом, которые необходимо учитывать при технико-экономическом обосновании конфигураций лабораторий. Предложен подход к группированию отдельных учебных проектов для реализации на одном кристалле ПЛИС с целью повышения эффективности использования лабораторного оборудования. Показана целесообразность и приведен пример параметризуемого виртуального стенда для удаленной отладки проектов на ПЛИС.
Ключевые слова
Удаленный доступ; лабораторный стенд; виртуальный стенд; локальная сеть; дистанционное обучение; цифровая схемотехника; программируемая логика.
Yokhin M.N.1, Stepanov M.M.1-2
1 National Research Nuclear University MEPhI, Moscow, Russia 2 AO «MCST», Moscow, Russia
MULTIUSER REMOTE ACCESS TO DISTRIBUTED HETEROGENEOUS SYSTEM OF PROGRAMMABLE LOGIC BASED LABORATORY EQUIPMENT FOR REMOTE DIGITAL
CIRCUITS DESIGN LABS
Abstract
The paper contains an analysis of perspective structures of software and hardware equipment of universal digital design laboratories with the purpose of enabling laboratory classes of digital circuit design to be taken remotely. Implementation characteristics and usage experience of some of those structures applied to labs on several hardware related courses of« Computer science and computer engineering» program in NRNU MEPhI are presented. The paper also considers different aspects of usage of remote access enabled laboratory which should be taken into account to substantiate laboratory configuration from technical and economical standpoints. To increase equipment usage efficiency an approach to group several distinct projects to place them on a single FPGA chip is proposed. The paper shows advisability and gives an example of parametrizable virtual stand for remote debugging of FPGA projects.
Keywords
Remote access; laboratory equipment; virtual equipment; local network; e-learning; digital circuit; programmable logic.
Введение
Ключевой проблемой в подготовке инженерных кадров при обучении по общеинженерным и специальным дисциплинам является организация практических занятий в учебных лабораториях. Хорошо известен тезис «инженер должен уметь все делать своими руками», без чего невозможно добиться требуемых результатов. В современных условиях применительно к инженерам разработчикам цифровой аппаратуры это положение воплотилось в требование практического освоения маршрутов
проектирования в современных САПР программируемой логики ПЛИС.
Заключительным этапом всех маршрутов является отработка проектов на прототипах (отладочных, макетных платах), которые являются физическими моделями
разрабатываемых изделий. О важности этого этапа говорит тот факт, что для поддержки его выполнения производители современных СБИС (микроконтроллеры, ПЛИС) выпускают широкую гамму таких плат (Evaluation board, Kit) стоимостью от нескольких тысяч до нескольких десятков долларов. Роль прототипирования возрастает при разработке гетерогенных систем на плате (System on Board), когда средствами САПР поддерживается только автономная отладка составных частей системы. Комплексная отладка возможна исключительно на макетных платах. В этом случае разработчики аппаратуры должны сами создавать уникальные отладочные платы, учитывающие специфику проекта и поддерживающие основные отладочные функции.
Поэтому практически во всех университетах, осуществляющих подготовку разработчиков цифровой аппаратуры, организуются компьютеризированные учебные лаборатории, на рабочих местах в которых устанавливаются промышленные САПР и стенды на основе готовых или уникальных прототипных плат.
Одна из таких лабораторий была создана в 2005г. на каф.12 НИЯУ МИФИ [1]. Для ее оснащения были разработаны универсальные лабораторные стенды с архитектурой «Система на кристалле». В составе стенда имеются ПЛИС FPGA и 8-ми разрядный микроконтроллер с архитектурой MCS-51. Дополнительно к стандартным САПР и инструментальным средствам разработки ПО микроконтроллера, на кафедре были разработаны и внедрены в учебный процесс средства отладки микропрограмм для ПЛИС и загрузчик-отладчик для микроконтроллера. Позднее лаборатория была дополнена двумя типами новых стендов на
основе ПЛИС современной архитектуры. Лаборатория обеспечивает выполнение практикумов по курсам: «Теория автоматов», «Схемотехника ЭВМ», «Организация ЭВМ и систем», «Микропроцессорные системы», «Функционально-логическое моделирование и автоматизация проектирования» направления подготовки «Информатика и вычислительная техника». В состав локальной сети лаборатории включены 15 рабочих станций и сервер (рисунок
Рисунок 1. Внешний вид учебной лаборатории по цифровой схемотехнике кафедры «Компьютерные системы и технологии» НИЯУ МИФИ
На сервере установлена система тестирования по курсу «Схемотехника ЭВМ», библиотека электронных учебных пособий и справочных материалов по различным дисциплинам. Централизованное хранение проектов обучаемых на сервере обеспечивает продолжение работы на любой рабочей станции. Подключение сервера к Интернету обеспечивает удаленный доступ к лабораторным стендам.
Опыт эксплуатации лаборатории показал, что при выполнении типовых лабораторных работ в соответствии с базовым маршрутом проектирования цифровых схем различной сложности, работа обучаемых непосредственно за стендом занимает 10-50% от общего времени выполнения работы. Как видно, коэффициент загрузки оборудования во время проведения занятий минимален. Разброс времен определяется качеством подготовки к работе и выполнения обучаемым этапов маршрута, предшествующих «выходу на стенд». Все недоработки, связанные с этими факторами, выявляются на стенде, который доступен только в лаборатории университета. Такого рода ошибки и упущения при традиционной домашней подготовке к работе выявлены быть не могут. В этой связи, предоставление удаленного доступа к лабораторным стендам, во-первых, повышает качество подготовки к лабораторным работам за счет более качественной домашней работы, и, во-вторых, повышает загрузку лаборатории. Данные тезисы в настоящий момент уже никем не подвергается
сомнению. Кроме этого, удаленный доступ является основой для организации полноценного дистанционного образования.
Альтернативой лабораториям с удаленным доступом являются виртуальные лаборатории и лаборатории на основе программных симуляторов.
Виртуальные лаборатории основаны на программной эмуляции объектов
проектирования или их окружения, а также объектов установки (встраиваемые системы). Концепция таких лабораторий позволяет реализовать идею полунатурного
моделирования, когда рассматривается связка реальной целевой системы управления и программной модели объекта управления. Применительно к практике проектирования цифровых устройств принцип виртуализации воплощается в создании специальных программ с графическим интерфейсом пользователя для генерации тестового окружения и выполнения тестовых экспериментов. О достоинствах такого подхода к виртуализации применительно к удаленному доступу будет сказано ниже.
Лаборатории на основе программных симуляторов, позволяют выполнять только начальные этапы проектирования, такие как ввод схемы или текста программы, функциональное моделирование и отладка программы в симуляторе. Недостаток очевиден -неполнота и невозможность обучения решению полного круга задач реального проектирования. Сравнительный анализ различных лабораторий приведен в [2].
Цель исследования
Цель данной статьи, которую поставили перед собой авторы, состоит в систематизации известных и предлагаемых авторами подходов к организации универсальных учебных лабораторий, предназначенных для
практического обучения проектированию цифровой аппаратуры на современной элементной базе. Задачами исследования являются:
1. Анализ основных аспектов внедрения лабораторий с удаленным доступом в учебный процесс, которые определяют технико-экономические показатели их эффективности;
2. Анализ возможных вариантов структурной организации учебных лабораторий для работы в локальном, удаленном и совмещенном режимах при проведении практических занятий по аппаратному циклу дисциплин направления подготовки «Информатика и вычислительная техника»;
3. Анализ требований к программному обеспечению для организации удаленного режима;
4. Анализ вариантов архитектур программного обеспечения удаленного доступа.
Основные аспекты внедрения лабораторий с удаленным доступом
Рассмотрим основные предпосылки для внедрения лабораторий с удаленным доступом и круг вопросов, являющихся существенными в организации их эффективной эксплуатации.
Сокращение финансовых издержек - высокая стоимость оборудования штатных лабораторий в структуре университета (компьютеры, отладочные платы фирменные или собственной разработки). Некоторые фирмы ввели в практику университетские программы, по которым платы ограниченной номенклатуры поставляются с существенными скидками или бесплатно. Это частично снимает проблему финансирования, но до конца ее не решает. Вторая сторона - это выделение или аренда помещений и содержание обслуживающего персонала. В некоторых университетах достаточно плотно загрузить такие лаборатории не представляется возможным из-за ограниченного контингента обучаемых, что приводит к возрастанию удельной стоимости содержания таких лабораторий, приходящейся на одного обучаемого.
Расширение круга потенциальных пользователей - основная цель состоит в повышении коэффициента загрузки
уникального лабораторного оборудования. Практика показывает, что при тщательной отработке проектов различного уровня сложности путем моделирования
(функциональное и временное) и программных симуляторов использование лабораторных стендов занимает всего 10-50% от общего времени выполнения работы и сводится только к демонстрации преподавателю работы схемы. Для повышения эффективности использования лабораторного оборудования можно организовать работу групп обучаемых в локальном, удаленном или смешанном режимах. При этом можно сочетать выполнение типовых работ во фронтальном режиме с минимальными требованиями к интерактивности с работами, выполняемыми по индивидуальным планам. Такой подход актуален для таких университетов как НИЯУ МИФИ, имеющих широкую сеть филиалов подготовки, в том числе и по программам СПО.
Избыточные возможности отладочных плат
на основе современной элементной базы для индивидуальной работы обучаемых при выполнении типовых учебных заданий -предопределяют следующий оригинальный подход, предлагаемый авторами. Рассмотрим следующую ситуацию. В рамках практикума по курсу «Схемотехника» обучаемые выполняют проектные процедуры логического синтеза и анализа типовых многовыходных
комбинационных схем (фиксированное количество входов и выходов). Элементная база - ПЛИС FPGA. Для кристалла ПЛИС SPARTAN-6 такая схема потребует незначительное количество ресурсов кристалла (доли или единицы процентов). Анализ работоспособности осуществляется путем подачи на входы схемы тривиальной тестовой последовательности, одинаковой для всех проектов обучаемых. Поэтому возможен подход, когда несколько идентичных с точки зрения тестирования проектов объединяются в один общий проект. При использовании языка описания аппаратуры, например, VHDL, частные проекты могут быть представлены в виде объектов языка COMPONENT с уникальными именами, а общий проект будет использовать по одной копии каждого из них. Более простой способ компиляции общего проекта основан на использовании заранее заготовленных шаблонов структурного описания со стандартным представлением объектов ENTITY, в которые будут интегрироваться уникальные описания объектов ARCHITECTURE. Первая проблема состоит в организации синтаксического контроля, синтеза и имплементации общего проекта. Вторая проблема связана с организацией интерфейса и тестового окружения (параметризуемый аппаратный блок ресурсов ПЛИС) и программной подсистемы компиляции частных проектов с последующей рассылкой адресатам результатов тестирования.
Виртуализация органов управления, периферийных устройств объектов
проектирования - предполагает отказ от использования реальных органов управления в виде тумблеров и кнопок. Вместо этого используется графический интерфейс пользователя, содержащий виртуальные тумблеры, кнопки, клавиатуры, а дополнительно к реальным индикаторам, имеющимся на отладочной плате, добавляются виртуальные индикаторы, например, наборы светодиодов. Цель виртуализации органов управления и индикации стендов для локального использования, состоит в повышении надежности путем запрета доступа обучаемых к органам управления отладочных
плат. Кроме этого, существенно расширяется количество одновременно анализируемых сигналов схемы, так как количество имеющихся на реальных стендах индикаторов ограничено. Неоспоримым преимуществом виртуальных стендов, делающим их незаменимыми для удаленного доступа, является возможность представления функционального назначения сигналов (имена, используемые в нотациях микропрограмм). В реальном стенде средства индикации имеют обозначения, связанные со структурой самого стенда (например, позиционные обозначения индикаторов VD1, VD2,....). Примером виртуального стенда для отладки микропрограмм устройств уровня АЛУ и ЦУУ, реализованных на ПЛИС, является система CHECKER, разработанная на кафедре 12 НИЯУ МИФИ. Эта система позволяет пользователю сгенерировать
структурированный многооконный
графический интерфейс для отображения состояний внутренних сигналов устройств, а при помощи виртуальных кнопок и тумблеров формировать управляющие сигналы и сигналы синхронизации. Система обеспечивает «прогон» микропрограммы при заданном количестве тактов с запоминанием результатов для последующего просмотра в режиме «off-line». Вариант виртуального стенда,
сгенерированного при помощи CHECKER, представлен на рисунке 2.
Расширение номенклатуры лабораторных практикумов - ориентация на программируемые логические структуры, поддерживающие технологию проектирования систем на кристалле с использованием IP - ядер в сочетании с технологией виртуальных стендов позволяет унифицировать лабораторное оборудование и приспособить его для постановки лабораторных практикумов по широкому спектру дисциплин. Можно отметить следующие плюсы унификации лабораторного оборудования:
• единая учебная среда, включает универсальный лабораторный стенд и программные инструментальные средства разработки, которые не меняются в многосеместровом цикле «аппаратных» дисциплин. Преподаватели и обучаемые освобождаются от необходимости освоения однотипных средств разработки при переходе к очередной дисциплине;
• в соответствии с принципом иерархической организации вычислительных систем практикумы строятся по принципу - от простого к сложному. Все задания типовые, но индивидуальные. Результаты выполнения текущих лабораторных работ используются в последующих практикумах.
ш
в-®
И!
о
нг
а Вт Г 0 ее Г Нех
Счет-*« микрокомлиа
И2 |1 ¡0 | <=■ »«
ООО
Г Рее Г Нех
ппт
До
Ж
а в»
Г Рос Г Нех
Р
а вп Г Оес С Нех
ив СЕ
Мб |5 |4 |Э |2 |0 I г Вп Оес Нех и г 8 т Оес Нех
МО 0 0 0 0 0 0 ш
У
а Вю
Г Оес
а в»>
Г Оес Г Нех
« I5 1« I3 I* I' I" Г '
0 0 0 0 0 0 0
С Вп Оес Г Нех
В
I» 1« I» I» I11° I
а Вп Г Оес Г Нех
В
0 0 0 0
ГГТГГ ® В"
J-1-1 Г Рее
Рисунок 2 - Виртуальный стенд для отладки цифрового устройства на ПЛИС
Масштабируемость и модернизация набора стендов - обеспечивается организацией локальных сетей рабочих станций, серверов, лабораторных стендов. Представляется оптимальной стратегия использования лабораторных стендов в различных режимах. Для использования в локальном режиме количество стендов определяется количеством рабочих станций, на которых устанавливаются инструментальные средства проектирования, позволяющие выполнять ввод схем и программ и проводить их контроль и отладку в симуляторах. На начальных этапах обучения и освоения инструментальных средств выполнение этих задач занимает значительное время, поэтому требование, чтобы у каждого обучаемого было свое рабочее место, можно считать вполне обоснованным. В лаборатории кафедры №12, исходя из статистики численного состава учебных групп, было выбрано, что количество рабочих станций должно быть 15. Дополнительные рабочие станции,
устанавливаемые в дополнительных помещениях, подключаются через локальную сеть лаборатории. Системные характеристики рабочих станций выбираются с учетом требований эффективного использования устанавливаемых на них САПР и инструментальных средств разработки.
Варианты конфигураций лабораторий и анализ их возможностей
Рассмотрение перечисленных аспектов применения универсальных удаленных лабораторий приводит, в общем случае, к формированию противоречивых критериев для обоснования выбора их конфигурации. Поэтому в рамках единого решения получить требуемый вариант не представляется возможным. Этот тезис подтверждается, например, и работами, в которых рассматриваются лаборатории различных конфигураций и поддерживающие различные режимы их использования [2-8]. Обобщение полученных в этих работах результатов, позволяет представить в таблице 1 наиболее перспективные из них. Многосерверные варианты, которые анализируются в некоторых работах, рассматриваться не будут по причине высокой стоимости [2]. В качестве их аналогов можно рассматривать варианты 3 и 4 приводимой таблицы, в которых каждой рабочей станции через общую или частную локальную сеть доступна либо ассоциированная с ней группа гетерогенных стендов, либо любой стенд из общего состава оборудования. В этих вариантах рабочие станции выполняют функцию локального сервера для стендов и обеспечивают к ним доступ в различных режимах.
Таблица 1 - Варианты конфигурации оборудования лаборатории с удаленным доступом
Без рабочих станций Одна рабочая станция - один стенд Одна рабочая станция -ассоциированная группа стендов Одна рабочая станция - все стенды
Вариант 1 Вариант 2 Вариант 3 Вариант 4
Сервер - рабочая станция - Локальная сеть Локальная сеть Локальная сеть
Рабочая станция - стенд Точка-точка Локальная сеть (ассоциированная группа стендов) Локальная сеть (все стенды лаборатории)
Сервер - стенд Точка-точка Точка-точка Локальная сеть Локальная сеть
Стенд - стенд (опционально) Полевая шина /Точка-точка Полевая шина /Точка-точка Полевая шина /Точка-точка Полевая шина /Точка-точка
На рисунке 3 представлен вариант 1 конфигурации лабораторного оборудования, в котором отсутствуют рабочие станции. Как следствие набор стендов удаленной лаборатории не распределяется по рабочим местам, а компактно концентрируется в защищенной стойке или шкафу. Лаборатория фактически становится виртуальной в том понимании, что не требует специального выделенного помещения. Сервер со стойкой могут быть размещены в серверном помещении со специальным микроклиматом для
ШКАФ/СТОЙКА
повышения надежности и защищенности от несанкционированного доступа. Минимальный объем оборудования, отсутствие объемной структурированной кабельной системы, отсутствие влияния пользователей рабочих станций на устойчивость работы программного обеспечения, поддерживающего удаленный доступ в совмещенном режиме использования стендов, упрощение администрирования системы также обеспечивают высокую надежность функционирования и минимизацию эксплуатационных издержек.
ЦЕНТРАЛИЗОВАННАЯ ПОДСИСТЕМА ПРОГРАММИРОВАНИЯ СТЕНДОВ
УДАЛЕННЫЕ РАБОЧИЕ СТАНЦИИ
ЛОКАЛЬНАЯ СЕТЬ
Рисунок 3 - Конфигурация лабораторного оборудования с непосредственным управлением от сервера
УДАЛЕННЫЕ РАБОЧИЕ СТАНЦИИ
УЧЕБНАЯ ЛАБОРАТОРИЯ
ПОЛЕВАЯ ШИНА
ЛОКАЛЬНАЯ СЕТЬ
В
РАБОЧИЕ СТАНЦИИ С ЛАБОРАТОРНЫМИ СТЕНДАМИ
Рисунок 4 - Подключение оборудования с жестким
Особенностью данного варианта является организация централизованного
программирования стендов, которое становится одной из дополнительных функций сервера. Усложнение функций сервера компенсируется гибкостью и оперативностью
программирования стендов в случае фиксации отказовых ситуаций при контроле готовности
закреплением лабораторного стенда за рабочей станцией
стендов к работе после программирования. Стенд, программирование которого завершается ошибкой, исключается из работы системы и заменяется запасным или подвергается ремонту при регламентных работах.
Так как этот вариант однозначно ориентирован только на удаленный доступ, ужесточаются требования к планированию
работы достаточно большого круга удаленных пользователей. Количество стендов различных типов должно выбираться исходя из требования обеспечения заданного коэффициента загрузки оборудования с учетом горячего резервирования на случай отказов во время проведения занятий.
Для этого варианта методика проведения занятий существенно не отличается от остальных вариантов и может предполагать использование отдельного стенда для индивидуальной работы обучаемого в течение выделенного интервала времени, групповое выполнение однотипных заданий по общему сценарию путем формирования общего задания (проекта) на одном стенде, о чем говорилось ранее. Кроме этого, может планироваться выполнение заданий, связанных с разработкой систем с распределенной обработкой информации, когда в распоряжение удаленного пользователя выделяются несколько стендов одновременно. Примером такого задания может служить разработка встроенной системы управления в режиме полунатурного моделирования, когда один стенд является прототипом целевой системы, а на другом стенде эмулируется объект управления. Для этого стенды связываются локальным интерфейсом.
На рисунке 4 представлен вариант с локальной сетью рабочих станций, который является наиболее массовым и обеспечивает приемлемую эффективность использования оборудования за счет оптимального планирования работы лаборатории во всех возможных режимах. Для этого варианта основным является режим локальной работы, а удаленный и смешанный режимы являются второстепенными. Основной недостаток данной конфигурации состоит в жесткой привязке стенда к рабочей станции. В случае неисправности стенда на рабочей станции возможно выполнение только отладки проекта при помощи моделирования.
Такую конфигурацию имел первый вариант лаборатории цифровой схемотехники кафедры №12 НИЯУ МИФИ. Программирование ПЛИС и загрузка эмулятора ПЗУ и внешней памяти данных микроконтроллера осуществляются децентрализовано с рабочей станции. Актуальным направлением развития цифровой электроники являются встраиваемые системы на основе ПЛИС и микроконтроллеров с распределенной архитектурой. Для обеспечения возможности проектирования таких систем в лаборатории организовано взаимодействие стендов при помощи опционального локального
интерфейса на основе, внутриплатного и внутриблочного интерфейса I2C, что позволяет реализовывать простейшие сети
микроконтроллеров встраиваемых систем управления.
Расширение номенклатуры возможных вариантов решений распределенных систем диктует необходимость использования в лаборатории данной конфигурации
разнотипных стендов, построенных на элементной базе с уникальными возможностями. В этом случае возникает противоречие, состоящее в снижении пропускной способности лаборатории при проведении фронтальных работ в локальном режиме на типовом оборудовании. Снижение пропускной способности лаборатории в этом случае обусловлено также и тем, что при выполнении заданий на разработку распределенных вычислительных систем каждому обучаемому необходимо задействовать сразу несколько рабочих станций.
Последний недостаток устраняется в варианте 3, конфигурация которого представлена на рисунке 5. В этом варианте к каждой рабочей станции через дополнительную частную локальную сеть подключается группа разнотипных стендов (2-3 стенда), что позволяет повысить степень универсальности лаборатории за счет расширения спектра лабораторных практикумов при сохранении высокой пропускной способности. В этом случае для конфигурирования ассоциированных стендов в распределенную систему требуется лишь одна рабочая станция, с которой эти стенды связаны.
Еще больше степень универсальности лаборатории в части проектирования систем с сетевым интерфейсом можно повысить за счет установки в лабораторные стенды плат расширения или мезонинных плат. Такие платы выпускаются серийно, имеют приемлемую стоимость и реализуют функции связных интерфейсов, индикации, задания логических и аналоговых сигналов и др. При наличии таких стендов, реализованных, например, на ПЛИС SPARTAN 6 и системах на кристалле Zynq, возможно построение распределенных систем сбора и обработки данных на основе как проводных, так и беспроводных сетей (Wi-Fi, Bluetooth). При создании лабораторий с такой конфигурацией при разработке оригинальных стендов или использовании готовых промышленных образцов отладочных плат на ПЛИС целесообразно ориентироваться на одного производителя, что позволит минимизировать затраты на приобретение программных инструментальных средств разработки и облегчит их освоение как преподавателями, так
и обучаемыми.
УЧЕБНАЯ ЛАБОРАТОРИЯ
УДАЛЕННЫЕ РАБОЧИЕ СТАНЦИИ
РАБОЧИЕ СТАНЦИИ С ГРУППАМИ АССОЦИИРОВАННЫХ СТЕНДОВ
ЧАСТНАЯ ЛОКАЛЬНАЯ СЕТЬ РАБОЧЕЙ СТАНЦИИ
Рисунок 5. Конфигурация оборудования с жестким закреплением групп ассоциированных стендов
одновременно разработки обеспечения, управления конфигурация,
При работе в удаленном режиме с группой ассоциированных стендов возрастает актуальность использования виртуальных стендов в виде графического приложения, запускаемого на удаленной рабочей станции для отображения как структуры
сконфигурированной системы, так и состояния ее отдельных компонентов.
Максимальной гибкостью и максимальной сложностью специального программного администрирования и
функционированием обладает представленная на рисунке 6. Она характеризуется полным отсутствием какой-либо привязки стендов к рабочим станциям. Как видно из рисунка этот вариант покрывает все ранее рассмотренные. Важной задачей, которую необходимо решать при реализации такой конфигурации, является обеспечение защиты от несанкционированного доступа пользователей, которые реализуют взаимодействие задействованного ими оборудования через общую локальную сеть.
Результаты анализа рассмотренных вариантов конфигураций лабораторий сведены в таблицу 2. При выборе конкретной конфигурации программных средств необходимо исходить из финансовых возможностей, от которых зависит размерность рассмотренных конфигураций. В самом экономичном варианте можно обойтись одним комплектом рабочей станции и лабораторных стендов, а также отказаться от дорогостоящего сервера. Следующий немаловажный фактор -объем и виды планируемых в лаборатории занятий в локальном и удаленном режимах. Необходим также учет методик проведения
лабораторных практикумов, который выражается в определенных требованиях к стендам. Проблема состоит в том, что серийно выпускаемые производителями СБИС отладочные платы в первую очередь служат для продвижения СБИС на рынок и не учитывают специфики обучения. Еще одна важная проблема связана с необходимостью разработки специального программного обеспечения поддержки удаленного доступа, которая требует наличия финансирования и
квалифицированных кадров.
Для организации удаленного доступа к оборудованию лаборатории рассмотренных конфигураций возможно использование службы удаленных рабочих столов, которые позволяют пользователю подключиться к удаленному компьютеру и работать на нем так, будто вход в систему был осуществлен локально. При этом для работы доступны все программы, установленные на данном компьютере, а также все оборудование, подключенное к нему.
Достоинством подхода является отсутствие необходимости в разработке каких бы то ни было дополнительных программных или аппаратных средств, поскольку существует как бесплатное, так и коммерческое программное обеспечение для организации удаленного доступа к ПК (TeamViewer, Windows Remote Desktop Services). Последнее может быть использовано для создания сложной инфраструктуры с клиент-серверной архитектурой, обеспечивающей
аутентификацию и авторизацию пользователей, их распределение по рабочим станциям. У опытного администратора установка и настройка такой среды займет несколько часов.
Рисунок 6 - Конфигурация с общим доступом к стендам и дублирующей централизованной (со стороны сервера)
подсистемой программирования стендов
Таблица 2 - Сравнение вариантов конфигурации лабораторий удаленного доступа
Вариант 1 Вариант 2 Вариант 3 Вариант 4
Объем оборудования Низкий Высокий Высокий Высокий
Требование специального помещения - + + +
Режимы доступа Удаленный Локальный, Локальный, Локальный,
удаленный, удаленный, удаленный,
смешанный смешанный смешанный
Требование установки инструментального + - ( в режиме - ( в режиме - ( в режиме
программного обеспечения на удаленной рабочей станции удаленного рабочего удаленного рабочего удаленного рабочего
стола) стола) стола)
Индикация результатов выполнения Виртуальный Виртуальный Виртуальный Виртуальный
учебного задания стенд /реальный /реальный /реальный
стенды стенды стенды
Простота переконфигурации оборудования + - +/- +/-
при отказах лабораторных стендов
Простота администрирования системы + +/- +/- -
Возможность одновременного выполнения + + + +
группы учебных заданий на одном стенде
Сложность специального программного обеспечения - +/- +/- +
Недостатком подхода является
невозможность удаленного подключения к компьютеру, занятому локальным
пользователем (обучаемым, находящимся в данный момент в лаборатории) и наоборот. Отсюда возникает необходимость разносить во времени расписания занятий, проводимых в локальном и удаленном режимах. Вторым недостатком является высокий сетевой трафик, так как все события, происходящие на удаленном рабочем столе, передаются пользователю по сети. Требования к пропускной
способности сети и к производительности серверов становятся тем выше, чем больше рабочих станций, доступных удаленно, подключено к сети.
В связи с указанными проблемами целесообразно поставить вопрос о разработке специальных программных средств
дистанционного доступа к оборудованию для более эффективного его использования при проведении занятий в удаленном режиме.
Анализ требований к программному
обеспечению удаленного доступа
Прежде чем рассмотреть подходы к построению программного обеспечения удаленного доступа необходимо
проанализировать предъявляемые к нему требования, чтобы понимать их значимость в общей постановке проблемы организации дистанционного образования. Данные требования подразделяются на две категории. К первой относятся требования, связанные с выполнением задач, возникающих при реализации учебного процесса. Ко второй категории относятся требования, связанные с инфраструктурой, обеспечивающей
функционирование системы.
Примеры некоторых задач первой категории:
• обеспечение методических указаний, определяющих порядок выполнения лабораторного практикума (создание проекта, занесение исходного описания проектируемого устройства, добавление результатов функционального и временного моделирования и т.п.);
• автоматическое тестирование типовых заданий;
• назначение приоритетов пользователей;
• распределение оборудования;
• обратная связь с преподавателем.
К инфраструктурным относятся требования обеспечения:
• взаимодействия с пользователем (реализация пользовательского интерфейса и механизма доставки информации от пользователя к системе и обратно);
• взаимодействия с оборудованием (реализация протокола взаимодействия и механизма доставки информации от аппаратной части системы к программной и обратно);
• оптимизации пропускной способности (например, группировка проектов отлаживаемых устройств для размещения на одном кристалле ПЛИС);
• поддержки разных категорий пользователей системы (обучаемый, преподаватель, администратор системы);
• аутентификации и авторизации пользователей;
• протоколирования результатов работы системы;
Исходя из перечисленных задач, выделяются логические компоненты, из которых должно состоять программное обеспечение, причем каждая задача должна выполняться
собственным компонентом. Для дальнейшего проектирования программного обеспечения удаленного доступа необходимо определить его логическую и физическую структуру.
Анализ вариантов логических структур программного обеспечения удаленного доступа
Логическая структура представляет собой способ группирования компонентов и установки зависимостей между ними. Зависимость компонента А от компонента Б появляется, если в программном коде Б используются программные сущности (классы, процедуры, функции), определенные в А. Побочным эффектом наличия зависимости является потенциальная необходимость внесения изменений в программный код зависимого компонента после изменения кода независимого компонента (эти изменения могут распространяться по цепочке на другие компоненты, косвенно зависящий от измененного). Поэтому результаты логического разделения компонентов оказывают значительное влияние на трудозатраты, связанные с разработкой, доработкой и поддержкой системы. В частности, число зависимостей оказывает влияние
преимущественно на сложность разработки, а направления зависимостей - на сложность внесения изменений и исправлений. Логическое разделения влияет также и на отказоустойчивость системы, поскольку высокие трудозатраты подразумевают высокую сложность проектирования, а значит, высокий риск допущения программных ошибок. Приведем некоторые наиболее
распространенные способы логической организации компонентов программной системы.
Многослойная архитектура
Многослойная архитектура предполагает объединение компонентов, близких по своему назначению, в слои двух типов: функциональные и сквозные. Функциональные слои изображаются вертикально, а зависимости между компонентами, входящими в них, направлены строго сверху вниз (от верхних слоев к нижним). На направления зависимостей от компонентов сквозных слоев не накладывается ограничений, любой другой слой может зависеть от любого сквозного слоя. Подробное описание многослойной
архитектуры можно найти в [9].
Частным случаем многослойной архитектуры является ее наиболее распространенная форма -трехслойная архитектура, где
функциональными слоями являются (в порядке направления зависимостей, т.е. сверху-вниз) слой представления, слой бизнес-логики и слой хранения данных. Такой способ не подходит для реализации лаборатории с удаленным доступом, так как слой бизнес-логики, отвечающий за моделирование бизнес-процессов (в нашем случае - учебных процессов, связанных с работой лаборатории) имеет слишком много зависимостей от других компонентов. Это не так критично для приложений, основная часть поведения которых связана с выполнением CRUD-операций над данными. Проблема становится важной для систем со сложным поведением, в которых модель предметной области является наиболее важной ее частью, а число зависимостей этой модели должно быть минимизировано.
Компонентная архитектура
Иногда имеет смысл рассматривать логическую структуру программы на уровне отдельных компонентов, не объединяя их в группы. В частности, это разумно для небольших профильных систем, выполняющих небольшой объем задач с высокими требованиями к надежности и отказоустойчивости. Для организации взаимосвязей каждому компоненту ставятся в соответствие два множества: множество определяемых интерфейсов и множество требуемых интерфейсов.
Зависимости между компонентами
направляются от интерфейса, определяемого одним компонентом к интерфейсу, требуемому другим. Если число таких зависимостей начинает неконтролируемо расти
рекомендуется рассмотреть другой вариант логической структуры системы.
Кольцевая (луковичная) архитектура
Подход подразумевает объединение компонентов в группы, называемые кольцами. Вся система, таким образом, изображается в виде вложенных друг в друга колец, зависимости между которыми не могут быть направлены наружу (компоненты из внешнего кольца могут иметь зависимости от компонентов из своего кольца, либо из любого вложенного кольца). Подробнее эта архитектура описана в [10].
В базовом варианте предполагается наличие четырёх колец. В самом центральном из них расположены компоненты модели предметной области. Они могут зависеть друг от друга, но не могут иметь никаких внешних зависимостей. Их окружает кольцо компонентов бизнес-процессов (отвечающих за реализацию сценариев использования системы), которые могут иметь
зависимости только от компонентов кольца модели, либо от компонентов своего кольца. Далее изображается кольцо интерфейсов, предоставляемых компонентами
инфраструктуры. Замыкает систему кольцо сервисов, реализующих эти интерфейсы. В это кольцо входят собственные компоненты системы и адаптеры для внешних библиотек.
В отличие от многослойной, кольцевая архитектура имеет иную структуру зависимостей, нежели структура зависимостей времени выполнения. Так, например, компонент бизнес-процесса, реализующий загрузку списка пользователей системы, не может иметь зависимость от компонента, реализующего хранение списка пользователей в реляционной базе данных. Хотя во время выполнения программы вызов операции загрузки будет осуществлен компонентом бизнес-процесса, кольцевая архитектура предполагает инверсию такой зависимости на уровне исходных кодов. Инверсия осуществляется добавлением абстракции в кольцо бизнес-процессов. Компонент бизнес-процесса вместо конкретного способа загрузки списка пользователей будет использовать абстракцию. Реализация будет расположена в кольце сервисов и предоставляться компоненту бизнес-процесса во время выполнения.
Из описанного виден основной недостаток архитектуры - существенное усложнение организации кода. Однако в результате получается код, который легко тестировать, дополнять и модифицировать. Для систем со сложным поведением, состоящих из большого числа компонентов этот подход является рекомендуемым.
Выводы о логической структуре программного обеспечения
Варианты логической организации программного обеспечения удаленного доступа представлены на рисунке 7.
Для выбора наиболее подходящего варианта необходимо учитывать особенности
создаваемой системы, характеризуемой сложным поведением. Система не представляет собой приложение баз данных, так как в первую очередь должна моделировать учебный процесс лаборатории цифровой схемотехники. Способ представления и хранения данных вторичен по сравнению с поведением системы. Поэтому разумно отказаться от многослойной архитектуры.
(а) (б)
Инфраструктурные компоненты
(в)
Рисунок 7 - Варианты логического структурирования программного обеспечения системы удаленного доступа: (а) многослойная (трёхслойная) архитектура; (б) компонентная архитектура; (в) «кольцевая» архитектура
Выбирая между компонентной и кольцевой архитектурами, следует учесть, что вторая представляет собой лишь более строгий вариант первой. Дополнительные ограничения призваны обезопасить ключевые части системы от ошибок, возникающих из-за зависимостей от второстепенных по отношению к ним деталей, при внесении в них изменений. Преимущества подхода проявляются в долгоживущих системах, особенно если одновременно с эксплуатацией происходит их развитие. В проектируемой системе имеются ключевые компоненты - те, что реализуют модель учебного процесса. Планируется как длительное использование, так и дальнейшее развитие системы. Из этих соображений выбирается кольцевая
архитектура как способ логического разделения компонентов системы.
Варианты физического структурирования программного обеспечения
Физическая структура определяет способ развертывания готовой системы на целевых вычислительных устройствах. Она определяет число и характер взаимодействия компьютеров и оказывает влияние на характеристики, связанные с производительностью.
Проанализируем основные способы
физического разделения компонентов системы применительно к задаче разработки программного обеспечения удаленного доступа.
Клиент-серверная архитектура
Системы с такой архитектурой состоят из центрального узла, сервера, к которому могут обращаться множество узлов-клиентов. В совокупности, клиентское и серверное программное обеспечение содержат все компоненты системы. В зависимости от разделения этих компонентов между клиентом и сервером (в особенности компонентов, реализующих логику учебного процесса) можно выделить два подтипа клиент-серверной архитектуры:
Тонкий клиент - толстый сервер. Клиент, как правило, пассивный (интернет-обозреватель), либо насыщенный (настольное приложение). Отвечает только за интерфейс пользователя и взаимодействие с сервером. Все прочие задачи реализованы на серверном компьютере;
Толстый клиент - тонкий сервер. Помимо взаимодействия между пользователем и сервером, толстый клиент дополнительно реализует ряд задач, связанных с моделированием, протоколированием и
оптимизацией. В качестве клиента может выступать интернет-обозреватель,
отображающий графический пользовательский интерфейс и реализующий сложную логику на каком-либо скриптовом языке (обычно это -javascript), настольное приложение, либо насыщенное веб-приложение (например, на основе технологий java или Silverlight). На сервер возлагаются задачи, связанные с проверкой корректности данных, проверкой прав доступа, задачи взаимодействия с оборудованием и хранения информации.
Основным достоинством клиент-серверной архитектуры является простота реализации. Она подразумевает минимальное число границ, которые должны пересекаться во время выполнения. Каждая такая граница приводит к усложнению системы, к необходимости учитывать дополнительные факторы, вроде недоступности среды передачи данных или несогласованности между интенсивностями потоков поступления и обработки запросов. Это приводит к росту трудозатрат и дополнительным рискам внесения
неисправностей в систему. Дополнительным достоинством являются низкие материальные затраты, так как для реализации архитектуры необходимо приобрести всего один сервер с одним набором лицензий.
Недостатками архитектуры являются низкая отказоустойчивость, плохая масштабируемость. На одном физическом сервере выполняется слишком большое число задач и при его отказе все функции системы становятся полностью недоступными для пользователей. С этим же связана проблема масштабируемости: можно ввести в строй дополнительные серверы (виртуальные или физические), однако каждый такой новый сервер будет также содержать полный набор серверных компонентов, хотя скорее всего, масштабирование системы требуется лишь из-за небольшой части компонентов. Остальные компоненты в таком случае являются мертвым грузом и приводят к нерациональному использованию
вычислительных мощностей.
Трехзвенная архитектура
Архитектура «клиент - сервер - сервер приложений» подразумевает наличие минимум трех уровней: клиенткой части, веб-сервера и сервера приложений. Клиент, как правило, тонкий. Сервер служит для обработки запросов, поступающих от множества клиентов. Бизнес-логика реализована на отдельном сервере приложений. В некоторых реализациях клиент
может взаимодействовать с сервером приложений напрямую, минуя веб-сервер (например, для вызова службы, размещенной на сервере приложений). Взаимодействие между уровнями, как правило, осуществляется с использованием стандартных протоколов. Например, клиент и веб-сервер могут взаимодействовать с использованием HTTP/HTTPS, веб-сервер и сервер приложений -SOAP, а клиент и сервер приложений - используя JSON.
Эта архитектура сохраняет достоинства клиент-серверной архитектуры, несмотря на наличие не одной, а двух границ в пределах системы. Кроме этого, она позволяет оптимизировать каждый сервер под его конкретную задачу либо по времени отклика на запрос пользователя, либо по пропускной способности. дополнительно появляется возможность масштабировать систему, наращивая число веб-серверов и серверов приложений по отдельности.
Трехзвенная архитектура с сетью вспомогательных вычислительных устройств
Представляет собой вариант трехзвенной архитектуры, рассмотренной выше, где сервер приложений служит в качестве центрального узла для множества компьютеров, на которых могут выполняться ресурсоемкие задачи, связанные с учебным процессом в лаборатории (к примеру, задачи синтеза устройств).
Такой подход в целом схож с классической трехзвенной архитектурой, однако он позволяет разгрузить сервер приложений от сложных вычислительных задач, перекладывая их выполнение на вычислительные узлы. Сам сервер приложений в таком случае может сфокусироваться на выполнении других задач и на управлении вспомогательными узлами. Программная система становится сложнее, однако при наличии емких по временным затратам задач это может быть оптимальным способом избежать отказа в обслуживании из-за недостатка вычислительной мощности сервера приложений.
Сравнение физических структур
программного обеспечения удаленного доступа
На рисунке 8 показаны структуры рассмотренных выше вариантов физического разделения компонентов программного обеспечения по вычислительным устройствам систем удаленного доступа.
(а)
(в)
(б)
(г)
Рисунок 8 - Варианты физического структурирования программного обеспечения систем удаленного доступа: (а) клиент-серверная архитектура с тонким клиентом; (б) клиент-серверная архитектура с толстым клиентом; (в) трехзвенная архитектура; (г) трехзвенная архитектура с сетью вспомогательных вычислительных узлов
Исходя из задач, решаемых системой удаленного доступа, наиболее рациональным для реализации является вариант трехзвенной архитектуры с сетью вычислительных узлов. Ключевым фактором здесь является необходимость группирования частных проектов в один общий проект для размещения на одном кристалле ПЛИС. Для реализации такого сценария потребуется осуществлять синтез группы проектов, полученных от группы обучаемых. Эта задача является очень ресурсоемкой, даже для простых схем на обычном современном персональном компьютере ее выполнение может занимать десятки секунд. С другой стороны, в распоряжении лаборатории имеется множество рабочих станций. Большую часть времени работа на них представляет ввод и редактирование исходных описаний устройств, анализ результатов моделирования и тестирования и демонстрация результатов работы преподавателю. В эти периоды вычислительные мощности рабочих станций используются незначительно и могут быть задействованы для синтеза схем, тестируемых удаленно.
При этом стоит учитывать приоритет студента, работающего непосредственно за рабочей станцией перед студентом, работающим удаленно. При нехватке вычислительных мощностей необходимо приостанавливать выполнение задач, связанных с удаленной отладкой и освободившиеся мощности предоставлять студенту, занимающемуся в
лаборатории по расписанию.
Теоретический аппарат анализа систем удаленного доступа к цифровой лаборатории
Тенденции развития дистанционного образования таковы, что с одной стороны, количество обучаемых будет возрастать [11], а с другой стороны, программно-аппаратные средства удаленного доступа должны обеспечивать обслуживание поступающих заявок без отказов. Таким образом, возникает необходимость создания системы обслуживания заявок, основанной на формировании очереди запросов и определения дисциплины постановки и обслуживания этой очереди. Причем система должна учитывать переход к групповому использованию оборудования вследствие отмеченного ранее его неэффективного использования в монопольном режиме. Для этого требуется определить правила группировки, позволяющие достичь компромисса между временем группирования и степенью заполнения ПЛИС. Ранее были рассмотрены подходы к технической реализации этого принципа, основанные на возможностях языка описания аппаратуры VHDL. Исходя из целевого назначения учебной лаборатории, для построения ее модели предлагается использовать теорию массового обслуживания. С точки зрения этой теории, лаборатория с удаленным доступом является системой массового обслуживания. Если составить модель такой системы, учитывающую её ключевые особенности, то с её помощью
можно определить характеристики системы, обеспечивающие оптимальные значения времени ожидания пользователей в очереди, время обслуживания и степень загрузки ПЛИС.
На рисунке 9 представлен пример структурного представления модели, использующего общепринятые обозначения элементов систем массового обслуживания [12] .
КС,., Ц к,- |»
Рисунок 9 - Структура многоканальной системы массового обслуживания с группировкой заявок и предварительной конфигурацией обслуживающих устройств
Особенностью
системы
является
группировка заявок, поступающих в очередь (DQ), специальным группирующим узлом и последующее их помещение в очередь групп (GQ). При построении модели следует адекватно учесть существенные характеристики ПЛИС -перепрограммируемых обслуживающих
устройств. В первую очередь идет о различных архитектурах самих ПЛИС с разным количеством триггеров, таблиц предпросмотра (ШГ), блочной памяти, блоков ввода/вывода и пр. Во вторую очередь следует также учитывать и характеристики обрамления ПЛИС,
установленного на печатной плате стенда. Для упрощения построения модели целесообразно представить рассмотренные ресурсы в виде единой группы. Сформированная
группирующим узлом группа заявок может обслуживаться только на устройствах одного типа и будет помещается в специально выделенную для данного типа очередь групп (GQ). Обслуживание разбивается на два этапа: конфигурацию стенда (программирование ПЛИС) и отладку устройства. Поскольку время конфигурации зависит исключительно от модели ПЛИС, разумно разделить обслуживающее устройство на два узла, первый из которых (КС) имеет фиксированное для данной модели ПЛИС время обслуживания, а второй (К) - случайное, определяемое конкретной заявкой. С учетом вышесказанного, модель рассматриваемой системы
характеризуется:
• множеством типов ресурсов: R = {Rl, R2,...,
Rl };
• множеством типов обслуживающих устройств: К = {К1, К2,..., Кт };
• количествами ресурсов и временами конфигурации каждого из имеющихся типов устройств:
Гу, Ь, где 0 < ; < т, 0 <у < I;
• количествами устройств обслуживания каждого из имеющихся типов: т, где 0 < ; < т;
• размерами накопителя заявок и накопителей групп для каждого типа устройств: nDQi и nGQi соответственно, где 0 < ; < т;
Каждая заявка dk, поступающая в систему, характеризуется набором требуемых ресурсов каждого типа и временем обслуживания (временем, требующимся пользователю на отладку устройства): пу* и где 0 <у < т. Эти величины являются случайными. Группировка заявок не должна нарушать ресурсных ограничений, которые для группы заявок G = { dl, d2, ..., dp }, обслуживаемой на устройстве типа ; могут быть записаны как:
0«]«1, (1)
Помимо ограничений, заданных формулой (1) необходимо для каждой группы обеспечить подбор заявок с приблизительно одинаковыми временами обслуживания, так как обслуживающее устройство освобождается только после завершения обслуживания последней заявки группы.
Заключение
В статье рассмотрены основные принципы организации технических и программных средств лабораторий цифровой схемотехники с удаленным доступом. Проанализированы различные варианты конфигурации
оборудования, характеризующиеся способом его объединения в систему, спектром возможных конфигураций под конкретные задачи практического обучения, обеспечивающим лабораторные практикумы по смежным дисциплинам. Предложена концепция группового использования стендов на ПЛИС при выполнении типовых заданий, что повышает эффективность работы системы в удаленном режиме, когда для него выделяется минимальная часть оборудования лаборатории. Обоснована необходимость разработки и использования виртуальных стендов для управления и отображения состояния тестового окружения проектов при выполнении задач проектирования на ПЛИС. Приведенный пример такого стенда, разработанного с участием авторов, показал высокую эффективность его многолетнего использования в НИЯУ МИФИ.
Показано, что стандартные программные средства удаленного доступа в общем случае не обеспечивают требуемую интерактивность, поэтому возникает задача разработки специального программного обеспечения для удаленного доступа. В этой связи с точки зрения требований к системам удаленного доступа проанализированы современные подходы к логической и физической организации программного обеспечения. При логическом проектировании программного обеспечения для рассмотренных вариантов лабораторий целесообразно за основу взять кольцевую архитектуру. При физическом
структурировании предпочтительной является трехзвенная архитектура с раздельными вычислительными узлами. Различные подходы к организации учебного процесса порождают
многообразие вариантов организации программно-аппаратных средств лабораторий с удаленным доступом. По-видимому, в каждом конкретном случае задача создания лаборатории может быть разбита на два этапа. Первый из них предполагает выбор архитектуры системы (структурный синтез), а второй определение оптимального сочетания параметров ее компонентов (параметрический синтез). Показано, что в качестве математического аппарата для решения второй задачи можно использовать аппарат теории массового обслуживания. Приведен пример представления системы удаленного доступа в виде системы массового обслуживания с группированием заявок и учетом ресурсных ограничений обслуживающих приборов.
Литература
1. Дмитриев Н.А., Забродин Л.Д., Ёхин М.Н., Ковригин Б.Н., Павлов М.Ю. Универсальная учебная лаборатория междисциплинарного обучения автоматизированному проектированию цифровой аппаратуры // Открытое образование. - 2009. - №4(76), - С. 83-93.
2. Thang Manh Hoang, Huy Nguyen Quang, Tran Quang Hung, Tony de Souza-Daw, Le Hoang Ngoc, Nguyen Tien Dzung, Pham Huu Bien Implementation of low cost FPGA remote laboratory // ASEAN Engineering Journal Part A. - 2014. - Vol 5 No 1, - P. 56-76.
3. J. Saniie, E.Oruklu, R.Hanley, V.Anand, T.Anjali Transforming computer engineering laboratory courses for distance learninig and collaboration // International Journal of Engineering Education. - 2015. - Vol. 31, No. 1(A), - P. 106-120.
4. M. Drutarovsky, J. Saliga, L. Michaeli, I. Hroncova Remote laboratory for FPGA based reconfigurable systems testing // XIX IMEKO World Congress Fundamental and Applied Metrology. - 2009. - P. 54-58.
5. Vera, J. Quinones, E. Enriques, S. Arenas, A. Bernal Remote laboratory for e-learning of digital systems design // Asian Transaction on Fundamentals of Electronics, Communication & Multimedia (ATFECM). - 2012. - Vol 2 Issue 05. - P. 1-10.
6. A.S. Wasu, V.S. Kukarni Rewiew of Digital System Access Remotely for FPGA lab // International Journal of Advanced Research. -2015. - Vol 3 Issue 5. - P. 575-579.
7. Arun Kumar N.P., Jagadeesh Chandra A.P. Development of remote access and control features for digital signal processing laboratory experimentations // iJOE. - 2016. - Vol 12 Issue 8. - P. 51-55.
8. R. Hashemian, J. Riddley FPGA e-Lab, a technique to remote access a laboratory to design and test // MSE '07 Proceedings of the 2007 IEEE International Conference on Microelectronic System Education/ - P. 139-140.
9. Mark Richards. Software Architecture Patterns. - O'Reilly Media, Inc., 2015. - 47 p.
10. The Onion Architecture: part 1 [электронный ресурс] // URL: http://jeffreypalermo.com/blog/the-onion-architecture-part-1/ (дата обращения 12.08.2017).
11. Digital Learning Compass: New report on distance education higher ed enrollments [электронный ресурс] // URL: http://mfeldstein.com/digital-learning-compass-new-report-distance-education-higher-ed-enrollments/ (дата обращения 14.08.2017).
12. Ёхин М.Н., Степанов М.М. Организация удаленного доступа к ПЛИС в виде системы массового обслуживания с группированием заявок и обслуживающими устройствами с предварительной конфигурацией // Международная научно-практическая конференция «Информационные технологии в образовании XXI века». Сборник научных трудов. - М.: НИЯУ МИФИ. 2015, С. 244-250.
1. Dmitriev N.A., Zabrodin L.D., Yokhin M.N., Kovrigin B.N., Pavlov M.Yu. Universal'naja uchebnaja laboratorija mezhdisciplinarnogo obuchenija avtomatizirovannomu proektirovaniju cifrovoj apparatury // Otkrytoe obrazovanie. - 2009. - №4(76), - P. 83-93.
2. Thang Manh Hoang, Huy Nguyen Quang, Tran Quang Hung, Tony de Souza-Daw, Le Hoang Ngoc, Nguyen Tien Dzung, Pham Huu Bien Implementation of low cost FPGA remote laboratory // ASEAN Engineering Journal Part A. - 2014. - Vol 5 No 1, - P. 56-76.
3. J. Saniie, E.Oruklu, R.Hanley, V.Anand, T.Anjali Transforming computer engineering laboratory courses for distance learninig and collaboration // International Journal of Engineering Education. - 2015. - Vol. 31, No. 1(A), - P. 106-120.
4. M. Drutarovsky, J. Saliga, L. Michaeli, I. Hroncova Remote laboratory for FPGA based reconfigurable systems testing // XIX IMEKO World Congress Fundamental and Applied Metrology. - 2009. - P. 54-58.
5. Vera, J. Quinones, E. Enriques, S. Arenas, A. Bernal Remote laboratory for e-learning of digital systems design // Asian Transaction on Fundamentals of Electronics, Communication & Multimedia (ATFECM). - 2012. - Vol 2 Issue 05. - P. 1-10.
6. A.S. Wasu, V.S. Kukarni Rewiew of Digital System Access Remotely for FPGA lab // International Journal of Advanced Research. -2015. - Vol 3 Issue 5. - P. 575-579.
7. Arun Kumar N.P., Jagadeesh Chandra A.P. Development of remote access and control features for digital signal processing laboratory experimentations // iJOE. - 2016. - Vol 12 Issue 8. - P. 51-55.
8. R. Hashemian, J. Riddley FPGA e-Lab, a technique to remote access a laboratory to design and test // MSE '07 Proceedings of the 2007 IEEE International Conference on Microelectronic System Education/ - P. 139-140.
9. Mark Richards. Software Architecture Patterns. - O'Reilly Media, Inc., 2015. - 47 p.
References
10. Jeffrey Palermo (2008, July 29). The Onion Architecture: part 1 [Blog post]. Retrieved from http://jeffreypalermo.com/blog/the-onion-architecture-part-1/ (retrieved at 2017, August 12).
11. Phil Hill (2017, May 2). Digital Learning Compass: New report on distance education higher ed enrollments [Blog post]. Retrieved from http://mfeldstein.com/digital-learning-compass-new-report-distance-education-higher-ed-enrollments/ (retrieved at 2017, August 14).
12. Yokhin M.N., Stepanov M.M. Organizacija udalennogo dostupa k PLIS v vide sistemy massovogo obsluzhivanija s gruppirovaniem zajavok i obsluzhivajushhimi ustrojstvami s predvaritel'noj konfiguraciej // Mezhdunarodnaja nauchno-prakticheskaja konferencija «Informacionnye tehnologii v obrazovanii XXI veka». Sbornik nauchnyh trudov. - 2015, P. 244-250.
Поступила: 22.09.2017
Об авторах:
Ёхин Михаил Николаевич, кандидат технических наук, доцент Института интеллектуальных кибернетических систем, Национальный исследовательский ядерный университет «МИФИ», [email protected]
Степанов Максим Максимович, аспирант кафедры «Компьютерные системы и технологии» Института интеллектуальных кибернетических систем, Национальный исследовательский ядерный университет «МИФИ»; инженер, АО «МЦСТ», [email protected]
Note on the authors:
Yokhin Mikhail N., Candidate of Technical Sciences, Associate Professor of Cyber Intelligence Systems Institute of National Research Nuclear University MEPhI (Moscow Engineering Physics Institute), [email protected]
Stepanov Maxim M., postgraduate of Computer Systems and Technologies Department of Cyber Intelligence Systems Institute of National Research Nuclear University MEPhI (Moscow Engineering Physics Institute), engineer of AO «MCST», [email protected]