• Nie Znaleziono Wyników

Budowa prototypu funkcjonalnego modelu agentowego — submodel MAS_FUNK

Rozdział III Założenia do budowy adaptacyjnego agentowego modelu zarządzania projektami

3.4 Budowa prototypu funkcjonalnego modelu agentowego — submodel MAS_FUNK

Kolejny etap badań nad modelem a2M miał na celu doprowadzenie do precyzyjnego określenia zadań poszczególnych agentów modelu. Stan wiedzy na tym etapie pozwalał na koncentrowanie się na specyfikacji poszczególnych agentów — ich cech i zachowań (czyli stanów, które mogą przyjmować oraz akcji, które mogą wykonywać). Wydawało się, że takie podejście odzwierciedli strukturę projektów informatycznych oraz pozwoli na usprawnienie zarządzania projektami informatycznymi poprzez wsparcie podejmowania decyzji przez kierowników projektów informatycznych.

Omawiany etap badań, którego efektem był submodel MAS_FUNK[52], stanowił więc kamień milowy w dążeniu do opracowania modelu a2M. Skoncentrowano się bowiem na zdefiniowaniu funkcjonalności poszczególnych agentów, które są niezbędne dla wspomagania kierowników projektów. Zakładano na tym etapie badań, że usprawnienie zarządzania projektami informatycznymi jest możliwe poprzez system agentowy[40.45], którego model należy opracować, a następnie zaimplementować. Stąd też submodel MAS_FUNK stanowił architekturę zawierającą funkcjonalności poszczególnych agentów, które powinny zostać wykorzystane do generowania decyzji wspomagających kierowników projektów.

Po zakończeniu prac związanych z analizą dziedzinową oraz wyciągnięciu wniosków z opracowania koncepcji submodelu MAS, przystąpiono do opracowania rozszerzonej wersji submodelu MAS o specyfikację poszczególnych agentów. Rozszerzenie submodelu MAS o precyzyjną definicję zadań poszczególnych agentów oraz określenie zależności (relacji) między nimi doprowadziło do powstania submodelu MAS_FUNK. W tym etapie badania ukierunkowane były więc na możliwie dokładną i pełną specyfikację poszczególnych agentów. W tym celu podjęto badania pod kątem poszukiwania zależności pomiędzy poszczególnymi typami agentów. Analizowano również możliwości przystosowania agentów do realizacji procesu wspomagania decyzji kierowniczych w projektach informatycznych. Część badań skoncentrowano jednocześnie na możliwościach wzajemnej współpracy agentów i mechanizmach komunikacji między nimi. Stąd efektem prowadzonych badań było dokonanie pełnej definicji agentów. Definicja agentów oznaczała określenie wszystkich niezbędnych agentów dla realizacji procesu wspomagania decyzji kierowniczych oraz przyporządkowanie agentom zadań, które powinny wykonywać. Kolejnym krokiem było określeniem relacji pomiędzy agentami, które zostały odwzorowane w postaci zależności hierarchicznych pomiędzy agentami. Takie podejście pozwoliło na opracowanie produktu III etapu badań — submodelu MAS_FUNK, czyli modelu systemu agentowego wspomagającego zarządzanie projektami informatycznymi posiadającego w pełni zdefiniowanych agentów.

W opracowanym submodelu MAS_FUNK wyodrębniono główne typy agentów oraz przydzielono im przykładowe zestawy zadań, które powinny być wykonywane, a także podjęto pracę nad określeniem przepływu informacji między agentami. Ważnym wnioskiem z tego etapu było również określenie wszystkich funkcji systemu, które obejmują:

 pozyskiwanie informacji z otoczenia (przede wszystkim od menedżera projektu, ale także od klienta czy uczestników projektów informatycznych),

 przeszukanie zasobów,

 wnioskowanie w oparciu o udostępnione zasoby,

 zarządzanie poszczególnymi agentami systemu.

Po zdefiniowaniu tych głównych funkcjonalności możliwe stało się przejście do pracy nad sposobem przepływu informacji w przyjętej strukturze, czyli nad komunikatami, jakie agenty sobie przekazują. Dalsze prace wykazały, że określenie mechanizmów komunikacji między agentami programowymi przełożyło się na tworzenie relacji pomiędzy agentami zdefiniowanymi w ostatecznym adaptacyjnym agentowym modelu zarządzania projektami informatycznymi.

W submodelu MAS_FUNK sposób komunikowania się między agentami systemu okazał się najbardziej newralgicznym punktem. Podjęto próby zdefiniowania możliwych komunikatów oraz uznano, że za pomocą komunikatów agenty będą przekazywać sobie zlecenia do wykonania zadań.

Zgodnie więc z teorią systemów agentowych, gdzie przepływ pracy agentów determinowany jest przez odpowiednie komunikaty, uznano, że w submodelu MAS_FUNK taki przepływ powinien zostać uwzględniony. Stąd też komunikaty miały za zadanie nieść ze sobą zlecenie podjęcia określonej akcji przez agenta. W trakcie opracowywania submodelu MAS_FUNK zauważono jednocześnie, że w podejściu agentowym można znaleźć wiele analogii do rzeczywistych projektów informatycznych, w których uczestnicy pracują w środowisku rozproszonym, a swoje działania rozpoczynają po otrzymaniu określonego komunikatu (zlecenia) od innego uczestnika (np. kierownika projektu).

W trakcie pracy nad sposobami komunikowania się agentów w submodelu MAS_FUNK, który umożliwiłby wsparcie podejmowania decyzji kierowników w projektach informatycznych, podjęto próbę zdefiniowania typowych komunikatów, jakie wysyłają agenty. Ponieważ przyjęto, że każdy agent ma przypisany zakres stanów (cech, uprawnień) oraz akcji (zachowań, zadań) (rys.3.4), które może zrealizować, dokonano definicji podstawowych komunikatów-zleceń, jakie mogą być wysyłane przez agenty (w zależności od ich umiejscowienia w układzie hierarchiczno-funkcjonalnym).

Jednocześnie zauważono, że odebrany komunikat wpływa na zachowanie i stan agenta, co pozwala na definiowanie jego stanów w zależności od odebranego komunikatu.

Rys. 3.6 Przepływ zadań pomiędzy agentami Źródło: opracowanie własne

Na rysunku 3.6 zaprezentowano przepływ zadań pomiędzy agentami w postaci komunikatów.

Przykładowe komunikaty wysyłane między agentami przedstawiono w tabeli poniżej.

Tab. 3.1 Wpływ komunikatów na agenty w submodelu MAS_FUNK

Przykładowy

W tabeli 3.1 pokazano analogię pomiędzy przepływem komunikatów pomiędzy agentami programowymi oraz członkami zespołu projektowego traktowanych jako agenty w strukturze projektowej. Po uznaniu konieczności uwzględniania przepływu komunikatów na działanie agentów postanowiono również zdefiniować zakres działań poszczególnych agentów, który przedstawiono na rys. 3.7

Rys. 3.7 Zakres działania agentów w submodelu MAS_FUNK Źródło: [57]

Jak wynika z rys. 3.7, wyodrębniono zakres wejściowy, na który składać powinny się zmienne decyzyjne (czyli dojrzałość zespołu, dojrzałość klienta oraz entropia projektu). Wyodrębniono również zakres przetwarzania, (określono zależności pomiędzy agentami oraz podstawowe ich funkcjonalności) oraz zakres wyjściowy (decyzja wspomagająca kierownika projektu, np. jakiej dobrej praktyki użyć w zależności od wartości zmiennych decyzyjnych). W zależności od wyodrębnionych zakresów działania agentów postanowiono również określić główne typy agentów, przyporządkowując je do jednego z zakresów działania submodelu MAS_FUNK. Postanowiono

również uwzględnić układ hierarchiczny między agentami dla zaprezentowania procesów hierarchicznych procesów zarządczych. Na rys. 3.8 przedstawiono strukturę hierarchiczną agentów submodelu MAS_FUNK.

Agent Zarządzający

(dowódca)

Agent pośrednik (odbierający

zapytania )

Agenty

przeszukujące Agent wnioskujący

ZAKRES WEJSCIOWY (obszar pozyskiwania informacji )

ZAKRES PRZETWARZANIA obszar przeszukiwania baz wiedzy i ontologii

ZAKRES WYJSCIOWY obszar generowania wyników (ocen) Agent

przeszukujący ontologie

Agent przeszukujący

bazy wiedzy

liczba agentów od 1 do n liczba agentów od 1 do k liczba agentów od 1 do m

liczby n, k, m należą do liczb naturalnych i zależą od ilośc zleceń przyjmowanych przez agenta pozyskującego informację

Rys. 3.8 Struktura hierarchiczna agentów submodelu MAS_FUNK Źródło: [19]

Wstawienie agentów w strukturę hierarchiczną pozwoliło na stworzenie zależności pomiędzy poszczególnymi typami agentów. Ponadto wydzielono główne obszary zadaniowe (zachowania) dla agentów, takie jak pozyskiwanie informacji, przeszukiwanie zasobów wiedzy oraz generowanie decyzji wspomagających zarządzanie projektami. Dokładne relacje pomiędzy poszczególnymi agentami (odzwierciedlone w przepływach informacyjnych, przepływach komunikatów, przepływach zadań) zaprezentowane zostały wraz z układem hierarchicznym agentów i zgromadzone w postaci architektury submodelu MAS_FUNK.

Rys. 3.9. Prototyp funkcjonalny - submodel MAS_FUNK Źródło: [49]

Po zdefiniowaniu funkcjonalności poszczególnych agentów możliwe stało się określenie relacji pomiędzy agentami (określenie zależności między nimi). Jest to istotne z punktu widzenia organizowania przepływu strumienia informacji pomiędzy agentami. Następnie dokonano sprawdzenia poprawności tej komunikacji. Uznano, że wstępna weryfikacja systemu powinna nastąpić w oparciu o dane z dowolnego systemu technicznego (niekoniecznie związanego z zarządzaniem projektem). Do weryfikacji wybrano system techniczny z uwagi na znaczną powtarzalność danych.

Przyjęto dane systemu technicznego, w którym wszystkie analizowane parametry miały wartości liczbowe (wartości badanych parametrów w zaimplementowanym submodelu MAS_FUNK dotyczyły warunków atmosferycznych takich jak temperatura czy wilgotność, przy których określano ich wpływ na poziom zanieczyszczeń powietrza w aglomeracji Trójmiasta mierzony stężeniem takich substancji jak toluen, benzen itp.) [54,56].

Po przeprowadzeniu procesów wstępnej weryfikacji submodelu MAS_FUNK przeprowadzono weryfikację właściwą w oparciu o dane wejściowe dotyczące zarządzania projektami informatycznymi. Na podstawie tej weryfikacji stwierdzono, że agenty podejmowały działania niezależnie i autonomicznie w oparciu o przypisaną im inteligencję (inteligencję agentów stanowiły dedykowane regułowe baz wiedzy). Uznano również, że tak zaprojektowany submodel oraz wstępna weryfikacja są wystarczające, aby przystąpić do wykorzystywania submodelu MAS_FUNK zgodnie z pierwotnie zakładanym przeznaczeniem, tj. do wsparcia podejmowania decyzji w projektach informatycznych. Uznano jednakże, że dla przyjętej architektury submodelu MAS_FUNK konieczne będzie dokładne określenie parametrów wejściowych. Zastosowanie języka naturalnego i tłumaczenie go za pomocą ontologii okazywało się nieefektywne. Takie podejście dało początek dalszym pracom badawczym związanym z zawężeniem pytań zadawanych kierownikom projektów przez agenta pośredniczącego (agent komunikujący się z menedżerem projektu w celu pozyskania informacji o projekcie), dzięki którym można było określić poziom dojrzałości klienta oraz poziom entropii projektowej. Uznano, że dopiero po takim zdefiniowaniu parametrów wejściowych submodel MAS_FUNK będzie w stanie przetworzyć dane wejściowe tak, aby uzyskać w efekcie konkretną decyzję, np. zalecaną metodę (lub dobrą praktykę) realizacji projektu zgodnie z zaprezentowanym ujęciem na rys. 3.8.

Podsumowując, głównym efektem (produktem) badań zrealizowanym na tym etapie budowy a2M było określenie zależności pomiędzy agentami i zdefiniowanie ich funkcjonalności. Zauważono również, że dla potrzeb właściwego wnioskowania (przetwarzania parametrów wejściowych) należy określić poziomy zagregowanych zmiennych wejściowych.

Po określeniu funkcjonalności agentów i relacji między nimi oraz zdefiniowaniu zmiennych decyzyjnych punkt ciężkości badań przeniesiono na proces wnioskowania, czyli generowania decyzji przez submodel MAS_FUNK. Wnioskowanie to (jak wynika z rysunku 3.9) odbywa się w zakresie przetwarzania i jest realizowane jest przez agenty zestawione w układzie hierarchicznym.

W zależności od tego, jakie wartości przyjmują parametry wejściowe (dotyczące złożoności projektu, dojrzałości organizacji oraz dojrzałości klienta), uruchamiany jest proces generowania ocen/wniosków przez agenty submodelu MAS_FUNK. W wyniku wygenerowanych wyników użytkownik lub menedżer projektu otrzymuje wskazanie, np. jakiej metody realizacji przedsięwzięć informatycznych powinno się użyć pod potrzeby danego projektu lub jakie dobre praktyki zastosować. Podczas sesji z submodelem MAS_FUNK agent pośredniczący pozyskuje informacje wprowadzone przez użytkownika w polu zapytania. Informacje te zostają przekazane agentowi menedżerowi. W oparciu o te informacje agent menedżer podejmuje decyzje co do wykorzystania posiadanych przez submodel MAS_FUNK zasobów wiedzy. Taki przepływ zadań wynika z przyjętej architektury systemu, w którym agenty zgromadzone są według funkcji i hierarchii. W oparciu o inne źródła wiedzy, takie jak bazy wiedzy, agent wnioskujący dokonuje analizy przekazanego zapytania. Analiza może przebiegać dwutorowo. Może być to proste przeszukanie (podczas którego agent menedżer uruchamia agenta przeszukującego oraz przekazuje zlecenie dotyczące przeszukania zasobów wiedzy

znajdujących się w systemie, np. bazy faktów). W drugim przypadku, gdy zapytanie menedżera jest bardziej skomplikowane, uruchamiany jest agent wnioskujący korzystający z elementów wspomagających wnioskowanie (system ekspertowy, sieć neuronowa). Po tej akcji następuje przekazanie wyników do agenta menedżera. Pozyskane z obliczeń wyniki przekazywane są klientowi za pośrednictwem agenta pośredniczącego.

Określenie procesu przepływu informacji pomiędzy agentami w trakcie generowania decyzji wspierających menedżerów projektów dotyczące doboru metody zarządzania projektem (dobrych praktyk) zamknęło etap prac nad submodelem MAS_FUNK. Po zakończeniu tego etapu przystąpiono do prac implementacyjnych modelu w środowisku webowym.

Powiązane dokumenty