русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Интерфейс с внешним окружением

В G2 реализована распределенная обработка приложения на принципах архитектуры клиент-сервер. Клиентная система Telewindows обеспечивает множественный доступ к централизованной базе знаний и групповую работу с приложением. Взаимодействие между G2 и Telewindows может быть организовано одним из следующих способов: процесс Telewindows исполняется на той же машине, что и G2, а пользователь получает к ней доступ через X-терминал; Telewindows исполняется на рабочей станции или ПК пользователя. Кроме того, приложение можно построить как содружество автономных интеллектуальных агентов на базе интерфейса G2 <--> G2, исполняемых на одной и той же или на разных ЭВМ, связанных в сеть. При этом обмен данными осуществляется на уровне переменных через протокол ICP (Intelligent Communication Protocol). Интерфейс G2 <--> G2 позволяет разработчику создать в одном G2-приложении объекты, которые получают информацию от другого G2. Эти объекты создаются, подобно другим объектам в G2, а интерфейс G2 <--> G2 действует как сервер данных для этих объектов (подобно механизму вывода или G2-подсистеме моделирования). Для организации обмена необходимо в описании переменных объекта, получающих значение от другого G2-процесса, просто указать номер сетевого порта источника. Как результат, переменные объекта получат значения от второго G2. Подчеркнем, что G2-приложение может как получать, так и посылать информацию в одно и то же время по одному интерфейсу.

G2 разработана как открытая система. Связь с внешними источниками данных строится на основе библиотеки стандартных интерфейсов и сервера GSI (G2 Standart Interface). Подсистема GSI работает параллельно с прикладной системой как независимый обработчик событий и обеспечивает ее двустороннее взаимодействие с широким спектром программируемых контроллеров ведущих фирм (Allen Bradley, GE-Fanuc, AEG Modicon), систем сбора данных (ABB, Fisher, Siemens, Yokogawa, Foxboro, ORSI), концентраторов данных (DEC BASEstar, Allen Bradley Pyrammid Integrator, SETPOINT SETCIM) и развитых СУБД (Oracle, Sybase, DEC Rdb). Библиотека GSI и G2 Bridge products позволяют легко интегрировать G2-приложение в существующие системы управления. При отсутствии в библиотеке GSI интерфейса к некоторому уникальному контроллеру не составляет особого труда запрограммировать его по представляемому шаблону на языке С и подключить к системе.

С точки зрения современной концепции разработки открытых систем в системе G2 предлагается более гибкая и надежная трехзвенная схема организации взаимодействия клиентской и серверной частей приложения, используя GSI в качестве монитора транзакций.

Обычно, когда перед разработчиком встает проблема создания интерфейса данных, он вынужден принимать во внимание целый ряд разнородных требований: эффективность, реализуемость, надежность, переносимость, сопровождаемость, конфигурируемость, гибкость, возможность мультиплексирования сигналов и т. д. Для удовлетворения этих требований он должен реализовать множество функциональных блоков, таких, как: синхронизация обрабатываемых запросов, протоколы взаимодействия; сетевые интерфейсы, восстановление после сбоев в сети или узле; работа с множеством источников данных; группировка данных; обработка данных, пришедших без запроса; обмен сообщениями об ошибках; обмен данными о состоянии взаимодействующих систем; буферизация данных; преобразование форматов данных, работа с данными переменной длины; планирование обработки запросов; отработка запуска и остановки системы; отработка пауз и перезапуска; отработка прерываний; обработка переполнения буфера; распределение ресурсов; минимизация загрузки системы; диагностика сбоев; доступ к внешним данным и конфигурирование интерфейса. Все это применимо к любому интерфейсу данных независимо от назначения прикладной системы. Все перечисленные требования, кроме двух, удовлетворяются в подсистеме GSI автоматически независимо от платформы и типа сетевого обеспечения. Исключение составляют функции доступа к данным и конфигурирование интерфейса, но реализацию этих функций GSI делает настолько простой, насколько это возможно.

Подсистема GSI состоит из трех основных частей:

  1. ядро GSI;
  2. GSI- расширение;
  3. коммуникационный канал связи между ядром GSI и GSI расширением.

Хотя подсистема GSI отрабатывает все взаимодействия между G2 и каждым из внешних процессов, необходимо сконфигурировать ее для конкретного приложения. Для разработки системы, в полном объеме использующей возможности GSI, нужно создать два фрагмента, отражающих специфику прикладной программы, в дополнение к базе знаний G2: спецификацию конфигурирования, которая настроит базу знаний для связи с внешней программой, и так называемый переходный код (application bridge code), который используется GSI-расширением для интерактивного взаимодействия с внешней прикладной программой.

Спецификация конфигурирования включает объекты базы знаний, конфигурирующие ее для использования GSI. Средства для создания этих объектов встроены в G2. Для формирования спецификации конфигурирования создают объекты, принадлежащие к к GSI interface object. Эти объекты содержат информацию, необходимую GSI для связи с внешней прикладной программой. Далее создают переменные класса GSI variable, соответствующие переменным внешней прикладной программы. G2 передает и принимает данные эти переменные. Кроме этого создают переменные GSI variable для обмена текстовыми сообщениями с внешней прикладной программой.

Переходный код объединяет GSI-расширение с внешней при ной программой. Он состоит из набора функций на языке С, обеспечивающих передачу данных, текстовых сообщений, запуск, остановку и завершение внешней программы.

Кроме интерфейсов GSI и G2 <--> G2 доступны еще два интерфейса с внешними процессами и источниками данных: файловый интерфейс (G2 File Interface - GFI) и интерфейс с внешними функциями (Foreing Function Interface).

Файловый интерфейс GFI представляет собой гибкое средство, позволяющее G2 писать и читать информацию из внешних файлов. GFI является отдельным от G2 продуктом. Разработчик может использовать GFI для того, чтобы делать следующее:

  1. архивировать и запоминать данные;
  2. инициализировать тесты проверки БЗ;
  3. собирать данные для внешнего анализа;
  4. создавать снимки (snapshots) данных;
  5. считывать данные из внешних файлов во время исполнения.

Интерфейс с внешними функциями. Разработчик С2-приложения может вызвать внешние (foreign) для G2 функции, написанные на С и Фортране. Этот интерфейс включен в G2. Для того чтобы использовать в G2 внешнюю функцию, разработчик описывает ее и затем использует таким же способом, как и функции, определенные пользователем.

Открытость системы G2 и продуктов на ее основе обеспечивается ориентацией фирмы Gensym на промышленные стандарты. Являясь членом OMG (Object Management Group), фирма Gensym сотрудничает в этой области со многими независимыми организациями и комитетами по стандартам. В части технических средств - это поддержка широкого спектра платформ DEC, HP, Sun, IBM и ПЭВМ на базе процессоров Х86 и Pentium. Развитый графический интерфейс, включающий элементы анимации, базируется на средствах Motif и MS Windows. Сетевые протоколы - TCP/IP и DECnet. Архитектура клиент/сервер на уровне обмена данными поддерживается монитором транзакций GSI и DDE, на уровне объектов - CORBA, на уровне приложения - клиентной подсистемой Telewindows. Распределенная обработка обеспечивается интерфейсами G2 <--> G2, G2 <--> Telewindows и поддержкой вызова удаленных процедур. Существует множество готовых решений "под ключ" для прямого взаимодействия G2 с распространенными программными и техническими системами контроля и развитыми СУБД.

Возможность простого манипулирования графическим представлением объектов в G2 и составления схем, являющихся отображением технологических цепочек или абстрактных алгоритмов обработки данных, обеспечивает базовые средства для построения проблемно-ориентированных языков визуального программирования. В этом случае объекты приобретают свойства операторов и в совокупности с различными классами связей формируют грамматику нового языка. Основным преимуществом такого подхода является то, что сформированная диаграмма потоков информации по сути и есть исполняемая программа, промежуточные фазы генерации кода и компиляции для ее использования не требуются. Впервые эта концепция была реализована фирмой Gensym в GDFL- языке графического представления информационных потоков для построения систем диагностики реального времени в системе GDA (G2 Diagnostic Assistant). Подход оказался настолько удачным, что в той или иной мере используется теперь во всех проблемно/предметно-ориентированных расширениях G2.

Кроме базового продукта - оболочки ЭС реального времени G2 на ее основе фирмой Gensym разработаны дополнительные проблемно-ориентированные средства разработки; основные из них: G2 Diagnostic Assistant (GDA) – среда визуального программирования на базе G2 для создания приложений активной диагностики производственніх и информационніх процессов; NeurOn-Line (NOL)- среда, интегрирующая технологию нейронных сетей и экспертных систем; ReThink- среда моделирования и реинжиниринга деятельности компаний.

Просмотров:

Вернуться в оглавление:Экспертные системы



Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.