Интеллектуальные САПР, СASE-, СALS-технологии. Многоуровневые модели и языки DSL как основа создания интеллектуальных CASE-систем.


Автор: Лядова Л. Н.
Источник: www.hse.ru/data/2010/03/30/1217475675/Lyadova_LN_2.pdf

В статье рассматривается подход к реализации интеллектуальной CASE-системы, основанный на метамоделировании и применении языков DSL. Многоуровневые модели описывают различные характеристики системы, важные для ее функционирования, ее поведение с различных точек зрения. Для создания моделей используются специальные языки, позволяющие формализовать описание системы. Свойства этих языков, их мощность во многом определяют характеристики создаваемой системы, возможности ее адаптации к новым условиям. В CASE-системе METAS предлагается не только реализовать средства создания языков DSL с заданными свойствами, удовлетворяющими разработчиков, но и автоматизировать процесс создания моделей на основе анализа документов и построения онтологий предметных областей.

Введение

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

Многоуровневые модели, создаваемые при разработке ИС, позволяют описать на некотором формальном языке характеристики системы, важные для ее функционирования, а также ее поведение.

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

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

1. Метамоделирование как основа создания интеллектуальных CASE-систем

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

Каждый уровень иерархии моделей соответствует определенному уровню абстракции: на самом низком уровне модель представляет собой данные, отражающие состояние системы и ее окружения, ее предметной области; промежуточные уровни – это модели, описывающие предметную область (их может быть несколько – описания могут быть построены для различных сторон функционирования системы, а для создания этихописаний используются специальные предметно-ориентированные языки); на самых высоких уровнях модель представляет предметно-независимый (универсальный) язык моделирования, который применяется для создания моделей более низких уровней.

Создаваемые при разработке ИС модели должны быть описаны на каком-либо формальном языке – языке моделирования. Таким образом, можно считать, что метамодель («модель модели») – это модель языка моделирования, применяемого для формализации описания системы, а метамоделирование – это возможность создавать и изменять метамодель, то есть тот язык (включая его семантику), на котором строятся модели ИС.

С точки зрения того, как в CASE-системах и создаваемых с их помощью ИС, используются (мета)модели, их можно разбить на несколько классов. Максимальная гибкость обеспечивается в том случае, когда метамодели различных уровней, модель и данные ИС находятся «внутри» ИС. В этом случае CASE-средства позволяют создать модели, изменять и интерпретировать их в ходе эксплуатации системы. Настройка системы осуществляется путем внесения изменений в построенные модели: изменение модели ведет к изменению характеристик системы или ее поведения. Таким образом, технология DSM (Domain Specific Modeling) с интерпретацией метаданных обеспечивает максимальные возможности адаптации ИС как при ее разработке, так и в процессе эксплуатации.

Кроме того, при таком подходе к разработке ИС проект обладает высокой степенью обратной связи, так как и разработчик, и пользователь фактически работают с одними и теми же средствами, но разработчик имеет при этом дополнительные полномочия на применение специального CASE-инструментария. Разработчик, изменяя модели с помощью доступных ему CASE-средств, сразу видит соответствующие изменения в ИС, реализуемой на основе данной технологии (в ее информационных объектах и связях между ними, интерфейсе пользователя и поведении и т.п.). Это создает хорошие предпосылки для создания «интеллектуальной» системы, которая может настраиваться на потребности пользователя и меняющиеся условия эксплуатации в ходе работы с ней пользователей: для этого система должна иметь возможности не только «ручного» внесения изменений в модели, но и автоматизированного выполнения этих операций на основе данных, получаемых в ходе функционирования самой системы, [Лядова, 2007].

2. Предметно-ориентированные языки и их использование в CASE-системе

Разработчикам при создании ИС приходится работать с несколькими языками: прикладная логика приложения может быть реализована на универсальных языках общего назначения; для передачи данных может использоваться язык XML; для создания запросов к базе данных – SQL и т.д. Применение универсальных языков высокого уровня создает определенные проблемы для разработчиков: во-первых, с их помощью невозможно адекватно представить объекты предметной области и их поведение (т.е. существует семантический разрыв, в результате которого разработчикам приходится описывать бизнес-логику «с нуля», что сказывается на сроках и эффективности реализации проекта); во-вторых, эти языки сложны для понимания специалистами в определенных предметных областях, экспертами, которые привлекаются к разработке.

Один из вариантов решения этой проблемы – описание модели системы на некотором специализированном языке моделирования, позволяющем создать модель и работать с ней в терминах соответствующей предметной области. Но здесь появляется новая проблема – язык должен быть достаточно мощным, а это зачастую приводит к «перегрузке» «лишними» конструкциями, которые включаются в языки в качестве «задела», чтобы обеспечить развитие системы, возможность изменения модели, ее наращивания при необходимости, например, расширения функциональности системы. А это опять же делает языки сложными для понимания и использования. Эту проблему можно решить, если избавиться от «статичности» языков. Обычно применяемые при разработке ИС языки не позволяют изменять свое описание. Возможность динамического расширения языков моделирования позволила бы настраивать существующие языки на новые требования, создавать новые языки «по мере необходимости».

Предметно-ориентированный язык (Domain Specific Language, DSL) – это язык программирования (или визуального конструирования), созданный для использования в рамках конкретной предметной области, [Langlois et al., 2007].

Языки DSL являются достаточно простыми и понятными для пользователей, т.к. позволяют оперировать в терминах предметной области. Такие языки создаются для каждой конкретной задачи. Однако их недостатком является сложность разработки самих языков: нужно не только описать сам язык, но и реализовать соответствующую среду разработки, транслятор или интерпретатор для этого языка. Для решения этих проблем в последнее время активно развивается новый тип программного обеспечения – языковые инструментарии (language workbenches), [Tolvanen et al., 2007]. При использовании DSL в CASE-системах, реализующих технологию DSM, применяется подход, основанный на трансформации моделей. При этом в качестве «базового» языка рассматривается обычно язык UML.

3. Автоматизация создания моделей в CASE-системе METAS

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

При изменении существующих норм возникает необходимость внесения изменений в построенные ранее модели, приведения их в соответствие новым требованиям, условиям деятельности бизнессистемы.

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

В соответствии с предлагаемым в CASE-технологии METAS подходом для описания структуры документов, связей между ними и семантики данных документа используются онтологии. Учитывая специфику решаемых при создании CASE-системы задач, будем считать, что онтология – это спецификация некоторой предметной области, которая включает в себя словарь терминов (понятий) предметной области и множество связей между ними, которые описывают, как эти термины соотносятся между собой в конкретной предметной области.

На основе построенной онтологии предлагается создавать соответствующие ей предметно-ориентированные языки, одним из основных свойств которых является именно возможность работы в терминах соответствующей предметной области, [Ланин, 2007].

Список литературы

[Ланин, 2007] Ланин В.В. Система управления документами как основа технологии создания адаптируемых информационных систем // Труды междунар. науч.-техн. конф. «Интеллектуаль-ные системы» (AIS’07). Т. 2. – М.: Физматлит, 2007.

[Лядова, 2007] Лядова Л.Н. Технология создания динамически адаптируемых информационных систем // Труды междунар. науч.-техн. конф. «Интеллектуальные системы» (AIS’07). Т. 2. – М.: Физматлит, 2007.