УДК 004.052.42
Шкарупило В. В.
Аспирант, Запорожский национальный технический университет, Украина, Е-mail: [email protected]
МОДЕЛЬ TLA-СПЕЦИФИКАЦИИ КОМПОЗИТНОГО ВЕБ-СЕРВИСА _________________________С МНОЖЕСТВОМ ДИНАМИК____________________________________________
Разработана формальная модель специфицирования свойств композитных вебсервисов на основе формализма темпоральной логики TLA. На отдельном примере выполнена верификация TLA-спецификации композитного веб-сервиса с множеством свойств в автоматизированном режиме с использованием реализации метода Model Checking в составе программного средства TLA Toolbox (TLC, TLA Checker). Проведена оценка сопутствующих временных издержек.
Ключевые слова: модель, композитный веб-сервис, формальная спецификация, TLA, верификация, Model Checking, TLC.
ВВЕДЕНИЕ
На сегодняшний день использование формальных методов можно рассматривать в качестве обоснованного шага, направленного на уменьшение издержек, связанных с валидацией разрабатываемой системы (тестированием в частности) [1, 2]. Этот шаг заключается в создании формальной модели целевой системы и последующей верификации модели. В качестве системы рассмотрим композитный веб-сервис (CWS, Composite Web Service). Обоснование формальной верификации спецификации свойств CWS, вместе с результатами анализа существующих решений, приведено в [3].
Свойства (функциональные характеристики) CWS рассмотрим как результат координирования атомарных веб-сервисов на основе модели оркестровки [4]. Отметим, при этом, что CWS есть система, функционирующая в режиме «ad-hoc», - данное ограничение учтем при построении формальной модели. С этой целью в качестве метода формальной верификации используем метод проверки на модели (Model Checking), который заключается в полном переборе пространства состояний модели исследуемой системы [5] (классификация формальных методов приведена в [6]). Обоснование выбора - процедура формальной верификации может быть выполнена в автоматизированном режиме с использованием специализированных программных средства. В качестве такого средства возьмем свободно распространяемую среду разработки «TLA Toolbox» [7].
Концепция «behavior» формализма TLA (Temporal Logic of Actions) [8], предложенного Л. Лампортом (Leslie Lamport), является приемлемой абстракцией для специфицирования отдельно взятого свойства CWS: последнее может быть описано с помощью единственной TLA-формулы. Подобное положение дел, как следствие, упрощает решение задач, связанных с конфигурированием свойств CWS в соответствии с налагаемыми «ad-hoc» -ограничениями.
Для реализации процедуры формальной верификации необходимы следующие три предпосылки [9]: мо-
дель системы (множество состояний), метод формальной спецификации требований к системе (свойств системы), множество правил доказательства того, что система удовлетворяет выдвинутым требованиям. Адаптируем эти предпосылки применительно к задаче верификации формальной TLA-спецификации свойств CWS: каждому свойству поставим в соответствие структуру Крипке [10]; с целью верификации используем TLA-реализацию метода проверки на модели в составе «TLA Toolbox» - TLC (TLA Checker).
1. ПОСТАНОВКА ЗАДАЧИ
Предварительно выполним постановку задачи формальной TLC-верификации. С этой целью представим CWS
в виде трехкомпонентного кортежа: (AWS, {crd}, FPS^, где
AWS = jaws¡| i = 1, m)meN - множество атомарных вебсервисов, crd - компонент-координатор элементов AWS (модель компонента «BPEL Engine» в составе программной системы синтеза композитных веб-сервисов - Apache ODE, IBM WebSphere Process Server,...[11]), а FPS - множество свойств. Каждое свойство есть результат координирования элементов AWS.
Пусть задана модель Крипке
M = (S, {so },R,L),
где S - конечное непустое множество состояний CWS; so e S - начальное состояние; R с S x S - отношение переходов на S: Vs e S 3s'e S: R(s) = s', где s, s' e S - текущее и последующее состояния, соответственно;
L : S ^ 2ap - функция разметки состояний; AP - множество атомарных высказываний. С моделью M, при этом, также ассоциируется понятия «путь» и «траектория» как бесконечные последовательности вида s9, s1,...
и L(so), L(s1),..., соответственно [12].
В контексте веб-сервисов «траектории» рассмотрим как конечные последовательности разметок. Последние назовем «динамиками», обуславливающими свойства CWS.
© Шкарупило В. В., 2013
Пусть имеем множество булевых значений
D = {0,10 ^ FALSE, 1 ^ TRUE }. Требуется проверить,
что 3s є S: (m, s |= ф) TRUE, где ‘|= ’ - оператор выполнимости, а Ф - логическая формула на основе синтаксиса TLA. Таким образом, в решаемой задаче формальной TLC-верификации, в отличие от задачи проверки выполнимости логической формулы, модель M является заданной.
Рассуждая о множестве функциональных характеристик CWS, целесообразно рассматривать м с привязкой к отдельно взятому свойству. С этой целью, согласуясь с синтаксисом TLA, перейдем от высказывания
( s = ф) к высказыванию
(ст |=ф) С1)
где ст - динамика:
ст = (L(s0 ), L(R(s0 )), L(r(r(s0 ))),..., L(sEND)) , (2)
где R(s0) = s1, R(R(s0)) = R(s1 )= s2 и т. д. SEND, при этом, есть конечное состояние: R(end ) = Send .
Переход от (м, s |= ф) к (1) обусловлен не только спецификой формализма TLA, но и различием содержательных нагрузок: в первом случае проверке подлежит выполнимость формулы Ф в состоянии s є S модели M, а во втором - выполнимость Ф в каждом из состояний ст. Сформируем множество FPS:
FPS = {ст j,ф j )|j = 1,n}nєN, где ст j - j-я динамика на основе соответствующей модели Mj, причем Mj = ^S(j), {s0},R(j), L^, где
S(j) с S, R(j) с R : у S(j) = S, UR(j) = R. j j
Основываясь на (2) и на формализме CSP (Communicating Sequential Processes) Ч. Хоара (C. A. R. Hoare) [13], запишем ст j с использованием оператора конкатенации
- Vj: ст j = <L(s0 )a(l(r M)(s0) l(r M)R )))..., l(sSE^ ^,
где sEnd - конечное состояние j-й динамики.
Будем говорить, что j-е свойство (функциональная характеристика) CWS реализуется согласно ст j, если результат соответствующего отношения выполнимости принимает истинное значение:
з(стj,фj)єFPS:(стj |=фj) = TRUE.
Непосредственно целевой CWS как формализованное TLA-описание его функциональных характеристик представим следующим образом:
Ф1 v Ф2 v -V9n- (3)
Также приведем формализацию постановки задачи TLC-верификации:
v(ctj, фj je FPS: (стj |=фj)?TRUE: FALSE. (4)
Как следствие, в работе ставятся и решаются такие задачи:
- разработать модель TLA-спецификации функциональных характеристик CWS;
- оценить временные издержки, связанные с процедурой TLC-верификации спецификаций на основе предложенной модели.
2. КОНЦЕПТУАЛИЗАЦИЯ И ФОРМАЛИЗАЦИЯ
Для построения моделей Mj свойств CWS сформируем множество переменных состояний. Для этого воспользуемся спецификацией WS-BPEL 2.0 [14], в которой теги разделены на две группы: «Basic Activities» (BA) и «Structured Activities» (SA). В группах насчитывается 10 и 7 тегов, соответственно. Факт включения всех 17 тегов в состав модели являлся бы первопричиной ряда нежелательных факторов, наиболее очевидные из которых - «эффект комбинаторного взрыва» (пространства состояний), а также громоздкость модели. С учетом этих замечаний, для формирования множества переменных состояний рассмотрим теги выходных *.Ьре1-файлов тестовой утилиты «ChallengeGeneratorjar» (табл. 1) [15]. Целевое назначение последней - оценка средств автоматизации процесса синтеза CWS с точки зрения различных критериев (затраченное время, избыточность и т. п.).
Сформируем множество переменных состояний V = {vj}, где Vj e V соответствует тегу <invoke name=”aws_i”> для элемента awsi e AWS. Следовательно, IV = |AWS| = m.
С целью синтеза на основе моделей Mj формальной
TLA-спецификации, подлежащей TLC-верификации в автоматизированном режиме, формализуем понятие «событие» (в контексте дискретно-событийного моделирования). Данный шаг обусловлен следующей предпосылкой: TLA-специфицирование свойств CWS осуществимо путем формального описания переходов между разме-
Таблица 1. Теги, учтенные в формальной TLA-модели
№ Наименование Описание Группа
1 <invoke> тег вызова алч; е АШБ; BA
2 <sequence> тег последовательных вызовов; SA
3 <flow> тег параллельных вызовов; SA
4 <switch> тег условных переходов; SA
5 <case> тег-компонент в составе <8ш1сИ> SA
ченными состояниями. Для этого введем множества V' и АР'. Элементы V; е V и V; е V' рассмотрим, соответственно, как переменные текущего и последующего состояний 8,8' е Б. Сформируем множества АР и АР':
f : V X Б ^ АР, f': V' х (\ {о}) АР',
где ^¡,0) = ( = 0)е АР, ^¡,1) = ( = 1)е АР, а f '(V;, 1) = (V; = 1) е АР'. Следовательно, разметка начального состояния Ь^0)с АР :f : Vх(\{1})Ь^0).
В ТЬА-спецификации ь(бо ) зададим высказыванием «Тик»:
Init = (уі = 0)л(у2 = 0)л... л(vm = o).
(5)
Для задания разметок, отличных от b(s0), сформируем высказывания на основе элементов АР: «Label» -
высказывание для задания разметки L(s): s є S \ {so}.
С целью формализации г-го события, сформируем высказывание на основе элементов множества
L(so) u AP' (импликация):
Event; = (—i(vj = 0) V (v- = 1)) . (6)
Шаблон TLA-формализации перехода (s, s') є R отождествим с высказыванием «Next» (табл. 2). Последнее сформируем с использованием конструкции «IF-THEN-ELSE» путем агрегирования события (6).
Таким образом, если высказывание «Next» на основе некоторого события «Event;» истинно, получим разметку L(s'): L(s')A L(s) = {v; = 0), (v; = і)}.
Для ответа на вопрос (4) используем подход [16] (рис. 1). Будем утверждать, что формальная TLA-модель адекватна исследуемой системе, если матрица смежности
MX графа (S, R) равна таковой (MX') для графа, полученного из листинга TLC-верификации (рис. 1).
Введем следующие множества:
- множество символьных TLA-обозначений (СО)
A = {, V,'~','[ ]', '\;п'}, где элементы '/\', V, '~'є A обозначают булевы операторы «И», «ИЛИ», «НЕ», соответственно, '[ ]'є A есть СО темпорального оператора «Box» (G, «Globally»), а элемент '\;п'є A несет контекстную нагрузку символа 'є' теории множеств;
- множество Tags = {tg 1, tg2, tg3, tg4 }, элементы которого рассмотрим как строки ^bpel-кода на основе тегов групп BA и SA (табл. 3);
Т аблица 2. Переходы на основе событий
Высказывание Предусловие, «IF» («ELSE IF») Спецификация перехода
Next = 1 Init = 1 Init л Eventi
Label л (i = 0) = 1 Label л Eventi
- множество условий Cnd = {cndi, cnd2} :
cnd1 = ((tgl ^ tg2 ) v (tg3 ^ tg4)) , cnd2 = (2 ^ tg4 ) , где ‘ < ’ - оператор предшествования;
- множество правил трансляции (*.bpel-to-*.tla) Rules = {ri, 1'2,13}, элементы которого сформируем на основе элементов множеств Tags и Cnd. Элементы Rules, при этом, рассмотрим как « вложенные» относительно тегов группы SA (табл. 4).
Под правилами будем подразумевать функции, значения которых представим с использованием конструкции
«IF-THEN-ELSE»: E(ri), E(r2 ), E(r3 ) есть множества строк TLA-кода. Строка подлежит записи в целевую TLA-спецификацию в случае выполнимости условия (cndl или cnd2 ), переданного в функцию в качестве аргумента.
Таким образом, в результате трансляции WS-BPEL-описания посредством предложенных правил (табл. 4) получим формальную TLA-спецификацию, подлежащую TLC-верификации (рис. 1).
Рис. 1. Диаграмма компонентов Т аблица 3. Описание элементов множества Tags
Элементы <case>- и <1nvoke>-конструкции вызова awsi, awsk є AWS, где k = 1, m, k Ф i
tgl (tg3 ) = "<bpel: case name="service: \ aws i" ("aws k")>"
tg2 (tg4 Ь "<bpel: invoke name="aws i" \ ("aws k")...>"
Таблица 4. Правила трансляции
Элементы группы SA Элементы множества Rules, причем {1 = o) (vk = o} L(s0)
<switch> ri(cndi,tgi,tg2,tg3,tg4 ) = (1 = IF (~ v1 л ~ vk )tHEN~ v1 ELSE v1 )v (vk = IF (~ v1 л~ vk)THEN~ vk ELSE vk);
<sequence> r2 (cnd2,tg2,tg4 ) = (vk = IF (viл ~ vk)THEN~ vk ELSE vk);
<flow> r3 (^^, tg2, tg4 )= r2 (cnd2,tg2, tg4 )л (vi = IF (~ vi л vk ) THEN ~ vi ELSE vi )
9б
Рассмотрим пример. Пусть мы располагаем текстовым WS-BPEL-описанием целевого CWS, для которого
AWS = {awsj, aws2}:
<bpel: process...>...<bpel: switch...>
<bpel: case name="1st_behavior">
<bpel: sequence...>
... <bpel: invoke name="aws_1".../>
<bpel: invoke name="aws_2".../>...
</bpel: sequence...></bpel: case>
<bpel: case name="2nd_behavior">
<bpel: sequence...>
... <bpel: invoke name="aws_2".../>
<bpel: invoke name="aws_1".../>...
</bpel: sequence...></bpel: case>
</bpel: switch>...</bpel: process>
Следовательно, V = (vj, V2 }, а алгоритм функционирования crd задается последовательностью событий Eventj и Event2: Eventj = (—(vj = 0)v (vj = l)), а
Event2 = (—(2 = 0) v (v2 = l)) .
Пусть L(so) является заданной (5):
Init = (vj = 0)a(v2 = 0). Тогда, при условии
(inita((Eventj x Event2)v(Event2 x Eventj) TRUE), допустимы динамики CTj и
CT2:CTj vCT2 = (L(s0 ))л ((L(s1 ),L(s3 ^v (L(s2 ),L(s3 M, которым соответствуют модели Mi и M2 (табл. 5).
Наша задача - получить на основе модели M (табл. 5) формальную TLA-модель, подлежащую TLC-верификации (табл. 6).
Соответствующая граф-модель системы переходов приведена на рис. 2.
Таблица 5. Модели Крипке для al и a 2
M1 = ^S(l), {s0 }, R(l),L^: M2 = (s«, {so}, R(2), L :
S(l) = {s0, s1, s3 }; s(2) = {s0, s2, s3 };
R (l) = {(s0, S1 ) (S1 ,s3 )} R(2) = {(so,S2), (S2,S3)};
L(s0 )={(v1 = o), (v2 = °)};
L(sl )={(vl =4 (v2 = 0)}; l(s2 )={(vi = o), (v2 =l);
L(s3 )={(v1 = l), (v2 = l)};
AP = L(so )u L(si) u l(s2 )u l(s3 );
M = ^S(l) u S(2), {s0}, R(l) u R(2), Lj
/ Next Oli i(..\ V Next 13
i ^(vo) J ^)>WNext_02 ____________________________ / Nex^aT^^P
( 40 )
= L(S%)
\
■H 40
Рис. 2. Диаграмма состояний Таким образом, справедливо следующее:
Ф1 = Init a G(Next _01 a Next _13): L(s0) A L(s1 )= {(v1 = 0), (v1 = l)}, L(si)A L(s3) = {(v2 =0) (v2 = j)};
Ф2 = Init a G(Next _02 a Next _23):L(s0 ) A L(s2 )= {{ = 0), (v2 = l)}, L(s2 )A L(s3 )={(v1 = 0)> (v1 = j)}-
Тогда, согласно (3), проверке подлежит формула
Ф1 v ф = Spec.
Таблица б. «TLAÄ-спецификация
№ п/п BticKa3LiBaHHfl Комментарии
1: VARIABLES v1, v2 - объявление переменных состояний и задание инвариантов;
2: Invariant == /\ (v1 \in BOOLEAN)\ /\ (v2 \in BOOLEAN)
3: Init == (v1=FALSE) /\ (v2=FALSE) - задание Ь(во );
4: Next 01 == \ (v1'= IF Init THEN ~v1 \ ELSE UNCHANGED<<v1>>) - специфицирование перехода )е Я(1): в1 ={1,0};
5: Next 02 == \ (v2'= IF Init THEN ~v2 \ ELSE UNCHANGED<<v2>>) -//- (0 , в2 )е Я (2): в2 ={0,1};
6: Next 13 == (v2'= IF (v1 \ /\ ~v2) THEN ~v2 ELSE \ UNCHANGED<<v2>>) -//- (в!, вз) е я(1) : вз = {1, 1};
7: Next 23 == (v1'= IF (~v1 \ /\ v2) THEN ~v1 ELSE \ UNCHANGED<<v1>>) -//- (2, вз )е я(2) ;
8: Next == \ (Next 01 /\ Next 13) \ \/ (Next 02 /\ Next 23) - задание альтернативности динамик;
9: Spec == \ Init /\ [][Next] <<v1, v2>> - «ТЬА»-формула, подлежащая проверке.
3. МЕТОДИКА И РЕЗУЛЬТАТЫ ПРОВЕРКИ МОДЕЛИ
Предварительно оценим временные издержки, обусловленные автоматизированной верификацией TLA-листинга рассмотренного примера (табл. 6). Выделим, при этом, два подхода: первый - перебор состояний поиском в ширину (BFS); второй - в глубину (DFS). Асимптотики для BFS и DFS составляют o(js| + |R|) и ©(¡S|) соответственно [17].
Экспериментальные исследования проведены на ПК с CPU AMD K10 @ 3.0 GHz. Полученные результаты справедливы для однопоточного прогона модели. Усредненные
значения четырех (|D|M) замеров составляют:
0,859 (с) - для BFS и 0,364 (с) - для DFS. Можно предположить, что DFS-верификация представляет собой более предпочтительное решение. Тем не менее, для ее реализации необходимо указать глубину поиска, что является существенным ограничением с точки зрения автоматизации.
Проверку модели выполним по следующей методике:
- пусть пусть m = 2,12,...,42 [15];
- для каждого m выполним по 10 замеров: сгенерируем с помощью утилиты «ChallengeGenerator.jar» WSBPEL-описания и выделим, при этом, два случая - когда
размеры пространств поиска равны 103 и 104 соответственно (измерим временные затраты на поиск упорядоченной последовательности длиной в m и генерацию соответствующего WS-BPEL-описания);
- в результате выполнения предыдущего шага получим 102*.bpel-файлов, которые транслируем в соответствующие TLA-спецификации (табл. 4). Результаты трансляции BFS-верифицируем в автоматизированном режиме посредством TLC, измерив, при этом, сопутствующие временные издержки;
- соотнесем измеренные значения временных издержек на синтез WS-BPEL-описаний с таковыми на BFS-верификацию соответствующих TLA-спецификаций (рис. 3, табл. 7).
Рис. 3. Результаты экспериментальных исследований
Таблица 7. Интерполирующие функции
Функции Параметры r2
yl(m) = 1/(a + b • ln(m)); a = 1,172, b = -0,299; 0,996
y2(m )= 1/ (a + b • m + с • m2 + d • m3 ); a = 0,111, b = -0,008, c = 0,0003, d = -4,866 ; 0,999
y3(m )= a + b • m2 a = 0,846, b = 0,0002 0,984
г - коэффициент Пирсона.
На рис. 3. yl(m) и y2(m) - интерполирующие функции для случаев размеров пространств поиска 103 и 104, соответственно (поиск реализован на основе генетических алгоритмов). y3(m) - интерполянт функциональной зависимости временных затрат на BFS-верификацию от числа переменных состояний (табл. 7): каждая опорная точка есть среднее 20 замеров. Приведенные доверительные интервалы справедливы для доверительной вероятности 0,95. Графики получены с использованием программного инструментария «TableCurve 5.01».
При проведении экспериментов, в результате верификация трех TLA-спецификаций, были получены сообщения о блокировках (для m = 42). Это дает основания полагать, что TLC-верификацию можно считать обоснованной для m > 32.
ВЫВОДЫ
Таким образом, в работе предложена формальная модель специфицирования функциональных характеристик композитных веб-сервисов на основе формализма TLA. В качестве метода формальной верификации использован метод проверки на модели - его TLA-реализация TLC. Это позволило реализовать процедуру верификации в автоматизированном режиме. Отличительная особенность предложенной модели - гибкость реконфигурирования спецификации в зависимости от налагаемых «а^Ьос»-ограничений (каждая из функциональных характеристик композитного веб-сервиса может быть описана с помощью единственной TLA-формулы).
Результаты анализа временных издержек на реализацию автоматизированной TLC-верификации спецификаций на основе предложенной модели свидетельствуют, что для «а^Иооьсценариев введение автоматизированной формальной верификации в качестве этапа, предшествующего валидации (тестирование в частности) является обоснованным шагом (исходя из соотнесения с временными издержками на реализацию процедуры поиска).
В дальнейшем планируется исследовать предложенную модель с позиции сравнения выразительных возможностей TLA с альтернативными решениями - LTL и Event-B.
СПИСОК ЛИТЕРАТУРЫ
1. Mini course on Model Checking [Electronic resource] // International Summer School MOD 2012 on Engineering Dependable Software Systems (Marktoberdorf, Germany, July 31 - August 12, 2012) : Proceedings. - Mode of access : \www/ URL : http://asimod.in.tum.de/2012/slides/shdes-peled.pdf. - Last access : 22-10-2012. - Title from the screen.
2. Grumberg, O. 25 Years of Model Checking: History, Achievements, Perspectives [Text] / O. Grumberg, H. Veith. -Berlin. : Springer, 2008. - 231 p.
3. Шкарупило, В. В. Сравнительный анализ подходов к реализации процесса автоматизированного синтеза композитных веб-сервисов [Текст] / В. В. Шкарупило, Р. К. Кудер-метов // Науковий вісник Чернівецького національного
університету ім. Ю. Федьковича. Серія : Комп’ютерні системи та компоненти. - Чернівці : ЧНУ, 2011. - Т. 2, Вип. 4. - С. 80-85.
4. Papazoglou, M. P Service-Oriented Computing: State of the Art and Research Challenges [Text] / M. P. Papazoglou, P. Traverso, S. Dustdar, F. Leymann // IEEE Computer. - 2007. - Vol. 40, No. 11. - pp. 64-71.
5. Katoen, J-P Model Checking: One Can Do Much More Than You Think! [Text] / J-P. Katoen // Proceedings of the 4th IPM International Conference, FSEN 2011 (Tehran, Iran, April 20-22, 2011). - pp. 1-14.
6. Тарасюк, О. М. Формальные методы разработки критического программного обеспечения [Текст] : лекционный материал / О. М. Тарасюк, А. В. Горбенко; под ред.
B. С. Харченко - МОН Украины, Национальный аэрокосмический университет им. Н. Е. Жуковского «ХАИ»,
2009. - 214 с.
7. TLA+ The way to specify [Electronic resource]. - Mode of access : \www/ URL : http://www.tlaplus.net/tools/tla-toolbox/. - Last access : 22-10-2012. - Title from the screen.
8. Lamport, L. Specifying Systems [Text] / L. Lamport. -Boston. : Addison-Wesley, 2002. - 364 p.
9. Вельдер, С. Э. Верификация автоматных программ [Текст] / С. Э. Вельдер, М. А. Лукин, А. А. Шалыто, Б. Р. Ями-нов. - С. Пб. : ГУ ИТМО, 2011. - 242 с.
10. Кларк, Э. М. Верификация моделей программ: Model Checking [Текст] : пер. с англ. / Э. М. Кларк, О. Грамберг, Д. Пелед ; под ред. Р Смелянского. - М. : МЦНМО, 2002. - 416 с.
11. Vasiliev, Y. SOA and WS-BPEL [Text] / Y. Vasiliev. -Birmingham, UK. : Packt Publishing Ltd., 2007. - 301 p.
12. Карпов, Ю. Г. MODEL CHECKING. Верификация параллельных и распределенных программных систем [Текст] / Ю. Г. Карпов. - С.Пб. : БХВ-Петербург, 2010. -560 с.
13. Хоар, Ч. Взаимодействующие последовательные процессы [Текст] : пер. с англ. / Ч. Хоар. - М. : Мир, 1989. - 264 с.
14. Web Services Business Process Execution Language Version 2.0 [Electronic resource] : OASIS Standard, April 11, 2007. -Mode of access : \www/ URL : http://docs.oasis-open.org/ wsbpel/2.0/wsbpel-v2.0.pdf - Last access : 22-10-2012. -Title from the screen.
15. Web Services Challenge 2010 [Electronic resource] // The 12th IEEE Conference on Commerce and Enterprise Computing, CEC’ 10 (Shanghai, China, October 20 - 22, 2010) : Proceedings. - Mode of access : \www/ URL : http:/ /www.it-weise.de/documents/files/W2010WSC_pres.pdf. -Last access : 22-10-2012. - Title from the screen.
16. Шкарупило, В. В. Подход к автоматизации процедуры верификации формальной TLA-спецификации композитного веб-сервиса [Текст] / В. В. Шкарупило // Автоматизація і комп’ютерні технології : Зб. праць Міжнародної науково-практичної конференції, присвяченої 50-річчю кафедри АТПіВ ДВНЗ «ПДТУ» (25-27 вересня 2012 р., м. Маріуполь). - Маріуполь : ДВНЗ «ПДТУ», 2012. -
C. 51-52.
17. Кормен, Т. Х. Алгоритмы: построение и анализ [Текст] : пер. с англ. / Т. Х. Кормен, Ч. И. Лейзерсон, Р. Л. Ривест, К. Штайн. - 2-е изд. - М. : Вильямс, 2005. - 1296 с.
Стаття надійшла до редакції 02.11.2012.
Після доробки 15.01.2013.
Шкарупило В. В.
Аспірант, Запорізький національний технічний університет, Україна
МОДЕЛЬ TLA-СПЕЦИФІКАЦІЇ композитного веб-сервіса з множиною динамік
Розроблено формальну модель специфікування властивостей композитних веб-сервісів на основі формалізму темпоральної логіки TLA. На окремому прикладі виконано верифікацію TLA-специфікації композитного веб-сервіса із множиною властивостей в автоматизованому режимі з використанням реалізації методу Model Checking у складі програмного засобу TLA Toolbox (TLC, TLA Checker). Проведено оцінювання супутніх витрат часу.
Ключові слова: модель, композитний веб-сервіс, формальна специфікація, TLA, верифікація, Model Checking, TLC.
Shkarupylo V. V.
PhD-student, Zaporizhzhya National Technical University, Штате
A MODEL OF MULTI-BEHAVIORAL COMPOSITE WEB SERVICE TLA-SPECIFICATION
Despite the fact that today we have plenty of formal methods to be used during engineering process, the question of automation is still open and there is still the need to reduce Validation costs.
In order to specify the behaviors of Composite Web Service the TLA-formalism has been chosen and, as a consequence, the TLA-verification problem definition has been given. TLA-based Model for the Composite Web Services functional properties formal specification has been proposed: Kripke structure has been chosen as the basis. As a Case Study the Verification of Multi-behavioral Composite Web Service TLA-specification has been conducted. It has been done in an automated manner by TLA Toolbox Model Checking method implementation (TLC, TLA Checker) usage. The associated time costs estimation has been conducted.
Keywords: Model, Composite Web Service, Formal Specification, TLA, Verification, Model Checking, TLC.
REFERENCES
1. Peled D. Mini course on Model Checking. Proc. Int. Summer School MOD 2012 on Engineering Dependable Software Systems. Marktoberdorf, 2012. Available at: http:// asimod.in.tum.de/2012/slides/slides-peled.pdf (accessed October 22, 2012).
2. Grumberg O., Veith H. 25 Years of Model Checking: History, Achievements, Perspectives. Berlin, Springer, 2008, 231 p.
3. Shkarupylo V. V., Kudermetov R. K Sravnitel’nyjj analiz podkhodov k realizacii processa avtomatizirovannogo sinteza kompozitnykh veb-servisov, Naukovyi visnyk Chernivetskoho natsionalnoho universytetu im. Yu. Fedkovycha. Seriia : Kompiuterni systemy ta komponenty, 2011, Vol. 2, No. 4, pp. 80-85.
4. Papazoglou M. P., Traverso P., Dustdar S., Leymann F. Service-Oriented Computing: State of the Art and Research Challenges, IEEE Computer, 2007, Vol. 40, No. 11, pp. 64-71.
5. Katoen J-P. Model Checking: One Can Do Much More Than You Think! Proc. 4th IPM Int. Conf., FSEN 2011. Tehran, 2011, pp. 1-14.
6. Tarasjuk O. M., Gorbenko A. V. Formal’nye metody razrabotki kriticheskogo programmnogo obespechenija. MON Ukrainy, Nacional’nyjj Aehrokosmicheskijj Universitet im. N. E. Zhukovskogo «KhAI», 2009, 214 p.
7. TLA+ The way to specify. Available at: http:// www.tlaplus.net/tools/tla-toolbox/ (accessed October 22, 2012).
8. Lamport L. Specifying Systems. Boston, Addison-Wesley, 2002, 364 p.
9. Vel’der S. Eh., Lukin M. A., Shalyto A. A., Jaminov B. R. Verifikacija avtomatnykh programm. Saint Petersburg, GU ITMO, 2011. 242 p.
10. Clarke E. M., Grumberg O., Peled D. Model Checking. London, MIT Press, 2002, 416 p.
11. Vasiliev Y. SOA and WS-BPEL. Birmingham, UK, Packt Publishing Ltd., 2007, 301 p.
12. Karpov Yu. G. MODEL CHECKING. Verifikaciya parallel’nyx i raspredelennyx programmnyx sistem. SPb, BXV-Peterburg, 2010, 560 p.
13. Hoare C. A. R. Communicating Sequential Processes. London, Prentice-Hall, 1989, 264 p.
14. Web Services Business Process Execution Language Version 2.0. Available at: http://docs.oasis-open.org/wsbpeL2.0/ wsbpel-v2.0.pdf (accessed October 22, 2012).
15. Weise T. Web Services Challenge 2010. Proc. 12th IEEE Conf. on Commerce and Enterprise Computing, CEC' 10. Shanghai,
2010. Available at: http://www.it-weise.de/documents/files/ W2010WSC_pres.pdf (accessed October 22, 2012).
16. Shkarupylo V. V. Podkhod k avtomatizacii procedury verifikacii formal’nojj TLA-specifikacii kompozitnogo veb-servisa. Avtomatyzatsiia i kompiuterni tekhnolohii: Zb. prats Mizhnarodnoi naukovo-praktychnoi konferentsii, prysviachenoi 50-richchiu kafedry ATPiV DVNZ «PDTU». Mariupol, 2012, pp. 51-52.
17. Cormen T. H., Leiserson C. E., Rivest R. L., Stein C. Introduction to Algorithms, 2nd Edition. London, MIT Press, 2005, 1296 p.