MODELOWANIE PROCESÓW BIZNESOWYCH W LOIKACH NIEKLASYCZNYCH Stanisław Kędzierski Wprowadzenie Istnieje wiele sposobów modelowania rzeczywistości. Rodzaj modelu zaleŝy od celu jakiemu ma ono słuŝyć. TakŜe narzędzia jakich uŝywa się w tym procesie zaleŝą nie tylko od temperamentu osoby modelującej ale takŝe od celów modelowania. Przykładowo jeśli interesują nas aspekty ilościowe stosowane powinny być techniki obliczeniowe (programowanie liniowe, metody optymalizacyjne itp.) a jeśli jakościowe właściwym byłoby wykorzystanie narzędzi jakościowych (logiki). Przedmiotem zainteresowania informatyków gospodarczych są instytucje i zachodzące w nich procesy. W procesie biznesowym uczestniczą agenci, którzy wykonują określone właściwe im czynności w wyniku których osiągany jest cel procesu. Agenci ci winni wykonać określone czynności we właściwej kolejności i we właściwym czasie. Do opisu rzeczywistości logika stosuje wiele narzędzi rozpoczynając od logiki klasycznej. Jeśli trzeba modelować obiekty więcej niŝ jednego typu wprowadzana jest logika, która modeluje wiele typów (ang. many sorted logic). Logiki stosowane w modelowaniu procesu biznesowego (epistemiczna czyli logika wiedzy, temporalna oraz deontyczna) [Marc87] są logikami modalnymi posiadającymi swe korzenie w filozofii. Konstrukcja modelu będzie więc wieloetapowa powinna obejmować takie składowe cząstkowe modelowanej rzeczywistości jak: agenci, struktura, powinności kaŝdego z agentów, wiedza o faktach, proces, zaleŝności czasowe.
METODY FORMALNE W SWO Celem niniejszego artykuł jest odpowiedź na pytanie czy moŝna stosować logikę (logiki nieklasyczne) do modelowania procesów biznesowych a takŝe przedstawienie złoŝoności procesu modelowania procesów biznesowych zachodzących w instytucjach. Zostanie zaprezentowana procedura włączania kolejnych logik nieklasycznych w juŝ istniejący model celem odpowiedzi na pojawiające się pytania i wzbogacenia modelu. Model agentów (logika akcji wielu typów) Na model agentów składają się dwa typy agentów: 1. agentów będących osobami 2. agentów maszyn W warstwie syntaktycznej logika opisująca działania agentów składa się ze skończonego niepustego zbioru typów: T = { Akcje, Agenci } gdzie: Akcje jest niepustym typem akcji zaś Agenci jest niepustym typem agentów (wykonawców). MoŜliwe jest wprowadzenie dwu pod-typów: agentów osób i agentów maszyn. Symbole stałych s 1, s 2,... oznaczają elementy poszczególnych typów. Nazwy agentów mogą być przedstawione jako n-tka s 1, s 2,..., s n gdzie s 1, s 2,..., s n Agenci Nazwy akcji mogą być przedstawione jako n-tka s 1, s 2,..., s n gdzie s 1, s 2,..., s n Akcje Symbole predykatów mogą być przedstawione jako n-tka s 1, s 2,..., s n gdzie s 1, s 2,..., s n P, gdzie P jest (być moŝe pustym) zbiorem predykatów typu s 1, s 2,..., s n Zmienne niepusty zbiór róŝnych zmiennych wszystkich typów s S Operatory (funktory) logiczne - (negacji), (równowaŝności), (implikacji), (konjunkcji), (alternatywy), oraz [ ] (mocny dynamiczny operator logiki modalnej), Operatory połączeń akcji - (złoŝenie równoległe), ; (złoŝenie sekwencyjne), + (wybór deterministyczny), oraz (negacja). Reguły budująceformuły Dla termów stosowane są następujące reguły: zmienne lub stałe dowolnego typu s S są termami, termem typu Akcje są napisy postaci α(t 1,, t n ) gdzie α jest symbolem akcji typu s 1,, s n, zaś t 1,, t n są termami typów s 1,, s n termem typu Agenci są napisy postaci i(t 1,, t n ) gdzie i jest symbolem akcji typu s 1,, s n, zaś t 1,, t n są termami typów s 1,, s n
ROZDZIAŁ IV nie ma innych termów poza wymienionymi Dla atomów stosowane są następujące reguły: jeśli t 1,, t n są termami typów s 1,, s n, oraz p jest symbolem predykatu typu s 1,, s n, wtedy p(t 1,, t n ) jest atomem. napis (i, α) jest atomem jeśli tylko i jest typu Agenci i α jest typu Akcje, atomem jest podstawienie t i = s t ii jeśli tylko t i oraz t ii, są termami typu s nic ponadto nie jest atomem. Definicja formuł obejmuje: kaŝdy atom jest formułą, jeśli ϕ jest formułą jest nią takŝe ϕ, jeśli ϕ oraz ψ są formułami to są nimi takŝe: (ϕ ψ) (ϕ ψ) (ϕ ψ) (ϕ ψ) we wszystkich typach, s S, jeśli x jest zmienną typu s oraz ϕ jest formułą, wtedy s xϕ oraz s xϕ są takŝe formułami. nic ponadto nie jest formułą. Tak zdefiniowany język logiki łączy w sobie moŝliwość przedstawiania agentów i akcji przez nich wykonywanych. Operatory łączenia akcji stwarzają moŝliwość budowania działań złoŝonych. Jako przykład zastosowania łączonej logiki akcji i standardowej weźmy typy sprzedawcy samochodów, samochodów, klientów. Centralnym typem jest typ agentów Agenci. MoŜliwymi wystąpieniami w tym typie są: kierownik, sprzedawca oraz klient. W danym typie moŝe występować tylko jeden agent np.: w typie Dealer D, istnieje jeden agent kierownik. W punkcie sprzedaŝy samochodów moŝe być zatrudnionych wielu sprzedawców, których moŝna oznaczyć jako sprzedawca typu D, N, gdzie D oznacza dealer a u którego sprzedawca jest zatrudniony, zaś N będące liczbą naturalną rozróŝniającą kolejnych sprzedawców. W podobny sposób opisywani są klienci naszego dealer a; jako klient typu D, N. agenci aby osiągnąć cel (np.: sprzedaŝ i kupno auta) wykonują proces biznesowy i komunikują się ze sobą przekazując sobie róŝne informacje. Dzieje się to z wykorzystaniem aktów mowy [Kędz01]. Wiele z akcji (typu Akcje) angaŝuje agenta i samochód, co powoduje wprowadzenie kolejnego typu Samochód. Niektóre z akcji moŝna opisać: ZAMÓWIENIE typu Agenci, Samochód ; POTWIERDZENIE typu Agenci, Agenci, Akcje); SPOTKANIE typu Agenci, Data. Szczególnie istotne miejsce w modelowaniu procesów biznesowych odgrywa akcja POTWIERDZENIE, która poświadcza przekazanie innemu agentowi nowej wiedzy (informacji o fakcie). Przykładowo jeśli sprzedawca potwierdzi kie-
METODY FORMALNE W SWO rownikowi iŝ klient planuje kupno samochodu wtedy kierownik powiększa swą wiedzę. W logice akcji gdzie α oznacza akcję zaś ϕ jest formułą, zapis [α]ϕ oznacza Ŝe zakończenie wykonywania α prowadzi do sytuacji w której ϕ jest prawdziwe. Uprecyzyjnienie wykonania akcji α przez agenta i zapisuje się jako [i, α]ϕ [Kędz00]. Przykładowo jeśli agent i (w tym przypadku klient) zamawia samochód wtedy jest moŝliwy jego zakup. Formalny zapis jest następujący: [i, ZAMÓWIENIE(c1)] DOSTĘPNOŚĆ(c1). Model czasu (logika temporalna) W celu wprowadzenia zaleŝności czasowych do modelu konieczne jest dołączenie rozszerzenie aparatu formalnego o logikę temporalną [Marc87]. Najprostszym modelem czasu jest dyskretny czas liniowy. Wprowadzić naleŝy operatory modalne: ( zawsze ), ( moŝliwe czasami ), O ( w następnej chwili ), oraz U ( dopóki ). Intuicyjne znaczenie operatora jest następujące: ϕ przyjmuje wartość prawdy jeśli ϕ jest prawdziwe teraz i we wszystkich następujących później punktach czasu, ϕ jest prawdziwe jeśli ϕ ma wartość prawdy obecnie lub kiedyś w przyszłości; Oϕ jest prawdziwe jeśli ϕ będzie prawdziwe w następnym punkcie czasu (w następnym momencie) oraz ϕ Uψ jest prawdziwe jeśli ϕ jest prawdziwe dopóki ψ jest prawdziwe (i ψ jest teŝ prawdziwe). MoŜliwe jest rozciągnięcie działania operatorów temporalnych o czas przeszły. I tak operatory p ( zawsze w przeszłości ), p ( czasami w przeszłości ), Op ( poprzednio ), oraz Up ( odkąd ) odnosza się do przeszłości. Zapis faktu iŝ agent i wykonał akcję α w przeszłości zapisuje się jako: p (i, α). Model wiedzy (logika epistemiczna) Kolejnym rozszerzeniem w przedstawianiu modelu procesu biznesowego z wykorzystaniem logik nieklasycznych jest logika epistemiczna. W logice tej stosowana jest nowa kategoria określająca (w przeciwieństwie do innych logik traktujących kaŝdego agenta indywidualnie) skończoną grupę agentów. Formalnie wprowadza się dwa operatory: K i dla kaŝdego i z typu Agenci, oraz E i C dla kaŝdej z grup agentów. Wprowadzić naleŝy równieŝ następującą regułę rozszerzającą poprawne wyraŝenia: jeśli i jest jednym z typów Agenci, wtedy K i ϕ jest formułą, oraz jeśli ϕ jest formułą i jest nazwą grupy agentów wtedy E ϕ i C ϕ są formułami. Semantyka operatorów K, E ϕ i C ϕ jest następująca. Odwołać się naleŝy do struktur Kripkego, które odnoszą się do moŝliwych światów. Struktura Kripkego M dla n agentów nad zbiorem atomów Φ jest n-tka (S, π, ν i1,, ν in ), gdzie S jest zbiorem stanów lub moŝliwych światów, π jest funkcją interpretującą skojarzoną
ROZDZIAŁ IV z kaŝdym stanem atomu Φ w S w wartości prawdy lub fałszu (czyli π(s) : Φ {true, false} dla wszystkich s S), oraz ν i jest relacją binarną w S. Rozpatrywana jest ν i jako relacja moŝliwości definiująca co agent i moŝe rozwaŝać w dowolnie danym świecie. Formalnie zapisuje się to następująco: (M, s) = K i ϕ, wtw (M, t) = ϕ dla wszystkich t takich Ŝe (s, t) ν. Jeśli agent posiada niezbędne informacje do wykluczenia świata gdzie ϕ jest prawdziwe wtedy agent i posiada informacje wiedzę Ŝe ϕ jest prawdziwe. Operator modalny E ϕ ( wszyscy członkowie grupy wiedzą Ŝe ϕ ) definiowany jest jako: Eϕ =ˆ i K iϕ, czyli Ŝe zachodzi E ϕ wtedy i tylko wtedy jeśli agent i 1 wie Ŝe ϕ oraz agent i 2 wie Ŝe ϕ oraz. agent i n wie Ŝe ϕ, gdzie agenci i 1, i 2,, i n są elementami grupy. Taka definicja jest szczególnie uŝyteczna przy wiedzy iteracyjnej określanej następująco: 1 E ϕ =ˆ Eϕ k k 1 E ϕ = ˆ EE ϕ dla k>1 przypadek podstawowy Wiedzę elementarną moŝna przedstawiać elementy mentalne postaci jeśli i 1 oraz i 2 wzajemnie są przekonani Ŝe ϕ wtedy i 1 oraz i 2 przekonani są Ŝe ϕ. Operator ten moŝna łatwo uogólnić na grupę liczącą skończoną liczbę członków. MoŜna powiedzieć Ŝe grupa posiada wspólna wiedzę Ŝe ϕ (C ϕ), jeŝeli wszyscy członkowie tej grupy wiedzą Ŝe wszyscy członkowie grupy wiedzą Ŝe ϕ. Wspólna wiedza grupy moŝe więc być zdefiniowana następująco: C ϕ =ˆ i E ϕ. Model obowiązku (logika deontyczna) Struktury Kripkego pozwalają rozszerzyć rozpatrywaną logikę o kolejną relację stając się następującą n-tką: (S, π, ν i1,, ν in, ν) przy czym S, π, ν i1,, ν in mają takie samo znaczenie jak uprzednio, zaś ν jest relacją idealizacji (preferencji). Definiowanie wartości prawdy jest następujące: (M, s) = Oϕ wtw (M, t) = ϕ dla wszystkich t takich Ŝe (s, t) ν, tak więc stan t jest idealny dla stanu s. Po dołączeniu operatorów logiki deontycznej do konstruowanej złoŝonej logiki moŝna przedstawić obowiązek wykonania akcji. Jeśli i jest typu Agenci oraz α jest typu Akcje, O(i, α) oznacza zobowiązanie agenta i do wykonania akcji α. Operatory P(i, α) i F(i, α) oznaczają zezwolenie na wykonanie akcji oraz zakaz wykonania akcji α przez agenta i. MoŜe to być spowodowane ustaleniami regu- i
METODY FORMALNE W SWO laminów lub udzielonymi (lub nie udzielonymi) uprawnieniami do wykonywania niektórych czynności. Na szczególną uwagę zasługuje relatywna logika deontyczna, w której wprowadza się operatory warunkowe [Ziem87]: O(α/ψ) obowiązkowe jest wykonanie akcji α pod warunkiem Ŝe zachodzi ψ, F(α/ψ) zakazane jest wykonanie akcji α pod warunkiem Ŝe zachodzi ψ, P(α/ψ) dozwolone jest wykonanie akcji α pod warunkiem Ŝe zachodzi ψ, Dodatkowo moŝliwe jest wprowadzenie zrelatywizowanych operatorów deontycznych wzbogaconych o czynnik czasu: O j/t (i, α/ψ) oznaczający iŝ agent i zobowiązany jest przez agenta j do wykonania akcji α w czasie t jeśli zachodzi warunek ψ. Przykład Jako przykład zastosowania przedstawionych logik rozpatrzmy sprzedawcę samochodów A typu D. Kieruje nim dyrektor oznaczony Kierownik(A). W skład załogi wchodzi dwu sprzedawców oznaczonych: Sprzedawca(A, 0) oraz Sprzedawca(A, 1), którzy są typu Agenci ( D, N ). Jeden z agentów moŝe być człowiekiem drugi zaś maszyną. Dodatkowo w modelu występuje agent-pośrednik Pośrednik(A, 0) oraz klient Klient(A, 0). Istotne dla modelowanego przykładu jest określenie sposobu w jaki agent-maszyna będzie zbierał informacje. Wysłanie informacji przez Kierownika (dostępnej dla wszystkich sprzedawców) o odpowiedzialności Sprzedawcy(A, 1) za zamówienie części zapasowej staje się wiedzą wspólną w grupie. Formalny zapis tej wiedzy jest następujący: C(O(Sprzedawca(A, 1), ZAMÓWIENIE(c 2 ))). przy czym c 2 jest częścią zapasową do typu Samochód. Na podstawie wspólnej wiedzy grupy o zamówieniu części akcja Sprzedawcy(A, 1) jest skoordynowana. Po dokonaniu zamówienia Sprzedawca(A, 1) wysyła notę (notyfikuje) do Kierownika o wykonaniu polecenia, czyli kierownik pozyskuje nowa wiedzę. Zapis formalny jest następujący: [(Sprzedawca(A, 1), POTWIERDZA(Kierownik(A), Sprzedawca(A, 1), ZAMÓWIENIE(c 2 ))] K Kierownik(A) (Sprzedawca(A, 1), ZAMÓWIENIE(c 2 )). Wykonanie akcji POTWIERŹ moŝe wywołać inne akcje, np.: klient informuje agenta pośredniczącego o chęci nabycia auta. W związku z tym agent pośredniczący zobowiązany jest do podjęcia pewnych akcji (zorganizowanie spotkania). Zapis formalny jest następujący: [(Klient(A, 0), POTWIERDZA(Pośrednik(A, 0), Klient (A, 0), KUPNO(c 2 )] K Pośrednik (A) ( Klient (A, 0), ZAMÓWIENIE(c 2 )) O(Pośrednik (A, 0), ZORANIZOWANIE_SPOTKANIA (Klient (A, 0), Data )).
ROZDZIAŁ IV W działaniu gospodarczym moŝe okazać się waŝne posiadanie wiedzy o tym czy dana akcja miała miejsce w przeszłości. Aby zanotować informację Ŝe (Sprzedawca(A, 1) wie iŝ był zobowiązany do zamówienia części pisze się: p (K Sprzedawca(A, 1) O(Sprzedawca(A, 1), ZAMÓWIENIE(c 2 )). Jedną z własności logiki deontycznej jest modelowanie stanu faktycznego w przeciwieństwie do idealnego moŝna więc modelować systemy tolerujące błędy. Przykładowo jeśli agent maszyna nie zamówi części odpowiedzialność za wykonanie tej akcji przechodzi na agenta człowieka co moŝna zapisać: (O(Sprzedawca(A, 1), ZAMÓWIENIE (c 2 )) ( Sprzedawca (A, 1), ZAMÓWIENIE (c 2 ))) O(Sprzedawca (A, 0), ZAMÓWIENIE (c 2 )). Dopiero zastosowanie róŝnych logik, ich specyficznych operatorów umoŝliwia modelowanie systemów, w których występuje wiele typów, akcje i róŝne zachowania się agentów. Logika epistemiczna pozwala na przedstawianie wiedzy zaś logika deontyczna opisuje obowiązki agentów. Tak więc do modelowania coraz bardziej rosnącej złoŝoności procesów biznesowych zachodzących w instytucjach naleŝy stosować bardzo wyrafinowane narzędzia logik: klasycznych, akcji, temporalnych, deontycznych i epistemicznych. Literatura [Kędz00] [Kędz01] [Marc87] [Ziem87] Kędzierski S.: Checking correctness of business processes specification in action logic. [in:] Abramowicz W., Orłowska M. /eds/ BIS 2000 4th International Conference on Business Information Systems, Poznań, Poland, 12-13 April 2000, Springer-Verlag 2000 pp. 297-305. Kędzierski S.: Formalne metody opisu komunikacji biznesowej. w: ołuchowski J., Sroka H. /red/ Systemy Wspomagania Organizacji SWO 2001, Katowice 2001 Prace Naukowe AE, s. 232 239. Marciszewski W.: Modalność. [w:] Marciszewski W. /red/ Logika formalna Zarys encyklopedyczny z zastosowaniem do informatyki i lingwistyki. PWN Warszawa 1987, s 311 319. Ziemba Z.: Logika deontyczna. [w:] Marciszewski W. /red/ Logika formalna Zarys encyklopedyczny z zastosowaniem do informatyki i lingwistyki. PWN Warszawa 1987, s 331-337