Доступны две формы GAL. Первый - это General Automation Language для автоматизации устройств, а второй - Generalized Automation Language ( GAL ), который представляет собой язык программирования очень высокого уровня для систем на основе MVS, таких как OS / 390 и z / OS .
Общий язык автоматизации
Разработано iLED для обеспечения общего языка для стандартизации автоматизации и управления устройствами в жилых (домашняя автоматизация) и коммерческих средах управления. Язык предоставляет стандартизированный метод связи с / от контролируемых / управляющих устройств. На каждом устройстве глобальный список адресов преобразуется в протокол и среду для конкретного компьютера. Примером может служить управление DVD-плеером. Команда GAL будет
. Затем устройство GAL преобразует это в дискретную ИК-команду для включения DVD-плеера. [1]
Обобщенный язык автоматизации
Разработан Expans Systems для предоставления функций и конструкций, которые позволяют программисту перехватывать системные события и планировать ответы, как это реализовано в их продукте AutoMan . В некоторой степени похожий на BASIC, GAL позволяет системным программистам и операторам определять логику, применяемую к системным сообщениям, когда они проходят через мультисистемную ( сисплексную ) среду. GAL также позволяет программисту определять события, которые произошли в прошлом, путем перехвата сообщений Action Message Retention Facility (AMRF). В языке есть встроенные конструкции для определения возраста сохраненного сообщения и принятия решений о его судьбе в зависимости от возраста. GAL можно использовать для написания новых системных команд путем перехвата и интерпретации всего, что вводится в консоли оператора. GAL использует ключевые слова, такие как названия дней недели, названия месяцев и т. Д., Для автоматического планирования событий в системе. Как и REXX , GAL является одновременно интерпретируемым и компилируемым языком. Операторы GAL могут быть введены в интерпретатор на лету, или могут быть предопределены целые сценарии автоматизации, такие как логика для определения автоматических операций системы, и могут быть скомпилированы в автономном режиме с помощью программы-компилятора GALCOMP.
GAL реализует сравнение операторами IF, установкой переменных, оператором LET и вызовами подпрограмм. GAL позволяет программисту проникать в REXX и Assembler там, где это необходимо. Очень высокоуровневый характер GAL иллюстрируется оператором EMAIL, который позволяет программисту отправлять оповещение по электронной почте при обнаружении события, требующего вмешательства человека. Предполагая, что это событие сообщения требует отправки предупреждения получателю по умолчанию:
MSG = XID999S VAR & MSGTXT LEN 100 LET & MSGTXT = $$ MSGTXT ЭЛЕКТРОННОЕ ПИСЬМО SUBJECT '& MSGTXT' «Это проблема, требующая неотложного внимания»
GAL использует средства захвата и замены текста. В этом простом примере текст системного сообщения записывается в переменную, а текст в этой переменной затем используется в качестве темы электронного письма. Сообщение в теле письма - это текст в кавычках после темы.
GAL позволяет выполнять межсистемные ( IBM XCF ) запросы с помощью простых операторов IF без учета основных внутренних процессов, необходимых для выполнения межсистемных коммуникаций. Это просто вопрос определения одной или нескольких систем, которые необходимо протестировать.
Например, чтобы проверить, выполняется ли задание в партнерской системе:
ЕСЛИ SYS = sysn JOB (имя задания) АКТИВНО ДЕЛАТЬ . . . КОНЕЦ
Смотрите также
Рекомендации
- "Объяснение GAL" . Exspans. 24 августа 2015 г.
- Описание возможностей (pdf) . Exspans.
- Компилятор обобщенного языка автоматизации (pdf) . Exspans.
Внешние ссылки
- «Автомеханик» . Exspans Разработка систем и программного обеспечения . Глобальный каталог решений. IBM. 50647.
- «AutoMate» . Exspans Разработка систем и программного обеспечения . Глобальный каталог решений. IBM. 53263.