Document 794449

advertisement
УДК 001(06) Телекоммуникации и новые информационные технологии…
Л.Ю. ИСМАИЛОВА, С.В. КОСИКОВ, А.Е. ЗАЙЦЕВ
Национальный исследовательский ядерный университет «МИФИ»
АППЛИКАТИВНЫЕ МОДЕЛИ ВЫЧИСЛЕНИЙ
НА ОСНОВЕ ПАРАМЕТРИЗОВАННЫХ СЕМАНТИК
В ЮРИДИЧЕСКИХ ДЕЛОВЫХ ИГРАХ
На стыке информационных технологий, информатики и юриспруденции развиты методы и средства онтологически ориентированного проектирования моделей для создания юридических деловых игр.
Развитие математических методов формализации предметных областей подобного вида предполагает достаточно детальную проработку понятийной основы средств построения моделей.
Одним из основных требований при таком подходе оказывается интенсиональность, понимаемая в общем виде как учёт зависимости значений базовых и производных конструкций от одного или нескольких
параметров, которые в этом случае называются также соотнесениями. Отдельным значениям параметра соответствуют точки соотнесения.
На этом пути ряд исследователей определяет и использует онтологии, однако в их определении у разных
исследователей наблюдаются значительные расхождения. В большинстве случаев термин «онтология» используется для расширения средств концептуального моделирования в области семантического описания
системы понятий предметной области.
Представляется, однако, что такое использование этого термина не позволяет раскрыть всё потенциально
содержащееся в нем смысловое содержание.
Естественным представляется способ формализации, позволяющий в значительной степени сохранить
преимущества обоих подходов.На основе семантического подхода, понимаемого как построение систем
придания значения синтаксически организованным данным, онтология может быть определена как способ
формализованного определения классов семантик средств концептуального моделирования, средств поэтапного уточнения семантик, а также средств конструирования классов семантик с заданными свойствами.
Предлагаемое определение онтологий позволяет рассматривать их как метатеории проблемноориентированной концептуальной модели. В этом качестве они обеспечивают понятийную основу для определения, обсуждения и конструирования семантических средств, а также для проведения систематического
конструирования средств концептуального моделирования с заданной семантикой.
В качестве значимого методического примера разработана среда сопровождения деловых игр в области
юриспруденции. Практическое построение подобных семантически ориентированных систем предполагает
применение соответствующих инструментальных средств.
Опыт работы научной группы показывает, что в качестве адекватной основы инструментальных средств
могут быть предложены аппликативные вычислительные системы (АВС). Практическая организация вычислений в АВС предполагает построение структурированной вычислительной среды, содержащей значения
оцениваемых объектов.
Такая среда может быть построена как для независимых приложений, так и для приложений в сети Интернет, причём может быть обеспечена её передача средствами сетевого протокола и/или хранение на сервере. Реализация инструментальных систем поддержки проектирования приводит к построению семейств инструментальных средств различного уровня.
Инструменты концептуального уровня обеспечивают описание фрагмента такой области в виде системы
концептуальных сущностей, соответствующих юридически значимым объектам рассматриваемой области
права. Инструменты эпистемологического уровня обеспечивают учёт различных аспектов рассмотрения
концептуальных объектов при помощи их вычисления в соответствующем окружении.
Формализованным средством представления окружения являются точки соотнесения, задающие часть
вычислительной среды.
Предлагаются средства определения, вычисления и манипулирования точками соотнесения. Для фактического выполнения вычислений система включает подсистему аппликативных вычислений в виде evalсистемы.
Базисными конструкциями eval-системы являются означивания концептуальных конструкций и ограничений в заданной точке соотнесения.
Прототипные деловые игры строятся на основе объектно-ориентированного подхода с применением вычислительной модели, управляемой событиями. Предлагаемый подход при построении концептуальной модели ПО позволяет рассчитывать на получение моделей, обеспечивающих:
 построение семантически ориентированных моделей данных и метаданных, соответствующих их интерпретации в конкретной ПО;
 определение способов параметризации семантик путём построения функторов на основе концепции
«функтор как объект»;
 синтез семантики с заданными свойствами, путём определения семантических конструкций как композиций параметризованных функторов.
В.В. МАКАРОВ
Институт проблем управления РАН, Москва
РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
_______________________________________________________________________
ISBN 978-5-7262-1230-2. XIV выставка-конференция
1
УДК 001(06) Телекоммуникации и новые информационные технологии…
ДЛЯ КРИТИЧНЫХ ПРИЛОЖЕНИЙ
Подход к автоматизации тестирования критических приложений на основе метода проектировании системы по моделям, написанных на языке UML (Model-Driven Development Using UML 2.0) рассмотрен как
развитие инвариантности представления одного и того же проекта в форме UML-модели и кода на языке
программирования в среде разработки.
Процесс разработки на основе проектной документации не способен обеспечить предсказуемое создание
ПО для встраиваемых устройств и своевременное создание новых продуктов. Рассматривая V-цикл проектирования и разработки ПО, можно показать, что количество выявленных дефектов при традиционном проектировании растет экспоненциально по этапам проектирования. Для внедренных проектов количество выявленных дефектов имеет вид обратной экспоненты, т.е. этап спецификации требований имеет наибольшее
количество дефектов.
Применение метода разработки ПО на основе моделей, описанных на языке UML, изменяет знак экспоненты количества невыявленных дефектов по стадиям проектирования.
Основные достоинства применения UML в структурированном представлении требований, в необходимости обдумывать модель, а не код, в достижении четкой и целостной структуры ПО, в возможности использовать анимацию и симуляцию, применение UML на всех фазах разработки (включая анализ) обеспечивает ее структурированность, автоматическая генерация кода повышает производительность труда и снижает количество ошибок, в корреляции между моделью, кодом и документацией, графическое представление
проекта в UML облегчает взаимодействие между разработчиками и неразработчиками, повышается уровень
абстракции, вследствие чего облегчается надзор, визуализируется структура и взаимосвязи, что позволяет
повысить качество кода. UML - язык удобен для спецификации, визуализации, проектирования и документирования ПО, бизнес-процессов и других систем. Назначение UML – обеспечить спецификацию моделей.
Приложения реального времени и встраиваемые приложения имеют некоторые особые требования [1].
По сути модель на языке UML и код на языке программирования в современной системе разработки являются лишь двумя различными представлениями одного и того же проекта. Благодаря этому свойству ликвидируется одна из особенностей разработки ПО с использованием модели – утрата соответствия между
моделями, созданными на этапе анализа и проектирования, и реальным кодом, полученным в процессе разработки и отладки приложения [2].
Процесс верификации является процессом определения того, что программные продукты функционируют в полном соответствии с требованиями или условиями, реализованными в предшествующих работах.
Для оценки эффективности затрат и выполняемых работ верификация должна как можно раньше реализовываться в соответствующих процессах (таких как поставка, разработка, эксплуатация или сопровождение).
Данный процесс может включать анализ, проверку и испытание (тестирование) – ГОСТ Р ИСО/МЭК 1220799 «Информационная технология. Процессы жизненного цикла программных средств».
В качестве примера рассмотрим концепцию автоматизации тестирования и требования к покрытию критичных приложений тестами [3].
Современные CASE средства должны иметь в своем составе подсистему автоматической генерации тестов. Эта подсистема автоматически генерирует тест-кейсы с высоким покрытием проекта:

покрытие модели: состояний, переходов, операций, генерации событий;

покрытие кода: генерация всех возможных комбинаций входных данных для MC/DC.
Подсистема автоматической генерации тестов анализирует исходные тексты для генерации векторов.
Информация UML-модели направляет генерацию тестов к заданной цели. Автоматическая генерация тесткейса для анализа покрытия может включать в себя задачи:

активизации состояния конечного автомата;

выполнения перехода;

генерации/принятия события;

вызова/возврата из операций;

создания/уничтожения объектов.
Кроме автоматической генерации тест-кейса, в системе обязательно должна быть предусмотрена возможность генерации заданного пользователем тест-кейса, т.е. особые тестовые сценарии приходится разрабатывать вручную.
При этом подсистема автоматической генерации тестов должна обеспечивать среду процесса:
- для интерактивного процесса играть роль пользователя;
- управлять действиями среды:
•
порождение событий;
•
вызов операций;
•
задание значений параметров;
•
изменение активных потоков;
•
задание команд Go (Go Event, Go Idle и т.д.);
•
управление течением времени.
В итоге подсистема тестирования должна производить анализ результатов.
_______________________________________________________________________
ISBN 978-5-7262-1230-2. XIV выставка-конференция
2
УДК 001(06) Телекоммуникации и новые информационные технологии…
Чтобы при создании ПО значительно повысить продуктивность и снизить риски, необходимо обеспечить
выявление и устранение ошибок на ранних стадиях процесса разработки.
Для отладки приложения в подсистеме тестирования используются те же графические представления,
что и для построения моделей: с этой целью подсистема превращает модели UML в проверяемые исполняемые модели.
В результате во время тестового прогона можно видеть текущее состояние выделенных диаграмм, передаваемые сообщения в диаграммах последовательности, динамически создаваемые и уничтожаемые экземпляры классов, а также изменяющиеся значения атрибутов. Это позволяет создавать и проверять графические исполняемые спецификации до начала высокоуровневого проектирования.
Таким образом, разработка ПО для критичных приложений, к которым относятся проекты в сфере приборостроения, ядерной энергетики, анализе рисков нештатных ситуаций, может быть проведена со снижением числа ошибок и без усложнения жизненного цикла проекта на основе применения UML-описаний и
анализа модели перед созданием непосредственно текста программ.
Список литературы
1. Douglass, Bruce Powel. Real-Time Design Patterns: robust scalable architecture for Real-time systems. – Addison-Wesley, 2003.
2. Леоненков, А.В. – Лекции по курсу «Нотация и семантика языка UML». http://www.intuit.ru
3. France R.B., Grosh S., Dinh-Trong T., Solberg A. Model-Driven Development Using UML 2.0: Promises and
Pitfalls. IEEE Computer Society, V.38, No.2, 2005.
_______________________________________________________________________
ISBN 978-5-7262-1230-2. XIV выставка-конференция
3
Download