Измерение показателей процесса, в том числе и временных, без статистической обработки результатов не имеет смысла. Каждая итерация выполнения бизнес-процесса происходит с привлечением машин, людей, которые определяют случайный характер получившихся результатов. Таким образом, для оценки введенных в табл. 4 показателей необходимо использовать набор характеристик, таких как математическое ожидание, дисперсия и гистограмму распределения интересуемого показателя. Гистограмма позволит определить закон распределения, что в свою очередь позволит выявить зависимость показателей друг от друга и определить насколько предсказуемы результаты. Сравнение результатов выполнения бизнес-процессов до и после преобразований, так же должно выполняться на основе сравнения статистических характеристик показателей процесса. Это определяет дальнейшее направление исследований. Кроме этого предполагается работа над дополнением группы временных показателей и так же проработ-
ка других типов показателей, позволяющих оценить выполнение процессов приборостроительного предприятия.
Таким образом, для того, чтобы оценить деятельность приборостроительного предприятия и определить программу действий по решению текущих управленческих проблем предприятия, а также направление дальнейшего развития, необходимо развитие подотраслевой методики. В данной работе были рассмотрены и частично проработаны следующие ее составляющие: таблица значимых аспектов для определения уровня зрелости бизнес-процессов предприятия, составлена иерархия создания ценности для приборостроительного предприятия, показана необходимость выявления первоочередных бизнес-процессов и их оценки. В качестве параметров оценки был предложен набор временных показателей, характеризующих выполнение процессов и клиенто-ориентированных цепочек процессов, а так же показана необходимость статистической проработки рассматриваемых параметров.
СПИСОК ЛИТЕРАТУРЫ
1. Елиферов В.Г., Репин В.В. Бизнес-процессы. Регламентация и управление. - М.: Инфра-М, 2009. - 319 с.
2. Melenovsky M. BPM Maturity Model Identifies Six Phases for Successful BPM Adoption [Электронный ресурс]. - режим доступа: http://mediaproducts.gartner.com/reprints/global_360/article2/ar-
ticle2.html#3_1_1. - 20.04.2009.
3. Plummer D. BPM and Value Creation [Электронный ресурс]. -режим доступа: http://www.gartner.com/research/fellows/as-set_215649_1176.jsp. - 20.04.2009.
4. Елиферов В.Г., Репин В.В. Процессный подход к управлению. - М.: РИА «Стандарты и качество», 2005. - 406 с.
Поступила 20.04.2009г.
УДК 618.5:519.68
ОЦЕНКА ПОЛНОТЫ ПАССИВНОГО ТЕСТИРОВАНИЯ НА ОСНОВЕ АВТОМАТНОЙ МОДЕЛИ
М.В. Жигулин, А.В. Коломеец
Томский государственный университет E-mail: [email protected]
Предложен алгоритм расчета полноты проверки системы при пассивном тестировании, основанный на вырезании из мутационного автомата всех переходов, не отвечающих вход-выходной последовательности. Приведены оценки полноты пассивного тестирования протокола Simple Connection для различных длин входных последовательностей.
Ключевые слова:
Конечный автомат, мутационный автомат, полнота проверки, диагностическая последовательность, пассивное тестирование.
Введение
С развитием телекоммуникационных технологий, с ростом глобальной сети Интернет и увеличением числа внутренних локальных сетей, с повышением числа пользователей сети возникла необходимость в постоянном контроле сетевого трафика и тестировании оборудования. При активном тестировании систем используется специальный (тестовый) режим работы, в котором проверяется, функционирует ли тестируемая система согласно своей спецификации. Однако в случае с телекоммуника-
ционным оборудованием отключение системы в процессе функционирования иногда оказывается невозможным. В этом случае используется пассивное тестирование [1]. При пассивном тестировании поведение системы наблюдается в рабочем режиме, делается вывод о правильном (если наблюдаемое поведение допускается спецификацией), либо о неправильном функционировании системы (если наблюдаемое поведение не допустимо). Вообще говоря, при пассивном тестировании трудно говорить о полноте проверки тестируемой системы. Если, на-
пример, наблюдаемое поведение системы допускается спецификацией, то в общем случае неизвестно, обладает ли тестируемая система неисправностями из заданного класса.
Одной из широко используемых моделей при синтезе проверяющих тестов для дискретных систем является автоматная модель. Если поведение тестируемой системы описано конечным автоматом, то задача оценки полноты проверки по наблюдаемой вход-выходной последовательности есть хорошо известная задача распознавания автомата в некотором конечном множестве автоматов. В данной работе мы предлагаем решение этой задачи при условии, что поведение тестируемой системы описывается подавтоматом некоторого мутационного автомата, и мутационный автомат обладает диагностической последовательностью, которая встречается в наблюдаемой вход-выходной последовательности.
1. Определения
Под конечным автоматом (или просто автоматом) [2] далее понимается детерминированный полностью определенный автомат, т. е. пятерка А=(£,1,0,5ЛДа), где £ - конечное непустое множество состояний; I и О - конечные непустые входной и выходной алфавиты, соответственно такие, что !пО=0, §¿8x1^8 - функция переходов и Хл:8х1^-О - функция выходов. Следует отметить, что при пассивном тестировании обычно рассматриваются не инициальные автоматы, т. к. не известно, в какой момент начинаются наблюдения.
Если для некоторой пары (,у)е5Х1 существует более одного перехода, то автомат называется недетерминированным. В недетерминированном автомате вместо функций переходов и выходов обычно используют отношение переходов Нл<^8х1х8хО. Отношение НА состоит из четверок: «текущее состояние, входной символ, следующее состояние, выходной символ», называемых переходами. Обычным образом, функции переходов и выходов и отношение переходов распространяются на входные последовательности.
Пусть 5,^е£, а=/1/2.../ке1*, в=о1о2...океО*. Тогда (5,а,/,в)еАА, если существует последовательность состояний 5=51,52,...,5к,5к+1=^' таких, что (^,/,,^+1,о;)еА, /=1,...,к. Обозначим АЛо(,5,а)={в:3,5Е5[(,5,а,,5',в)ЕЙЛ]}, т. е. йло(*,а) используется для обозначения множества выходных последовательностей, которые автомат А в состоянии 5 может выдать на входную последовательность а.
Автомат В=(О,1,О,8В,ХВ,д0) называется подавтоматом полностью определенного недетерминированного автомата ММ=(М,1,0,кмм), если О^И и {(д,/,5В(д,/),АВ(д,/)):(д,/)Е Ох1}сйММ. Множество
полностью определенных детерминированных подавтоматов автомата ММ обозначается 8ыЬ(ММ). Автомат ММ называется мутационным автоматом для автомата В, если Ве^мЬ(ММ).
Состояния 5 и д автоматов А и В эквивалентны, если Vа<ЕГ[Нв(д,а)=кЛ°(5,а)], т. е. в состояниях 5и д автоматы А и В реагируют одной и той же выходной последовательностью на любую входную последовательность. Автоматы А и В эквивалентны, если для каждого состояния 5 автомата А в автомате В существует состояние, эквивалентное состоянию 5, и наоборот. Если За<ЕГ[НВо(д,а)^НЛо(5,а)], то говорят, что состояния 5 и д автоматов А и В различимы по а. Для недетерминированных автоматов понятий различимости несколько. В данной статье мы используем самое строгое из этих понятий, а именно понятие разделимости состояний [3]. Пусть ММ=(М,1,0,Лмм) и N=(N,1,0,^) - недетерминированные автоматы, и т и п - состояния автоматов ММ и N. Если ЗаеГ[АММо(т,а)пА/(п,а)=0], то говорят, что состояния т и п разделимы по а. Таким образом, множества выходных реакций в разделимых состояниях т и п на некоторую входную последовательность не пересекаются. Последовательность а называется диагностической последовательностью недетерминированного автомата ММ, если для любой пары состояний т1 и т] автомата ММ, где %', справедливо ^ММ(т;,а)пАММ(т;,а)=0, т. е. любые два различных состояния автомата ММ разделимы по входной последовательности а.
2. Оценка полноты проверки
Пусть задан автомат А, описывающий эталонное поведение системы, т. е. А есть автомат-спецификация. Также полагаем, что при любой неисправности поведение тестируемой системы описывается автоматом-мутантом из множества 8ыЬ(ММ). В этом случае оценка полноты пассивного тестирования сводится к задаче распознавания автомата по наблюдаемой последовательности вход-выходной автомата-спецификации в множестве 8ыЬ(ММ). Если наблюдаемой вход-выходной последовательностью могут обладать только автоматы-мутанты, эквивалентные эталонному автомату, то полнота проверки равна 100 %. Последнее означает, что если поведение систем со всеми возможными неисправностями описывается автоматами из множества 8ыЬ(ММ), то поведение проверяемой системы на всех входных последовательностях совпадает с поведением эталонного автомата в некотором состоянии, т. е. автоматы, описывающие поведение проверяемой и эталонной систем, эквивалентны.
Оценим полноту проверки при пассивном тестировании для случая, когда мутационный автомат ММ обладает диагностической последовательностью а. Пусть в/у - вход-выходная последовательность проверяемого автомата, наблюдаемая при пассивном тестировании, которая является вход-выходной последовательностью эталонного автомата, и в последовательности в встречается диагностическая последовательность а мутационного автомата ММ. На основании выходной реакции тестируемой системы на входную последователь-
ность а (по наблюдаемой выходной последовательности у) мы однозначно определяем состояние т мутационного автомата перед вхождением последовательности а и на следующем шаге в качестве наблюдаемой последовательности рассматриваем суффикс в'/у последовательности в/у, в котором последовательность в начинается с первого вхождения а в последовательность в. Состояние т объявляется начальным состоянием мутационного автомата. С использованием метода из [4] из недетерминированного автомата ММ с начальным состоянием т удаляются все подавтоматы, которые реагирует на в выходной последовательностью, отличной от последовательности у'. Полученный, в общем случае недетерминированный подавтомат автомата ММ обозначим ММ(в /у ').
Утверждение. Если проверяемый автомат В принадлежит множеству ^мЬ(ММ), то В является подавтоматом автомата ММ(в '/у').
Таким образом, чем более детерминированным является автомат ММ(в '/у'), тем выше полнота проверки при наблюдении последовательности в/у В частности, если автомат ММ(в '/у ') является детерминированным, то можно заключить, что для любого состояния проверяемой системы в эталонном автомате есть эквивалентное состояние. Для любой входной последовательности, проходящей только по парам «состояние, выходной символ», для которых в автомате ММ(в '/у') определен только один переход, можно утверждать, что реакция проверяемого автомата на эту последовательность совпадает с реакцией эталонного автомата в некотором состоянии.
Следствие. Если входная последовательность проходит только по парам «состояние, входной символ», для которых в автомате ММ(в '/у ') определен только один переход, то соответствующая вход-выходная последовательность проверяемой системы реализуется в некотором состоянии эталонного автомата.
На основании выше сформулированного следствия полноту проверки при пассивном тестировании можно определить как отношение числа пар «состояние, входной символ» автомата ММ(в'/у'), для которых определен только один переход, к числу всех пар «состояние, входной символ», умноженное на 100 %. В частном случае, когда в '/у' является полным проверяющим тестом относительно мутационного автомата, т. е. в случае, когда все переходы автомата ММ(в '/у') будут детерминированными, полнота проверки будет 100 %.
Пример. Пусть поведение проверяемой системы описывается автоматом В (рис. 1), который является подавтоматом мутационного автомата ММ (рис. 2), т. е. Ве^мЬ(ММ). Жирным шрифтом на рис. 2 выделены переходы эталонного автомата. Непосредственной проверкой можно убедиться, что мутационный автомат обладает диагностической последовательностью а=Ьа. Действительно, в
состоянии 1 множество выходных реакций мутационного автомата на последовательность Ьа есть {00, 11, 12, 21, 22}, в состоянии 2 - {01, 02}, в состоянии 3 - {10, 20}. Предположим, что мы наблюдаем вход-выходную последовательность в/у=Ь/2 Ь/0 а/0 Ь/0 а/2 Ь/2 а/0 Ь/0 а/2, которая является вход-выходной последовательностью эталонного автомата. Второй и третий символы входной последовательности в соответствуют диагностической последовательности а. Поскольку реакция эталонного автомата на а равна реакции мутационного автомата в состоянии 1, то за наблюдаемую последовательность принимаем суффикс в '/у -Ь/0 а/0 Ь/0 а/2 Ь/2 а/0 Ь/0 а/2 последовательности в/у Объявляем состояние 1 начальным состоянием мутационного автомата ММ и с использованием метода [4] удаляем из ММ/1 все подавтоматы, которые реагирует на в' выходной последовательностью, отличной от последовательности у'; в результате получим автомат ММ(в '/у'), представленный на рис. 3.
Рис. 1. Проверяемый автомат В
а/1
Рис. 3. Полученный автомат ММ(в'/у)
Полученный недетерминированный автомат ММф'/у') отличается от эталонного автомата непроверенным переходом из состояния 3 под действием входного символа а. Соответственно можно считать, что полнота проверки тестируемого автомата при наблюдении вход-выходной последовательности b/2 b/0 а/0 b/0 а/2 b/2 а/0 b/0 а/2 равна примерно 83 %, т. к. не проверенным остается всего один переход.
3. Полнота тестирования протокола Simple Connection
Мы применили выше описанный метод для пассивного тестирования реализаций протокола Simple Connection [5], который служит для установления связи между двумя различными протоколами для передачи данных и закрытия соединения. Первый протокол посылает запрос на установление соединения со вторым, который может принять данный запрос или отклонить его. В случае, когда второй протокол отказывает в соединении, первый вынужден снова повторять свой запрос. С целью многократного повторения запроса на соединение в систему вводится протокол Simple Connection, который «перехватывает» запрос на соединение от первого протокола, посылает его второму и, в случае отказа, повторяет запрос еще два раза. Если второй протокол не готов установить соединение с первым, то Simple Connection протокол информирует первый протокол о невозможности установления соединения. В случае, когда соединение установлено, передача данных и закрытие соединения тоже осуществляются через протокол Simple Connection.
Конечный автомат, реализующий поведение протокола Simple Connection, содержит 16 состояний и 176 переходов. При тестировании в реализацию вносились ошибки переходов-выходов; диагностической последовательностью являлся сигнал сброса, переводящий реализацию из любого состояния в начальное состояние. При тестировании использовались случайные вход-выходные последовательности эталонного автомата длины п. На рис. 4 представлен график зависимости полноты теста для протокола Simple Connection от длины тестовой последовательности, подаваемой на вход автомата при наличии от одной до четырех различных ошибок.
60
55
50
Рис. 4. Полнота пассивного теста протокола Simple Connection
Как и следовало ожидать полнота теста тем выше, чем больше длина вход-выходной последовательности. Из графика видно, что при достаточно большой длине наблюдаемой последовательности полнота тестирования стремится к 100 %.
Заключение
Предложен метод оценки полноты проверки системы при пассивном тестировании на основе автоматной модели, которая широко используется, в частности, при тестировании протокольных реализаций. Особенности метода:
1. Для повышения полноты проверки желательно иметь наблюдаемую вход-выходную последовательность достаточно большой длины. Например, при тестировании систем, реализующих поведение протокола Simple Connection (мутационный автомат содержит до 300 переходов), требуется длина вход-выходной последовательности около 4000 символов.
2. Не всякий мутационный автомат обладает диагностической последовательностью. Поэтому при тестировании телекоммуникационных систем, обладающих входным символом сброса, можно предложить перед началом теста подавать сигнал сброса и считать, что проверяемая система находится в начальном состоянии. Можно также использовать другие методы определения текущего состояния в недетерминированном автомате.
Работа частично поддержана проектом ФЦП (гос. контракт № 02.514.12.402).
СПИСОК ЛИТЕРАТУРЫ
1. Lee D., Netravali A., Sabnani K., Sugla B., John A. Passive testing and applications to network management // Proceedings of the IEEE International Conference on Network Protocols (Atlanta). -1997. - P. 113-122.
2. Гилл А. Введение в теорию конечных автоматов. - М.: Наука, 1962. - 272 с.
3. Евтушенко Н.В., Спицина Н.В. Исследование отношения не-разделимости для недетерминированных автоматов // Вестник
Томского университета. Приложение. - 2005. - № 14. -С. 218-222.
4. El-Fakih K., Prokopenko S.A., Yevtushenko N.V., Bochmann G.V. Fault diagnosis in extended finite state machines // Lecture Notes in Computer Science. - 2003. - № 2644. - P. 197-210.
5. Chen W.-H. Executable test sequences for the protocol data flow property // FORTE. - 2001. - № 197 - P. 285-299.
Поступила 14.10.2008 г.