3. Схема выполнения скрипта, структура скрипта на Easy Flow

3.2 Структура скрипта

Традиционно, исходный код программы представляет собой формализованное изложение алгоритма, в котором заложен определённый порядок действий. Данные действия дополнены предварительными описаниями, директивами, которые формируют среду (в том числе набор переменных), необходимую для выполнения соответствующей программы. Как правило, в исходном коде присутствует основная часть программы (например, в C – функция main) и вызываемые ею подпрограммы. Если в программе необходимо распараллелить какой-либо процесс (не важно, с помощью порождения потоков, распределение вычисления между узлами кластера, или др.), то данный процесс необходимо явно организовывать с помощью директив или вызовов соответствующих подпрограмм. Кроме того, при параллельном программировании необходимо решать ряд сопутствующих задач синхронизации процессов, эффективного управления вычислительными ресурсами.

В скриптах языка EasyFlow вы не найдёте результатов применения вышеописанных подходов. В них нет так таковой основной части, отсутствуют подпрограммы и нет директив, указывающих на распараллеливание процесса. Организацию распараллеливания описанного в скрипте вычислительного процесса берёт на себя планировщик CLAVIRE. А от традиционной формы создания исходного кода программы остаются лишь предварительные директивы, указывающие на исходные данные, режим взаимодействия скрипта с пакетами и приоритета исполнения.

Структура скрипта сама по себе очень проста. Вначале указывается информация об исходных данных с помощью директивы require. Сразу обратим внимание на то, что язык EasyFlow является регистрозависимым, т.е. заглавные буквы отличаются от строчных. Информация об исходных данных представляется в виде перечня идентификаторов, которые являются подобием указателей на файлы. Связывание с фактическими файлами осуществляется с помощью пользовательского интерфейса перед запуском скрипта. Допустимые символы, которые используются для определения идентификаторов, будут приведены ниже.

После описания исходных данных приводятся атрибуты, которые определяют режим взаимодействия скрипта с пакетами и приоритета исполнения. Задание атрибутов осуществляется в квадратных скобках.

Затем приводится описание так называемых шагов, каждый из которых определяет вызов пакета (метода пакета) с описанием требуемых для него исходных данных.

Что же такое пакет? Пакет – исполняемый код программы или программа с интерпретатором, автоматизирующая решение заданного класса задач. К данной программе должно иметься описание, интерпретируемое CLAVIRE. С помощью данного описания CLAVIRE осуществляет запуск пакета, передавая на вход исходные данные, и получение результата в требуемом формате. Исполняемый код, созданный под любую платформу, может находиться где угодно. Для CLAVIRE необходим к нему только доступ и корректное описание. Оно создаётся на специализированном языке EasyPackage.

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





Наш Адрес

НИИ НКТ НИУ ИТМО
Санкт-Петербург,
Биржевая линия, д.4.
Телефон: +7 812 337-6495
E-mail: dukhanov@mail.ifmo.ru