Почему нужны инструментальные средства разработки и эксплуатации прикладных систем с привлечением пользователей?
Почему ИКС гарантирует успех в ВАШЕЙ деятельности при разработке и эксплуатации прикладных систем?
Как в ИКС организовано хранение понятийных и функциональных зависимостей ПpО?
Как в ИКС выделяются функциональные модули?
Какие инструментальные средства входят в состав ИКС?
Как в ИКС реализована машина вывода (Планировщик ИКС)?
Как ИКС связана со стандартной системой программирования?
В чем состоят особенности использования ИКС при разработке и эксплуатации ПО?
Литература

В статье на примере отечественной системы Интеллектуальная компьютерная среда (ИКС) показано место и роль CASE-технологии при создании и сопровождении прикладных систем (ПС) пользователя.


Почему нужны инструментальные средства разработки и эксплуатации прикладных систем с привлечением пользователей?

Новая информационная технология (НИТ) призвана расширить характер связей субъекта с физическим миром (рис. 1). Отличительные черты НИТ от традиционной технологии программирования (ТП):

Picture_1

Рисунок 1.
Расширение возможностей при переходе к новой информационной технологии: ФПЗ1-ФПЗ6 - различные формы знаний.

1. Гуманизация программирования. ЭВМ - на службе пользователя, а не пользователь - слуга машины. В НИТ усилия пользователя ценятся выше загрузки ЭВМ, т.е. основное внимание уделяется эффективности работы пользователя, а не ЭВМ.

2. ЭВМ и подключенные к ней средства переработки данных образуют интегрированную систему автоматизированной поддержки инженерных решений (САПИР) пользователя. При этом средствами ЭВМ достигается всестороннее обеспечение и поддержка решения нужных пользователю задач, а не только процесса реализации и выполнения алгоритмически определяемых программ как в традиционной системе программирования ЭВМ.

3. Сближение (а в перспективе и интеграция; для некоторых классов задач это достижимо уже и сегодня) понятий "разработчик" и "пользователь" за счет адекватности представления знаний и умений, используемых разработчиками и пользователями. Это предполагает:

  • тесное взаимодействие конечных пользователей с ЭВМ как в ходе разработки программного комплекса, так и его последующей эксплуатации;
  • широкое использование в вычислительном процессе всех форм представления знаний (в первую очередь визуальной, звуковой и т. д.), а не только числовой и символьной.
  • 4. Резкое сокращение разрыва между семантическим и синтаксическим представлением о реальном мире в компьютерной модели. Это достигается за счет явной фиксации различий между знаниями, умениями, информацией и данными в реализации информационной модели прикладной области на ЭВМ.

    Особенности текущего состояния разработки программных средств для прикладных систем (ПС):

    1. Существенное изменение природы процесса программирования ПС:

  • возрастание сложности как самих ПС, так и задач с их помощью решаемых;
  • использование не только числовой, но и текстовой и графической обpаботки.
  • ориентация на автоформализацию знаний пользователем.
  • 2. Кризис в области технологии программирования:

  • увеличение разрыва между темпами роста потребности в программном обеспечении (ПО) и производительности труда программистов; прогнозируется, что к 2000 г. профессиональные программисты смогут удовлетворить только 3% потребности в их услугах;
  • практическое отсутствие на ЭВМ средств накапливания знаний о существующем ПО и их повторное использование при решении;
  • невозможность охвата всего спектра задач проектирования средствами одной технологии программирования.
  • 3. Увеличение доли затрат на разработку новых ПС:

  • широкое применение разнородных средств ВТ;
  • многообразие базовых моделей ЭВМ и существующих операционных систем;
  • низкая мобильность и унификация существующих программных систем.
  • Если еще учесть существующее кризисное состояние традиционной технологии программирования, то станет понятна актуальность создания программных инструментальных средств, обеспечивающих деятельность пользователя при разработке и эксплуатации прикладных систем.

    Сложившийся в ТП набор языков и их взаимосвязи в процессе разработки и эксплуатации ПО приведены на рис. 2.

    Picture_2

    Рисунок 2.
    Набор языков и их взаимосвязь в процессе разработки и эксплуатации ПО.

    В настоящее время объектно-ориентированный подход при создании прикладных систем является наиболее актуальным. История и направления развития инструментальных средств автоматизации поддержки действий пользователя при создании и эксплуатации прикладных систем с учетом тенденций на ближайшие 5 - 10 лет приведены на рис. 3-4. При этом на рис. 3 упор сделан на изменение характера решаемых задач и влияние тех или иных специалистов в ходе разработки. Здесь же показана динамика развития технических средств и наращивание мощи методического аппарата, используемого при создании программных систем.

    Picture_3

    Рисунок 3.
    Этапы развития прикладных систем обработки данных.

    Рис. 4 показывает набор инструментария, применение которого стало определяющим в каждом из поколений прикладных систем. Так же отображено и изменение в переосмысливании важности задач технологии программирования.

    Picture_4

    Рисунок 4.
    Этапы развития прикладных систем и появление инструментальных средств.

    Почему ИКС гарантирует успех в ВАШЕЙ деятельности при разработке и эксплуатации прикладных систем?

    ИКС - это совокупность функционально и информационно увязанных инструментальных программных средств:

    1. Средства для представления модели прикладной области (ПрО):

  • словарь свойств объектов ПрО;
  • каталог описания зависимостей в табличной форме;
  • структура зависимостей в табличной форме;
  • первичные факты ПрО в табличной форме;
  • каталог и собственно блоки принятия решений;
  • каталог и собственно параметризованные графические образы;
  • каталог и собственно библиотека готовых программных модулей;
  • каталог и собственно сценарии действий в типовых ситуациях.
  • 2. Инструментальные средства поддержки действий пользователя:

  • при формировании системы словарей и справочников;
  • при реализации блоков принятия решений;
  • при составлении вычислительных моделей;
  • при формировании параметрических графических образов;
  • при создании сценариев типовых действий;
  • при организации системы управления экраном.
  • 3. Средства для отладки замысла на ЭВМ:

  • протоколирование сценария действий пользователя;
  • проверка полноты заполнения базы данных;
  • объяснение результатов автоматического планирования.
  • 4. Средства для эксплуатации ПО :

  • постановка задачи пользователя;
  • автоматическое планирование действий;
  • запуск плана решения на выполнение;
  • ручное планирование действий;
  • ведение базы данных;
  • запросы к базе данных.
  • 5. Средства для обучения :

  • демонстрационный пример;
  • реализация функции помощи.
  • Изначально ИКС задумывалась как инструментальное средство для решения задач конструкторско-технологической информатики.

    К числу наиболее важных составляющих ИКС, реализация которых определяет системные характеристики среды, относятся:

  • организация и хранение метазнаний о понятийной модели и функциональных зависимостях ПрО;
  • модуляризация функциональных зависимостей в ПрО;
  • автоматизация генерации и получения компьютерного отображения функциональных зависимостей ПрО в программные модули ЭВМ по спецификации пользователя;
  • многооконный способ реализации общения пользователя с ПС;
  • механизм реализации машины вывода из базового набора модулей, т.е. способ построения расчетной цепочки, выполняющей вызов, передачу параметров и исполнение функциональных (и/или системных) модулей, согласно запросу пользователя;
  • операционные возможности (интерфейс со штатной системой программирования, организация межмодульного интерфейса, системные услуги, возможности по адаптации к разным ОС и аппаратной базе и т. д.).
  • Как в ИКС организовано хранение понятийных и функциональных зависимостей ПpО?

    Cовокупность фактов, охватывающих все сведения относительно определенной прикладной области, будем называть базой знаний. Специальная компонента ИКС - система словарей и справочников (ССС) - представляет собой оболочку для ведения и хранения базы знаний (БЗ) о ПрО на ЭВМ. Создаваемая в рамках ИКC БЗ включает:

  • систему словарей атрибутов, справочников и каталогов о ПрО;
  • набор программ (или подпрограмм), реализующих аналитические формулы;
  • набор программ (или подпрограмм) или пакета прикладных программ, реализующих тот или иной метод;
  • набор блоков принятия решения (БПР);
  • набор отношений;
  • набор сегментов, содержащих параметризованные графические образы;
  • список условий применения наборов подпрограмм, таблиц и отношений.
  • Понятийная модель ПрО в ИКС сосредоточена в словаре понятий, каталогах и функциональных зависимостях. Словарь понятий содержит список атрибутов, используемых для описания ПрО, их внутреннее имя и программный шаблон. Кроме того, в состав словаря понятий входит набор ассоциативных списков, в которых перечислены допустимые значения. На основе словаря понятий реализуется возможность обеспечения общения пользователя с ЭВМ на принятом в ПрО языке "деловой прозы". В каталоге содержатся сведения о реализованных в ИКС зависимостях и их типах.

    Как в ИКС выделяются функциональные модули?

    Одной из ключевых пpоблем pазpаботки ПС является модуляpизация, т.е. разбиение функциональной нормативно-справочной среды (НСС) ПрО на решающие модули. Полученный в результате анализа ПpО модуль представляет собой конструктивный элемент, служащий основой для построения программ и наборов данных, удовлетворяющих функциональные запросы прикладной деятельности.

    Основными компонентами описания понятийной модели в ИКС являются элементы множеств:

    А = {a1, a2, ... } - словаря понятий ПрО;

    F = {f1, f2, ... } - функциональных зависимостей;

    Z = {z1, z2, ... } - точек диалога с пользователем;

    G = {g1, g2, ... } - множество параметрических графических образов;

    R = {r1, r2, ... } - табличных зависимостей с данными;

    Ri = {ri1, ri2, ... } - таблиц с входными документами;

    Ro = {ro1, ro2, ... } - таблиц с выходными документами;

    L = {l1, l2, ... } - функциональных связей между элементами множеств F, R, Z, G, Ri и Ro.

    Все зависимости F, R, Z, G и L определены на едином множестве А. Таблицы с входными Ri и выходными Ro документами являются частным случаем табличных зависимостей R.

    Наиболее удобно формально определять описания взаимосвязей между зависимостями ПрО посредством графа. В нашем случае вершины графа образуют элементы множеств F, R, Z и G, а дуги - функциональные связи L. Собственно граф явно не строится, он получается средствами ИКС автоматически. Для F, R, Z и G определены условия применения U зависимостей в терминах словаря понятий А.

    Какие инструментальные средства входят в состав ИКС?

    ИКС осуществляет интегрированную программную поддержку процессов разработки, сопровождения, адаптации и эксплуатации прикладных систем обработки данных и знаний в основном силами пользователей. ИКС предназначен для всех групп разработчиков и пользователей, участвующих в создании и эксплуатации САПР. В состав ИКС входят следующие компоненты:

    Система словарей - справочников данных /ССС
    Генератор программ по блокам принятия решения /БПР
    Графическая обработка /ГО
    Система управления экраном /СУЭ
    Планировщик действий в рамках прикладной области /ПЛ

    Система словарей справочников (/ССС) предназначена для создания и ведения на ЭВМ единой концептуальной модели прикладной области. В рамках ИКС/ССС описывается множество понятий, используемых в прикладной области, и отношения между ними. Пользователю предоставлена возможность расширения данной среды с учетом конкретной специфики. Вокруг этой компоненты организована работа всех остальных модулей ИКС по обработке данных, информации и знаний.

    Декларативные знания в ИКС хранятся в виде блоков принятия решений. Язык записи блоков принятия решений позволяет специалисту (конструктору, технологу) сформулировать правила решений (правила проектирования) в привычном для него представлении, т. е. в форме, близкой к справочникам, стандартам и другим источникам. Генератор программ с языка блоков принятия решений ИКС/БПР автоматически формирует готовую к исполнению на ЭВМ программу, соответствующую заложенным в блоки принятия решений знаниям. Генератор программ позволяет сократить время создания программного продукта примерно в 10 - 15 раз. Как программирование, так и дальнейшее превращение программы в рабочий модуль не требует от пользователя специальных знаний о языке программирования.

    Система графической обработки (/ГО) предназначена для создания в интерактивном и программном режиме двух- и трехмерных геометрических объектов, а также их параметризации. Графическая база, создаваемая в рамках /ГО, имеет две составляющие: множество параметризованных графических образов (сборки, чертежи и фрагменты) и множество таблиц с допустимыми значениями параметров. В настоящее время ИКС/ГО реализуется средствами T-FLEX CAD [6].

    Система управления экраном ИКC/CУЭ служит для быстрой и простой разработки программных средств ввода и редактирования данных на экране дисплея ПЭВМ. Система построена с использованием модели виртуального терминала. В ходе диалога в системе предусмотрены расширенные средства синтаксического и семантического контроля вводимых данных по требованию разработчика.

    Планировщик действий ИКС/ПЛ предназначен для автоматического поиска решения задачи по запросу пользователя на базе концептуальной модели, хранимой в ИКС/ССС. В запросе пользователь указывает "ЧТО ДАНО" и "ЧТО ТРЕБУЕТСЯ ПОЛУЧИТЬ". Запрос пользователя оформляется в виде входных и выходных таблиц.

    На основе заложенных знаний ИКС/ПЛ пытается построить путь из необходимых программных действий для достижения поставленной в запросе цели. Если такой путь удалось получить, то ИКС/ПЛ выполняет соответствующие программные модули и пользователю выдается результат решения задачи. Если такого пути построить не удалось, то пользователю сообщается: какие выходные понятия в запросе не могут быть определены на исходной базе знаний.

    Компоненты ИКС/БПР и ИКС/ПЛ совместно образуют "оболочку" для построения экспертных систем на базе продукционного подхода. Наличие протокола действий позволяет реализовать объяснительную функцию по типу экспертных систем.

    Как в ИКС реализована машина вывода (Планировщик ИКС)?

    Расчетно-логические действия пользователя можно представить себе как цепочку выполняемых друг за другом модулей. Обычно состав и порядок следования модулей в цепочке задается некотоpой внешней констpукцией, называемой планом вычислений, а действие по его pеализации - планиpованием вычислений.

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

    В немалой степени интерес к цепочечному подходу вызван тем, что UNIX, MSDOS и Windows пpедоставляют удобные и пpостые сpедства (SHELL и конвейеp) для пpименения цепочечного подхода пpи оpганизации связей между задачами. Цепочечный подход обеспечивает безболезненность pазвития пpогpаммного фонда нормативно-справочной среды (НСС). Если вновь создаваемый модуль соответствует тpебованиям аппаpата фоpмиpования цепочек, то он пpосто добавляется в фонд НСС, а его появление не повлечет за собой какой-либо пеpеделки текстов дpугих модулей.

    Как ИКС связана со стандартной системой программирования?

    Архитектурно ИКС построена как виртуальная машина, состоящая из пяти слоев. Базовый слой образуется стандартной системой программирования универсальной ЭВМ. Поэтому все ПО, накопленное пользователями к началу эксплуатации ИКС, сохраняет свою работоспособность и в дальнейшем. Уникальные модули, обеспечивающие связь с конкретной ОС, физически выделены и их достаточно просто адаптировать к другой ОС.

    В чем состоят особенности использования ИКС при разработке и эксплуатации ПО?

    Применение ИКС изменяет набор языков и их взаимосвязь в процессе разработки и эксплуатации (рис. 5). Роль языков спецификаций в рамках ИКС:

    Picture_5

    Рисунок 5.
    Набор языков и их взаимосвязь в процессе разработки и эксплуатации программного обеспечения с помощью ИКС.

    1. На этапе формализации:

  • помочь разработчикам построить информационную модель в виде системы словарей и справочников данных о прикладной области, пpизванной однозначно фиксировать объекты и их свойства, действия над ними;
  • выработать дисциплину языковых средств, призванную помочь разработчикам однозначно фиксировать набор функциональных действий над объектами в терминах информационной модели; состав набора действий должен гарантировать достижение требуемой цели;
  • улучшить взаимопонимание заказчиков, разработчиков и будущих пользователей программной системы;
  • 2. На этапе разработки:

  • вовлечь в процесс создания программ специалистов прикладной области, без профессиональной подготовки в программировании;
  • автоматизировать процесс построения исходного текста программ по спецификации действий;
  • обеспечить специализацию и разделение труда при промышленном производстве программных изделий;
  • обеспечить высокую степень независимости создаваемого ПО от программно-технических средств;
  • 3. На этапе эксплуатации:

  • автоматизировать процесс построения цепочки действий по реализации текущих запросов пользователей на базе созданных вычислительных моделей;
  • подготовить информацию, объясняющую пользователю причины невозможности решения поставленной задачи на основе текущей базы знаний и данных (заданы "завышенные" исходные данные, не хватает функциональных зависимостей, запрос определен не в терминах ССС);
  • организовать поиск информации, необходимой для решения поставленной задачи;
  • организовать связь в коллективе разработчиков.
  • Важные свойства ИКС, существенные при разработке и эксплуатации ПО прикладных систем, приведены на рис. 6.

    Picture_6

    Рисунок 6.
    Важнейшие свойства ИКС, существенные при разработке и эксплуатации ПС.

    Задачи, возникающие в ходе эксплуатации программного комплекса, разработанного с помощью средств ИКС, перечислены в таблице. Место ИКС в ходе эксплуатации прикладных систем приведено на рис. 7.

    Picture_7

    Задачи, возникающие у пользователя на этапе эксплуатации программно-методического комплекса (ПМК)

    Содержание задачи
    Компонента ИКС
    Заказчик/пользователь
    1. Эксплуатация ПМК в объеме разработки
    ПЛ
    Пользователь
    2. Поддержание полноты данных в пределах существующего словаря и схем отношений
    -
    Пользователь
    3. Изменение спецификации действий при сохранении схем отношений
    БПР
    Пользователь
    4. Изменение схем отношений в рамках существующего словаря
    БПР
    Пользователь/администратор
    5. Изменение схем отношений с добавлением новых понятий в словарь
    ССС
    Пользователь/администратор
    6. Пополнение и совершенствование набора базовых задач
    БПР
    Пользователь
    7. Изменение сценария диалога
    СУЭ
    Пользователь
    8. Совершенствование правил отображения знаний из ПрО в ПО
    -
    Системный программист /администратор
    9. Адаптация ИКС к новым средствам ВТ
    -
    Системный программист


    Литература

    1. Рыбаков А.В. Разработка программного обеспечения систем автоматизации проектирования. - УСиМ, 1989, # 3. с. 48-52

    2. Евдокимов С.А., Рыбаков А.В. Программно-компьютерная среда для автоформализации знаний. - Вестник машиностроения, 1990 г., # 7. с. 40-44.

    3. Евдокимов С.А., А.А. Краснов, Рыбаков А.В. Особенности создания САПР штампов для листовой штамповки в условиях новой информационной технологии. - Кузнечно-штамповочное производство. 1996, # 2. с. 14-17

    4. Евдокимов С.А., Рыбаков А.В., Соломенцев Ю.М. Интегрированная интеллектуальная система ИнИС - оболочка для разработки и эксплуатации программных приложений пользователя. -Информационные технологии. 1996, # 3. с. 10-13

    5. Евдокимов С.А., Рыбаков А.В. Создание прикладных систем поддержки действий пользователя при решении задач конструкторско-технологической информатики. - Информационные технологии. 1996, # 5. с. 9-13

    6. Кураксин С.А., Бикулов С.А., Баранов Л.В., Козлов С.Ю., Ксенофонтов Д.К., Ефремов А.Н. T-FLEX CAD - новая технология построения САПР. - Автоматизация проектирования. 1996, # 1. с. 50-54