Об объектной модели системы требований для генератора тестовых примеров «TestJSM!»

Ю.В. Козлова

ОБ ОБЪЕКТНОЙ МОДЕЛИ СИСТЕМЫ ТРЕБОВАНИЙ ДЛЯ ГЕНЕРАТОРА ТЕСТОВЫХ ПРИМЕРОВ «ТеБ^М!»

Описывается модифицированная объектная модель системы требований для программы «ТеБ^БМ!», которая порождает тестовые данные для демонстрации особенностей различных вариантов ДСМ-ме-тода.

Ключевые слова: ДСМ-метод, ДСМ-система, варианты ДСМ-метода, тестирование, тестовые данные, генератор тестовых примеров, объектная модель, система требований к тестовым примерам.

В статье рассматривается новая объектная модель системы требований для генератора «TestJSM!», рассмотренного автором в статье «Генератор тестовых примеров для различных вариантов ДСМ-метода»1. Программа «TestJSM!» порождает тестовые примеры, демонстрирующие возможности разных вариантов ДСМ-метода. Кроме того, эта программа может быть использована для проверки стратегий ДСМ-метода2, а также для сравнения выразительной силы ДСМ-стратегий3. Программа написана на языке Visual Prolog.

Первый вариант объектной модели системы требований, описанной автором4, изображен на рис. 1. Объектная модель включает коллекции и объекты. Названия коллекций находятся в прямоугольниках с толстой рамкой, а названия объектов - в прямоугольниках с тонкой рамкой.

Особенностями работы программы «TestJSM!», разработанной на основе данного варианта объектной модели, являются:

- порождение тестовых примеров, демонстрирующих итерации применения правил только простого ДСМ-метода;

© Козлова Ю.В., 2010

Набор систем требований

Система требований

Свойство

Шаги работы ДСМ-метода

Шаг работы ДСМ-метода

Причины

I

Причина

- Тип примера

-Э

Тормоз~| Элементы тормоз^

лементы причины|

Элемент тормоза

Элемент причины

Порождение тормоза

Порождение причины

Первый допустимый атом

Последний допустимый атом

Первый

допустимый

атом

Последний

— допустимый

атом

1--

Объекты, порождающие причину

порождающие тормоз

Объекты, порождающий причину

I

Объект, порождающий тормоз

Количество элементов объекта, не входящих в причину

X

Количество элементов объекта, не входящих в причину и тормоз

Рис. 1. Первый вариант объектной модели системы требований

- явное указание количества и структуры неопределенных примеров;

- ограничения на объекты, порождающие причины и тормоза, указываются для каждой причины (тормоза).

Настройка параметров требований, которые описываются согласно данному варианту объектной модели, осуществляется с помощью мастера, который последовательно предлагает пользователю:

- выбор ДСМ-стратегии;

- ввод желаемых причин, свойств, тормозов;

- определений ограничений на объекты, порождающие причины и тормоза.

Таким образом, пользователю приходится в явном виде обозначать, для какого варианта ДСМ-метода будет осуществляться ввод требований.

Модифицированная объектная модель системы требований

Для генератора «TestJSM!» был разработан новый вариант объектной модели, который предоставляет пользователю новые возможности по работе с программой и позволяет получать новые виды тестовых примеров.

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

1. Коллекция «Набор систем требований» - самый верхний компонент в иерархии объектной модели, который включает в себя все остальные компоненты (рис. 2). Каждый объект «Система требований» (или «Задача») данной коллекции включает в себя следующие компоненты:

a) объект «Название задачи»,

b) объект «Назначение задачи»,

c) коллекцию «Атомы»,

d) объект «Формирование причины»: пользователь указывает для данной задачи, как формируется причина (причина является множеством элементов, полученных пересечением объектов, либо причина является частью пересечения объектов),

e) коллекцию «Свойства» (рис. 3),

f) коллекцию «Дополнительные атомы»,

g) объект «Минимальное количество дополнительных атомов»,

h) объект «Максимальное количество дополнительных атомов»,

i) объект «Максимальное количество неопределенных объектов»: максимальное количество объектов, о которых не известно, как они связаны с целевыми свойствами,

j) объект «Минимальное количество примеров»: минимальное количество примеров, при пересечении которых получаются введенные пользователем «+»- и «-»-причины,

2. Коллекция «Атомы» включает в себя элементы, из которых состоят «+»- и «-»-причины.

3. Коллекция «Дополнительные атомы» включает в себя элементы, которые не входят в «+»-причины и «-»-причины, введенные пользователем.

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

Рис. 2. Коллекция «Набор систем требований»

Рис. 3. Коллекция «Свойства»

чем на п-м шаге работы ДСМ-метода (п>1). Каждый объект «Свойство» данной коллекции включает в себя:

a) объект «Название свойства»,

b) объект «Описание» - дополнительная информация вводится в свободном формате,

c) коллекцию «Шаги работы ДСМ-метода».

5. Коллекция «Шаги работы ДСМ-метода». Предполагается, что на п-м шаге работы ДСМ-метода во время процедуры индукции выдвигается гипотеза о возможных причинах наличия или отсутствия целевых свойств у объектов. Каждый объект «Шаг работы ДСМ-метода» включает в себя:

a) объект «Номер шага»,

b) объект «Описание» - дополнительная информация вводится в свободном формате,

c) коллекцию «+»-причины (рис. 4),

ё) коллекцию «-»-причины.

6. Коллекция «+»-причины.

7. Коллекция «-»-причины.

Каждый объект коллекций «+»-причины и «-»-причины включает в себя следующие компоненты:

a) объект «Название причины»,

b) коллекцию «Атомы»,

c) коллекцию «Тормоза».

8. Коллекция «Атомы» включает в себя элементы структуры причины.

Рис. 4. Коллекция «+»-причины

9. Коллекция «Тормоза» содержит информацию о возможных тормозах данной «+»- или «-»-причины свойства. Каждый объект данной коллекции содержит:

a) объект «Название тормоза»,

b) коллекцию «Атомы».

10. Коллекция «Атомы» включает в себя элементы структуры тормоза.

На рис. 5 представлена структура новой объектной модели системы требований.

Так же как и в первом варианте объектной модели, при разработке нового варианта объектной модели учитывались все особенности известных ДСМ-стратегий.

Отличительной особенностью работы программы «ТезЭДБМ!», разработанной на основе нового варианта объектной модели, является порождение тестовых примеров, демонстрирующих итерации применения правил как простого ДСМ-метода, так и обобщенного и несимметричного ДСМ-метода, а также модифицированного ДСМ-метода5.

Кроме того, программа, разработанная на основе нового варианта объектной модели, предоставляет пользователю следующие возможности:

Рис. 5. Новый вариант объектной модели системы требований

- пользователь не указывает структуру неопределенных примеров, а указывает лишь максимальное количество неопределенных примеров;

- пользователь указывает общие сведения по ограничению на объекты, порождающие причины и тормоза, применимые для всех причин (тормозов);

- пользователю не нужно в явном виде обозначать, для какого варианта ДСМ-метода будет осуществляться ввод требований.

Итак, в работе была описана модифицированная объектная модель системы основных требований к тестовым примерам, порождаемым генератором «ТезЭДБМ!». Также были описаны основные отличительные особенности работы генератора, разработанного на основе нового варианта объектной модели.

Примечания

1 См. в настоящем номере: Козлова Ю.В. Генератор тестовых примеров для различных вариантов ДСМ-метода.

2 См.: Финн В.К. Правдоподобные рассуждения в интеллектуальных системах типа ДСМ // Итоги науки и техники. Сер. «Информатика». 1991. Т. 15: Интеллектуальные информационные системы.

3 См.: Козлова Ю.В. Указ. соч.

4 Там же.

5 См.: Аншаков О.М. Об одном подходе к порождению гипотез в ДСМ-методе // Десятая национальная конференция по искусственному интеллекту с международным участием КИИ-2006 (Обнинск, 25-28 сент. 2006 г.): Труды конференции: В 3 т. М., 2006.