- •«Технологии искусственного интеллекта в асутп»
- •Оглавление
- •1. Сферы применения экспертных систем реального времени (эсрв) в задачах асутп 6
- •2. Промышленные внедрения эсрв в асутп 18
- •3. Инструментальные средства синтеза эсрв 134
- •Список сокращений
- •1. Сферы применения экспертных систем реального времени (эсрв) в задачах асутп
- •2. Промышленные внедрения эсрв в асутп
- •2.1. Микро-эсрв интеллектуальных оконечных устройств
- •Полевая шина
- •2.2. Применение эсрв в контроллерном слое асутп
- •2.2.1. Мини-эсрв в контроллерах фирмы Fisher-Rosemount
- •2.3. Эсрв верхнего уровня асутп
- •2.3.1. Система свбу
- •2.3.2. Система спек
- •2.3.3. Система «компакс»
- •4. Модуль базы данных выполняет функции:
- •Модуль формирования отчетов по состояниям Агрегатов и Планированию ремонтов
- •2.4. Использование эсрв в комплексных решениях
- •2.4.1. Решения корпорации Siemens
- •2.4.2. Концепции Plant Intelligence корпорации Wonderware
- •2.4.3. Модели Plant Intelligence и ipm корпорации ge Fanuc
- •2.4.4. Комплексные решения Emerson
- •3. Инструментальные средства синтеза эсрв
- •3.1. Среды разработки и эксплуатации эсрв
- •3.1.1. Платформа g2
- •3.1.2. Система sdb
- •3.1.3. Инструментальная среда «оператор»
- •3.1.3.1. Язык представления знаний абис
- •1) Особенности дедуктивной системы, реализованной в языке abis
- •1.1) Общая структура системы
- •1.2) Предложения языка и база данных
- •1.3) Управление работой дедуктивной системы
- •1.4) Метод согласования
- •2) Структура языка abis
- •2.1) Базовые типы данных
- •2.2) Правила
- •2.3) Структура программы на языке abis
- •3) Логика выполнения программы на языке abis
- •3.1) Выполнение программы на уровне модулей
- •3.2) Выполнение программы на уровне правил
- •3.3) Обработка условия
- •3.4) Текущая достоверность
- •3.5) Обработка следствия правила
- •3.6) Выполнение оператора согласования в условии правила
- •3.6.1) Выполнение оператора согласования без квантора или с квантором all.
- •3.7) Особенности использования переменных при обработке правила
- •3.2. Разработка эсрв на базе универсальных языков высокого уровня
- •3.2.1. Инструментальный комплекс ais
- •Заключение
- •Управление предприятием Сервер бд асуп Сервер приложений эс а6
- •Мини-эсрв а2
- •Управление
- •Производством
- •Управление
- •Процессом
- •Управление
- •Оборудованием
- •Клиент эсрв а2
- •Клиент эсрв а4
- •Сервер приложений эсрв а4
- •Клиент эсрв а4
- •Эсрв а3
- •Микро-эсрв а1
- •Бд асутп
- •Сервер бд асуп Управление предприятием Координатор-агент а2 Координатор-агент а2
- •Агент а1
- •Агент а1
- •Агент а1
- •Координатор-агент а1
- •Агент а2
- •Координатор- агент а1
- •Агент а1
- •Шлюзовой агент а2
- •Агент а2
- •Агент а2
- •Приложений асуп
- •Агент коммуни-каций а1
- •Приложений асутп
- •Управление
- •Производством
- •Управление
- •Процессом
- •Управление
- •Оборудованием
- •Бд асутп
- •Список литературы
3.7) Особенности использования переменных при обработке правила
Переменные в ABIS-программе бывают трех типов: глобальные, локальные и частные.
Глобальные переменные определяются и обрабатываются как обычные глобальные переменные процедурных языков программирования. Они доступны из любого правила любого модуля и могут служить для передачи данных от правила к правилу.
Локальные переменные определены только в пределах модуля правил, а в остальном ничем не отличаются от глобальных переменных.
Частные переменные служат для означивания (получения и удержания значении атрибутов фактов, согласованных в предложении согласования).
В заключении следует также отметить, что отличительной чертой языка ABIS является применение теории нечетких множеств и, в частности, механизма достоверности для формирования правил вывода. Благодаря этому, язык позволяет строить системы, способные работать в условиях противоречивой или неполной информации, что с успехом используется в современных системах контроля и управления. В частности, на основе дедуктивных систем, написанных на языке ABIS, созданы системы контроля и управления, в настоящее время применяемые на объектах атомной энергетики в нашей стране и за рубежом. Одна из них (система СВБУ) рассматривалась в главе 2 (п.2.3.1).
3.2. Разработка эсрв на базе универсальных языков высокого уровня
В индустрии средств разработки ЭСРВ еще с конца 80-х гг. наметилась четкая тенденция к постепенному размежеванию ряда «центробежных» концепций выбора лингвистического обеспечения для решения задач синтеза интеллектуальных программных систем реального времени. Эти концепции в целом можно охарактеризовать по комбинациям сочетаний из двух пар классификационных признаков: первая пара – базовые универсальных языки, использовавшиеся при разработке самого инструментария с разделением на классы логических и/или функциональных языков (класс 1) и алгоритмических языков (в т.ч. – с поддержкой объектно-ориентированного программирования) (класс 2); вторая пара – типы инструментария с выделением оболочек со встроенными языками инженерии знаний (тип 1) и систем программирования независимых языков инженерии знаний (ЯИЗ) и/или САПР на их основе (тип 2).
Отдельной концепцией, не подпадающей под подобное разбиение признаков, является концепция прямого использования универсальных языков логического и функционального программирования (прежде всего – классических Prolog и Lisp) с формированием их диалектов, адаптированных к средам реального времени, и/или с применением специализированной аппаратной базы, обеспечивающей повышение вычислительной эффективности приложений, разработанных на данных языках. Однако, ввиду специфичности и узости сфер приложения, данная концепция далее не анализируется (как имеющая слабое отношение к тематике универсальных ЭСРВ общего назначения).
С учетом приведенных замечаний, в общий перечень концепций выбора лингвистической базы и инструментария синтеза ЭСРВ входят:
1) концепция применения сред разработки и эксплуатации ЭСРВ (оболочек реального времени) со встроенными языками инженерии знаний (ЯИЗ);
2) концепция применения независимых ЯИЗ (а также САПР на их основе), исходно реализованных на базе Prolog, Lisp и др. универсальных языков логического и/или функционального типа. Данная концепция исторически сложилась в области проектирования обычных ЭС (не ЭСРВ), поскольку подавляющее большинство распространенных независимых ЯИЗ (среди наиболее известных – LOOPS, KL-x, APES, FIT, KANDOR, DPL, SRL и многие др.) и использующих их САПР (в том числе – большинство «лидеров» среди современных САПР ЭС – ART, KEE, Knowledge Craft, KISS и т.п.) изначально реализовывались на различных диалектах языков Lisp и Prolog;
3) концепция ориентации на алгоритмические и объектно-ориентированные универсальные языки с построением на их основе производных инструментов – ЯИЗ и САПР (класс оболочек подпадает под концепцию 1).
В приведенном перечне, в связи со значительной схожестью, объединены в единую (в концепцию номер 1) две концепции, в которых типом инструментария являются оболочки ЭСРВ (тип 1).
Различные направления развития технологий проектирования ЭСРВ, соответствующие трем перечисленным концепциям, в сущности дифференцируются по принципам решения общей комплексной проблемы проектирования интеллектуальных систем рассматриваемого класса – проблемы оптимального сочетания качественных показателей (подхода, технологии, инструмента) по ряду базовых критериев, среди которых целесообразно особо выделить следующие:
а) выразительная мощность языков представления и моделей знаний, потенциально позволяющая поддерживать решение более сложных классов «интеллектуальных» задач в более сложных предметных областях, а также приближающая семантику средств описания и решения этих задач к способам их осмысления и решения человеком-экспертом;
б) возможность достижения высокой продуктивности процессов проектирования (а также, сопровождения, модернизации, тиражирования и проч.) при минимальных материальных и трудовых затратах со стороны коллектива проектировщиков (включая и системных архитекторов, и инженеров знаний, и программистов);
в) обеспечение высокой вычислительной эффективности, корректности и надежности работы приложений в заданной целевой среде реального времени при одновременном соблюдении требований по удобству их эксплуатации.
Перечисленные критерии отражают взгляды различных «заинтересованных сторон» (системотехников, экспертов, инженеров знаний, программистов, заказчиков и др.) на эффективность применяемого проектного подхода, которая в значительной степени характеризуется выбором одной из сформулированных в начале параграфа концепций. Каждая из этих концепций соблюдает описанные критерии эффективности в различных соотношениях. Концепция 1 («оболочек реального времени») относительно «выигрывает» по критерию (б), концепция 2 («логических и функциональных языков») - по критерию (а), концепция 3 («алгоритмических и объектно-ориентированных языков») - по критерию (в).
Безусловно, все три концепции имеют свои исторически сложившиеся и предметно обусловленные ниши, связанные с соответствующими классами обобщенных постановок задач, областями использования приложений, спецификой целевых сред и т.п. Естественно также, что в «своих» нишах каждая из концепций имеет весомые преимущества перед альтернативными. Поэтому сравнение общих подходов к формированию технологического базиса того или иного проекта может производиться только применительно к конкретике решаемого класса проектных задач.
В сфере АСУТП/АСУП в настоящее время ситуация с использованием базового лингвистического обеспечения при проектировании ЭСРВ складывается приблизительно следующим образом.
1. Преобладающим подходом является применение внутренних ЯИЗ в средах оболочек ЭСРВ. Безусловное лидерство G2 на рынке инструментария синтеза ЭСРВ в этом смысле является достаточно показательным (отметим также, что средством разработки самой системы G2 являлся Common-LISP, а ее прародителя, системы Picon фирмы Lisp Machine Inc., – классический LISP для ЭВМ Symbolics). Причем наблюдается очевидная тенденция к наращиванию мощи средств автоматизации программирования в средах проектирования. Все более развитыми становятся CASE-средства соответствующей специализации, технологии класса CAKE (Computer Aided Knowledge Engineering) и им подобные, внутренние средства визуализации, графической спецификации, интерактивные конструкторы и др. сервисные компоненты сред автоматизированной разработки ЭСРВ и т.п.
2. Самостоятельные системы и среды программирования ЯИЗ (реализованных на базе универсальных функциональных и логических языков или полностью независимых), таких как LOOPS, OPS, KL-x и т.п., а также САПР на основе подобных языков (например, ART, KEE, Knowledge Craft и др.) «напрямую» практически не используются в проектировании ЭСРВ. Данное обстоятельство прежде всего объясняется исходным дистанцированием наиболее известных ЯИЗ от задач реального времени, а также традиционными сложностями их применения в массовых и масштабных проектах промышленного назначения – недостатком специалистов требуемого профиля и квалификации, трудностью освоения, низкой способностью к интеграции с аппаратно-программным окружением, высокими требованиями к вычислительным ресурсам, большой стоимостью и т.д. (при этом рассматриваемый подкласс инструментов достаточно часто применяется при синтезе ЭС, а не ЭСРВ, промышленного назначения). Однако, с конца 80-х гг. наблюдается тенденция к интеграции всей совокупности рассматриваемых инструментальных средств с базовыми системами программирования алгоритмических языков высокого уровня (ЯВУ). Именно на основе этой интеграции происходит постепенное распространение соответствующего инструментария в сфере систем реального времени.
3. Инструментальные средства синтеза ЭСРВ (в основном, – САПР), основанные на использовании алгоритмических и объектно-ориентированных языков, нашли свое применение в классах проектных задач, связанных с «жестким» реальным временем, значительными объемами вычислений, повышенной надежностью, сильными ограничениями на доступные вычислительные ресурсы и т.п. Основным способом их применения является «вторичная реализация» ЭСРВ (т.е., «трансляция» исходных образов ЭС, синтезированных на базе других инструментальных средств) и реализация инструментария (или его компонентов) для разработки ЭСРВ (в этом случае в целевую среду вместе с приложением переносятся компоненты инструмента, разработанные на базовом универсальном языке, и элементы исполнительной системы этого языка). Примером подобного подхода является и язык ABIS, рассматривавшийся в п.3.1.4 (несмотря на то, что этот язык является специализированным языком логического типа, во многих аспектах аналогичным Prolog, реализация ABIS проводилась на языке С).
Из сказанного следует, что помимо распространенного проектного подхода на базе использования оболочек ЭСРВ, а также детально не рассматривавшегося (но постоянно развиваемого) направления развития лингвистического базиса ИИ «реального времени», связанного с универсальными и специализированными языками функционального и логического типа, наиболее заметные тенденции в современной индустрии инструментальных средств соответствующего назначения так или иначе увязаны с применением процедурных, алгоритмических ЯВУ. Именно эти тенденции станут далее предметом рассмотрения в настоящем параграфе. Среди них можно выделить следующие наиболее явные:
реализация популярных (но не ориентированных на реальное время) ЯИЗ, оболочек и САПР ЭС на алгоритмических ЯВУ (здесь и далее под алгоритмическими будут подразумеваться также языки, совмещающие в себе концепции традиционного процедурного и объектно-ориентированного программирования) с целью упрощения их последующей интеграции в среды реального времени;
Примечание: ярким примером данной тенденции является «стратегическая линия» работ фирмы Inference Corp., которая в 90-х гг. ввела в эксплуатацию новую версию своей известной инструментальной системы ART (входящей в пятерку лидеров в классе САПР ЭС), представляющую собой расширенный перевод первоначальной версии системы с языка Lisp на язык С. Сейчас продолжается дальнейшая модернизация ART в том же направлении, но уже на базе С++.
постоянное увеличение количества развитых инструментальных средств, исходно реализуемых на ЯВУ;
Примечание: среди современных инструментальных средств синтеза ЭС и ЭСРВ, реализованных на алгоритмических ЯВУ и получивших широкое распространение в последние годы, особо следует отметить CLIPS, Exsys, RT-Expert, ILOG Rules, Nexpert Object, OPS и ряд др. продуктов, важной особенностью которых является многоуровневая поддержка взаимодействия с программами на ЯВУ (для всех перечисленных – с языком С), включая уровень инструментального ядра (и/или runtime-системы).
распространение средств трансляции процедурных составляющих готовых ЭС (и соответствующей адаптации баз знаний), синтезированных на базе различных инструментов, в вид программных систем на ЯВУ;
Примечание: достаточно показательными примерами подобных средств являются технологии автоматизации перевода (повторной реализации) значительного числа серийно поставляемых ЭСРВ на платформу языка Ada. Данные технологии в 90-х гг. были использованы целым рядом аэрокосмических корпораций США (включая такие, как Boeing) в связи с принятием в NASA и Пентагоне стандарта на применение Ada в качестве единого базового языка реализации ПО встроенных систем реального времени.
внесение в существующие инструментальные системы ИИ развитых программных интерфейсов (API) и др. средств интеграции с алгоритмическими ЯВУ;
Примечание: например, фирма IntelliCorp. с 90-х гг. перешла на поддержку совместимости с языком С всех версий своего программного комплекса KEE (так же, как и ART входившего в пятерку лидеров среди САПР ЭС), исходно реализованного на Lisp. Известно много аналогичных примеров и в классе САПР, и в классе оболочек ЭС. Современные же инструменты синтеза ЭС/ЭСРВ (даже реализуемые на Lisp, Prolog и им подобных языках) практически в 100% случаев поддерживают развитые средства интеграции с алгоритмическими ЯВУ (подбавляющее большинство – с языком С). Исключениями не являются и лидирующие оболочки G2 (см. п.3.1.1), RTworks и др. Характерно также, что и сами базовые функциональные и логические языки (Lisp, Prolog и т.п.), начиная с реализаций (и новых диалектов) конца 80-х гг., традиционно поддерживают механизмы взаимодействия с алгоритмическими ЯВУ (в некоторых случаях, на уровне семантики языка, как например в Sigma-Prolog, или объектно-ориентированном расширении Common Lisp – CLOS).
семантическое расширение распространенных алгоритмических ЯВУ в сторону поддержки функциональной модели вычислений (с целью усиления выразительных возможностей при сохранении вычислительной эффективности);
Примечание: наглядным примером является идеология развития языка С#, в котором от версии к версии добавляются элементы функциональной семантики – анонимные функции, лямбда-выражения и т.п.
развитие инструментальных средств синтеза встраиваемых ЭС/ЭРСВ, инкапсулируемых в программные системы, реализуемые на алгоритмических ЯВУ;
Примечание: характерными примерами можно считать системы CLIPS (c ее расширения – DYNACLIPS, FuzzyCLIPS и др.), ILOG Rules, Aion, C-PRS, языки RAL, OPS/R2 и др.
развитие систем программирования распространенных алгоритмических ЯВУ в сторону поддержки задач проектирования ЭС и ЭСРВ;
Примечание: основным подходом к подобному расширению функциональности систем программирования алгоритмических ЯВУ является использование внешних библиотек модулей, классов и/или runtime-библиотек. Примерами средств, поддерживающих такие возможности, являются RT-Expert, ILOG Rules, RETE++ и некоторые др.
расширение парка инструментальных систем, изначально ориентированных на генерацию образов ЭС на ЯВУ.
Примечание: примерами средств данного типа являются САПР ЭС/ЭСРВ XpertRule, 1-st Class HT, CxPert и др.
Отметим несколько из наиболее интересных технологических приемов, имеющих непосредственное отношение к сформулированным тенденциям и к упоминавшимся выше (в качестве примеров) инструментальным средствам.
В категории ЯИЗ уместно выделить пример языка RAL, тесно связанного с использованием алгоритмических ЯВУ в сфере ИИ. RAL (Rule-extended Algorithmic Language – «алгоритмический язык, расширенный за счет механизма правил») реализует интересную идею семантического расширения алгоритмических языков. Разработанный на языке С в начале 90-х гг., RAL является на самом деле «вмещающим» (синтаксически и семантически) множеством для С (соответственно, С можно считать его подмножеством). Непосредственной целью создания RAL являлась «бесшовная» интеграция С с механизмом продукционных правил и объектно-ориентированным подходом. Правила в RAL могут непосредственно оперировать типами, определенными в С-приложении. Язык «понимает» С-декларации типов, функций, констант (#define …) и т.п., допускает прямое использование С-выражений, инструкций, вызовов функций, макросов и т.д. в определениях правил. Автоматически, доступными становятся и все внешние интерфейсы С-приложения. Для повышения вычислительной эффективности RAL-правила транслируются в обычный С-код перед построением единого интегрированного приложения. Модификация языка RAL - RAL/RT специально ориентирована на задачи реального времени. При этом имеется соответствующая среда разработчика (RAL Workbench), поддерживающая синтез собственно продукционной составляющей ЭСРВ.
В классе расширений систем программирования алгоритмических ЯВУ можно особо выделить RETE++, поставляемый в виде библиотеки классов С++. Данный продукт поддерживает весь традиционный набор механизмов логического вывода (прямой и обратный, основанный на правилах и прецедентный) и позволяет использовать весь спектр возможностей С++ по работе с классами и объектами, полностью увязывая при этом классы приложения и системные классы RETE++. В свою очередь, машина вывода RETE++ способна оперировать с любыми типами и объектами данных в базовом приложении. Важно также, что RETE++ содержит в себе и инструментальные средства (включая графическую среду разработчика), которые могут быть инкапсулированы в целевое приложение. Причем, весь поставляемый в библиотеке инструментарий для работы с базами знаний может работать в реальном времени (в т.ч., осуществляя мониторинг базы, отладку логического вывода и т.п.). Поддерживаются и интерфейсы с базами данных, что потенциально позволяет осуществлять вывод в реальном времени с привлечением информации из архивов исторических данных. Полная инкапсуляция в базовое приложение обеспечивает также возможность полноценной реализации распределенных ЭСРВ, применения технологий COM/ DCOM, ActiveX и др.
Среди наиболее популярных в настоящее время САПР ЭС/ЭСРВ, тесно интегрированных с алгоритмическими ЯВУ, нельзя не выделить систему CLIPS и ее расширения. Данный инструментарий был разработан на языке С в Центре космических исследований NASA (NASA's Johnson Space Center). CLIPS – аббревиатура от С Language Integrated Production System (так называется и весь комплекс инструментальных средств, и его внутренний язык представления знаний). Продукт распространяется свободно и может поставляться в виде открытого С-кода, что делает CLIPS полностью портабельным. С технологической точки зрения важно также то, что система способна поддержать полную инкапсуляцию ЭС, синтезируемой на базе CLIPS, в целевое приложение, реализуемое на алгоритмических ЯВУ (С, Java, Ada и др.).
Важным свойством CLIPS является поддержка трех форм представления знаний – продукционной, процедурной и объектно-ориентированной. Первые две формы поддерживаются базовым языком CLIPS, а третья – специальной надстройкой над ним – языком COOL (CLIPS Object Oriented Language). В базовом CLIPS основными системными компонентами являются база знаний (правила), база данных (факты) и машина вывода, которая циклически сопоставляет факты с посылками правил и, в случае их соответствия, выполняет следствия правил (действия). Язык допускает прямое описание функций - процедурных единиц CLIPS-программы, которые могут вызываться в правилах. Выразительная мощь «собственных» процедурных описаний в CLIPS довольно низка, но может произвольно расширяться за счет вызовов внешних функций. Факты могут агрегироваться (описывая тем самым комплексные ситуации) в виде т.н. «шаблонов», аналогичных структурам struct в С (поля структур именуются слотами).
Существенным расширением семантики CLIPS стала интеграция базового варианта языка с объектно-ориентированным расширением COOL. Пользовательские классы в CLIPS определяются как производные от системных классов COOL (см. рис.55). Классы могут быть абстрактными или «реальными», т.е. неспособными или способными иметь принадлежащие им экземпляры. В рамках единой CLIPS-программы «уживаются» правила и объекты. Правила управляют ходом вычислений, но некоторые операции объекты выполняют самостоятельно, получив «указания» (сообщения) от правил. Объекты не являются резидентами рабочей памяти, но члены левой части правил (условий) могут быть сопоставлены с содержимым их слотов. Состояние объектов может измениться и вследствие побочных эффектов активизации правил, но я считаю, что лучше предоставить объектам возможность самостоятельно выполнять манипуляции с хранящимися в них данными в ответ на поступающие от правил сообщения. Объекты не могут самостоятельно активизировать правила, но их обработчики сообщения могут возвращать определенную информацию о результатах, которая используется для управления логикой выполнения действий в правой части правил.
Рис.55. Иерархия предопределенных классов CLIPS
Несмотря на кажущуюся простоту и доступность, CLIPS является на практике достаточно мощным средством построения встроенных продукционных систем. Кроме того, система дополняется рядом внешних компонентов и утилит, существенно увеличивающих функциональность инструмента. Так, набор утилит DYNACLIPS (DYNAmic CLIPS utilities), поставляемый в виде комплекта библиотек, содержит инструменты для обеспечения работы с резидентной рабочей памятью (т.н., «классная доска»), динамического обмена знаниями, обслуживания программных агентов. Подобные агенты на базе средств DYNACLIPS могут посылать и принимать факты, правила и команды, используя «классную доску» (факты и правила в структуре «доски» вставляются и удаляются в процессе работы агентов). При этом поддерживаются механизмы передачи знаний на временной и постоянной основе. Другим функциональным расширением CLIPS стала версия FuzzyCLIPS (первая - 6.02). В данной версии поддерживаются механизмы нечетких фактов, правил и выводов, а также их произвольное смешение с традиционной жесткой логикой. Помимо этого, обеспечена возможность работы с неопределенностями. Существуют и другие расширения CLIPS (например, графическая оболочка для CLIPS – wxCLIPS), а также разработки, являющиеся «производными» от данной системы или совместимыми с ней (например, система Eclipse).
Многочисленные применения CLIPS-инструментария в проектах NASA экспериментально подтвердили его эффективность в задачах разработки продукционных ЭСРВ.
Все рассмотренные выше примеры инструментальных средств ИИ, ориентированных на интеграцию с алгоритмическими ЯВУ, были в основном связаны с языком C(C++), который является бесспорным лидером в исследуемой проблемной области. В последние годы на второе место по применимости (вытесняя Pascal) перемещается язык Ada (за счет класса встроенных ЭСРВ и принятых в США условий стандартизации для ряда сегментов рынка средств промышленной автоматизации и оборонного сектора). Однако, на данный момент основной сферой его приложения в задачах синтеза и реализации ЭСРВ остаются внедрения в проектах систем управления сложными динамическими подвижными объектами и их комплексами, в большинстве случаев – военного или двойного назначения (за последние годы среди крупных проектов – АСУ боевых самолетов C-17, F-15E, вертолетов AH-64 Apache и LHX, российского самолета-амфибии Бе-200, аэробусов A340, космической станции Canadarm 2 и др.).
В целом, резюмируя материал данного параграфа, следует еще раз подчеркнуть наличие устойчиво развивающейся тенденции к расширению практики использования алгоритмических ЯВУ в качестве базового средства реализации ЭСРВ различного функционального профиля. В следующем разделе будет кратко рассмотрен один из примеров построения комплекса инструментальных средств поддержки синтеза ЭСРВ, базирующегося на данной концепции.
