85916 (Модификация метода построения тестов для конечных автоматов относительно неразделимости), страница 2

2016-07-30СтудИзба

Описание файла

Документ из архива "Модификация метода построения тестов для конечных автоматов относительно неразделимости", который расположен в категории "". Всё это находится в предмете "математика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "математика" в общих файлах.

Онлайн просмотр документа "85916"

Текст 2 страницы из документа "85916"

В данной работе изучен метод построения полного проверяющего теста относительно модели неисправности <S, (,≁),m >, предложенный в работе [1]. Область неисправности m содержит все полностью определенные реализации эталона S с теми же входным и выходным алфавитами, что и у S, и числом состояний не более m, где m – целое положительное число. Такую модель неисправности часто называют моделью "черного ящика".

  1. 2. Метод построения полного проверяющего теста относительно модели неисправности <S, (,≁), m>

Алгоритм 2. Построение полного проверяющего теста относительно модели неисправности <S, (,≁),m >

Вход: Полностью определенный автомат S и верхняя граница m числа состояний любой реализации S

Выход: Полный проверяющий тест TS относительно модели неисправности <S, (,≁),m >

Шаг 1. Построим усеченное дерево преемников автомата спецификации S. Корнем дерева на нулевом уровне является начальное состояние s0 автомата S; вершины дерева помечены подмножествами состояний автомата S . Пусть уже построены j уровней дерева, j 0. Для заданной нетерминальной вершины jго уровня, помеченной подмножеством состояний К, и для заданного входного символа i, в дереве есть ребра, помеченные символом i, в вершину, помеченную i-преемниками подмножества К. Текущая вершина Current на kм уровне, k > 0, помеченная подмножеством К состояний из множества S, объявляется листом дерева, если путь из корня в эту вершину содержит 2|K|m вершин, помеченных подмножествами множества К, и начальное состояние s0 не содержится в К. Если начальное состояние принадлежит К, то вершина Current объявляется листом, если путь из корня в эту вершину покрывает (2|K|m-1+1) вершин, помеченных подмножествами множества К.

Шаг 2. Включаем в TS каждую входную последовательность, которая помечает путь из корня к листу в усеченном дереве.

В качестве примера рассмотрим спецификацию S, представленную на рисунке 5, и построим полный проверяющий тест относительно модели неисправности <S, (£,≁), Â2>.

S

a

b

x

a/0,1,2,3

a/1,2

y

b/1,2

a/0

b/3

Рисунок 5 - Автомат S

На втором шаге текущая вершина, помеченная состоянием a, объявляется листом, если путь из корня в эту вершину покрывает (2m−1 + 1) = 3 вершин, помеченных a. Текущая вершина, помеченная состоянием b, объявляется листом, если путь из корня в эту вершину покрывает 2m = 4 вершин, помеченных b. Наконец, текущая вершина, помеченная подмножеством {a, b}, объявляется листом, если путь из корня в эту вершину покрывает (22m−1 + 1) = 9 вершин, помеченных a, b или {a, b}.Полученное по данному алгоритму усеченное дерево преемников представлено на рисунке 6. Суммарная длина полного проверяющего теста составляет 277 символов.

Рисунок 6 – Усеченное дерево преемников, построенное по алгоритму 2

  1. 3. Улучшение метода построения полного проверяющего теста относительно модели неисправности <S, (,≁), m>

  2. 3.1 Исследование условий усечения дерева

Алгоритм 2 не доставляет кратчайшего теста. Для иллюстрации этого факта рассмотрим тестовую последовательность xyyyyyyy из предыдущего примера, которой в усеченном дереве преемников (рис. 6) соответствует путь axayby{a,b}y{a,b}y{a,b}y{a,b}y{a,b}y{a,b}. Прямым перебором можно убедиться, что если автомат-реализация имеет состояния 1 и 2, тогда соответствующий путь в усеченном дереве TreeSÇT, построенном по пересечению эталонного автомата и реализации, будет уже усечен после {a1}x{a2}y{b1,b2}y{b1}y{b2}y{a,b}, т.к. для подмножества а были перебраны все варианты и из последующих подмножеств его можно исключить. Таким образом, при уточнении условий усечения дерева данную тестовую последовательность можно сократить на 3 символа.

Сократить тестовую последовательность можно также и в более общем случае, когда на рассматриваемом пути дерева перебраны все возможные варианты для состояний некоторого множества P, являющегося подмножеством множества K. Рассмотрим эталонный автомат S, изображенный на рисунке 7, и m=2.

S

a

b

c

x

a/0

b/1

a,b/1

a/1

y

a,b/0

c/1

b/1

c/0

z

b/1

b/0

a/0

Рисунок 7 - Автомат S

Для подмножества состояний {a, b, c} для усечения дерева по алгоритму 2 необходимо, чтобы путь из корня дерева в листовую вершину покрывал 23m-1+1=33 вершины, помеченные подмножествами этого множества. Однако, т.к. на левом пути дерева, представленного на рисунке 8, сначала встречается 8 вершин, помеченных подмножествами {a, b}, а именно такое число вариантов обеспечивает перебор всех подмножеств {a1, a2, b1, b2} в дереве TreeSÇT, то далее на данном пути подмножество {a, b} из рассмотрения исключается. Таким образом, соответствующий путь в дереве TreeSÇT будет усечен после {a1}x{a2,b1,b2}x{a2,b1}x{a2,b2}x{a2}x{b1}x{b2}x{b1,b2}y{c1,c2}y{c1}y{c2}y{a,b,c}, и длина тестовой последовательности составляет всего 11 символов.

Рисунок 8 – Часть усеченного дерева преемников

  1. Естественно, сокращение тестовой последовательности можно также обобщить и для случая, когда на рассматриваемом пути дерева перебираются все подмножества для нескольких подмножеств Pi множества K, в том числе и в случае, когда эти подмножества пересекаются. Данный случай иллюстрирует правый путь дерева, изображенного на рисунке 8. На этом пути дерева сначала перебираются все возможные подмножества для P1={b}. Для пересекающегося с P1 множества P2={a, b} теперь достаточно всего трех вершин, помеченных подмножествами P2, чтобы были перебраны все возможные подмножества P2. И соответствующий путь в дереве TreeSÇT усекается после {a1}z{b1,b2}z{b1}z{b2}x{a2}y{c1,c2}y{c1}y{c2}y{a,b,c}, а длина тестовой последовательности составляет 8 символов.

Таким образом, можно модифицировать метод построения полного проверяющего теста относительно модели неисправности <S, (,≁), m> (алгоритм 2), уточнив условия усечения дерева преемников.

  1. 3.2 Модифицированный метод построения полного проверяющего теста относительно модели неисправности <S, (,≁), m>

Алгоритм 3. Построение полного проверяющего теста относительно модели неисправности <S, (,≁),m >

Вход: Полностью определенный автомат S и верхняя граница m числа состояний любой реализации S

Выход: Полный проверяющий тест TS относительно модели неисправности <S, (,≁),m >

Шаг 1. Построим усеченное дерево преемников автомата спецификации S. Корнем дерева на нулевом уровне является начальное состояние s0 автомата S; вершины дерева помечены подмножествами состояний автомата S . Пусть уже построены j уровней дерева, j 0. Для заданной нетерминальной вершины jго уровня, помеченной подмножеством состояний К, и для заданного входного символа i, в дереве есть ребра, помеченные символом i, в вершину, помеченную i-преемниками подмножества К. Текущая вершина Current на kм уровне, k > 0, помеченная подмножеством К состояний из множества S, объявляется листом дерева, если путь из корня в вершину Current содержит:

  • 2(|K|-|P|)m+n вершин, помеченных подмножествами множества К, если s0 K или s0 K и s0 P;

  • 2(|K|-|P|)m-1+n+1 вершин, помеченных подмножествами множества К, если s0 K и s0 P;

где P – это такое подмножество состояний из множества K, что до некоторого lго уровня (l < k) перебраны все возможные подмножества P, а n – это количество вершин на данном пути, помеченных подмножествами К, содержащими подмножества P, которые находятся на уровнях не ниже lго уровня дерева (если P = , то n = 0). Множество P строится итеративно:

    1. P = ;

    2. P = P Pi для каждого подмножества Pi множества K, для которого путь из корня в вершину Current содержит (2|Pi|m-1) вершин, помеченных подмножествами Pi (или (2|Pi|m-1) вершин в случае s0 Pi);

    3. P = P Pj для всех существующих пар Pi P и Pj P (Pj K) таких, что Pi Pj = Q и путь из корня в вершину Current содержит (2(|Pj|-|Q|)m-1) вершин, помеченных подмножествами Pj, если s0 Pj или s0 Q, либо (2(|Pj|-|Q|)m-1) вершин в случае s0 Pj.

Шаг 2. Включаем в TS каждую входную последовательность, которая помечает путь из корня к листу в усеченном дереве.

Теорема 2.

Для заданного эталонного автомата S и целого числа m алгоритм 3 доставляет полный проверяющий тест относительно модели неисправности <S, (,≁),m >.

Доказательство.

  1. Рассмотрим самый общий случай – подмножество K состояний из множества S, и начальное состояние s0 K. Согласно алгоритму 1, вершина усеченного дерева преемников TreeS, помеченная подмножеством K, объявляется листом дерева, если путь из корня в эту вершину содержит 2|K|m вершин, помеченных подмножествами множества К. Это соответствует перебору всех возможных подмножеств К в усеченном дереве приемников TreeST, построенному по пересечению эталонного автомата S и некоторой реализации T, где К – это подмножество состояний пересечения S T таких, что первый символ каждой пары из К содержится в К.

Предположим, что существует такое подмножество состояний P из множества K, что до некоторого lго уровня дерева на пути из корня в вершину Current перебраны все возможные подмножества P. Множество P строится итеративно следующим образом:

Шаг 1. P = .

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5211
Авторов
на СтудИзбе
429
Средний доход
с одного платного файла
Обучение Подробнее