В статье на примере отечественной системы Интеллектуальная компьютерная среда (ИКС) показано место и роль CASE-технологии при создании и сопровождении прикладных систем (ПС) пользователя.
Почему нужны инструментальные средства разработки и эксплуатации прикладных систем с привлечением пользователей?
Новая информационная технология (НИТ) призвана расширить характер связей субъекта с физическим миром (рис. 1). Отличительные черты НИТ от традиционной технологии программирования (ТП):
Рисунок 1.
Расширение возможностей при переходе к новой информационной технологии:
ФПЗ1-ФПЗ6 - различные формы знаний.
1. Гуманизация программирования. ЭВМ - на службе пользователя, а не пользователь - слуга машины. В НИТ усилия пользователя ценятся выше загрузки ЭВМ, т.е. основное внимание уделяется эффективности работы пользователя, а не ЭВМ.
2. ЭВМ и подключенные к ней средства переработки данных образуют интегрированную систему автоматизированной поддержки инженерных решений (САПИР) пользователя. При этом средствами ЭВМ достигается всестороннее обеспечение и поддержка решения нужных пользователю задач, а не только процесса реализации и выполнения алгоритмически определяемых программ как в традиционной системе программирования ЭВМ.
3. Сближение (а в перспективе и интеграция; для некоторых классов задач это достижимо уже и сегодня) понятий "разработчик" и "пользователь" за счет адекватности представления знаний и умений, используемых разработчиками и пользователями. Это предполагает:
4. Резкое сокращение разрыва между семантическим и синтаксическим представлением о реальном мире в компьютерной модели. Это достигается за счет явной фиксации различий между знаниями, умениями, информацией и данными в реализации информационной модели прикладной области на ЭВМ.
Особенности текущего состояния разработки программных средств для прикладных систем (ПС):
1. Существенное изменение природы процесса программирования ПС:
2. Кризис в области технологии программирования:
3. Увеличение доли затрат на разработку новых ПС:
Если еще учесть существующее кризисное состояние традиционной технологии программирования, то станет понятна актуальность создания программных инструментальных средств, обеспечивающих деятельность пользователя при разработке и эксплуатации прикладных систем.
Сложившийся в ТП набор языков и их взаимосвязи в процессе разработки и эксплуатации ПО приведены на рис. 2.
Рисунок 2.
Набор языков и их взаимосвязь в процессе разработки и эксплуатации
ПО.
В настоящее время объектно-ориентированный подход при создании прикладных систем является наиболее актуальным. История и направления развития инструментальных средств автоматизации поддержки действий пользователя при создании и эксплуатации прикладных систем с учетом тенденций на ближайшие 5 - 10 лет приведены на рис. 3-4. При этом на рис. 3 упор сделан на изменение характера решаемых задач и влияние тех или иных специалистов в ходе разработки. Здесь же показана динамика развития технических средств и наращивание мощи методического аппарата, используемого при создании программных систем.
Рисунок 3.
Этапы развития прикладных систем обработки данных.
Рис. 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). Роль языков спецификаций в рамках ИКС:
Рисунок 5.
Набор языков и их взаимосвязь в процессе разработки и эксплуатации
программного обеспечения с помощью ИКС.
1. На этапе формализации:
2. На этапе разработки:
3. На этапе эксплуатации:
Важные свойства ИКС, существенные при разработке и эксплуатации ПО прикладных систем, приведены на рис. 6.
Рисунок 6.
Важнейшие свойства ИКС, существенные при разработке и эксплуатации
ПС.
Задачи, возникающие в ходе эксплуатации программного комплекса, разработанного с помощью средств ИКС, перечислены в таблице. Место ИКС в ходе эксплуатации прикладных систем приведено на рис. 7.
Задачи, возникающие у пользователя на этапе эксплуатации программно-методического комплекса (ПМК)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Литература
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