SYSTEMY EKSPERTOWE. Sprawozdanie. Łukasz Muskietorz Grzegorz Dragon. III rok Informatyki inż. Z Grupa A

Podobne dokumenty
Opis podstawowych funkcji PC- SHELLa

Systemy ekspertowe. Sprawozdanie I. Tworzenie bazy wiedzy w systemie PC- Shell. Wykonali: Wiktor Wielgus Łukasz Nowak

Systemy ekspertowe. PC-Shell. Sprawozdanie z bazy wiedzy

Sprawozdanie 1 z PC-Shell a. Baza Wiedzy: Wybór śniadania

SKRÓCONA INSTRUKCJA uruchomienia testera

Sieci komputerowe : zbuduj swoją własną sieć - to naprawdę proste! / Witold Wrotek. wyd. 2. Gliwice, cop Spis treści

1 Moduł Inteligentnego Głośnika

1 Moduł Inteligentnego Głośnika 3

Zdalny podgląd wizualizacji z panelu XV100 przez przeglądarkę internetową (WebServer)

Windows W celu dostępu do i konfiguracji firewall idź do Panelu sterowania -> System i zabezpieczenia -> Zapora systemu Windows.

PlantVisor_1.90PL Instrukcja instalacji, konfiguracji oraz obsługi

Problemy techniczne SQL Server. Jak odblokować porty na komputerze-serwerze, aby umożliwić pracę w sieci?

Synchronizator plików (SSC) - dokumentacja

Poniższy przykład przedstawia prosty sposób konfiguracji komunikacji między jednostkami centralnymi LOGO! w wersji 8 w sieci Ethernet.

11. Rozwiązywanie problemów

INSTRUKCJA INSTALACJI OPROGRAMOWANIA MICROSOFT LYNC 2010 ATTENDEE ORAZ KORZYTANIA Z WYKŁADÓW SYNCHRONICZNYCH

Instrukcja konfiguracji. Instrukcja konfiguracji ustawień routera TP-Link dla użytkownika sieci POGODNA.NET

Forex PitCalculator INSTRUKCJA UŻYTKOWNIKA

4. Podstawowa konfiguracja

Systemy operacyjne i sieci komputerowe. 1 SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Etapy uruchamiania systemu

FAQ: /PL Data: 19/11/2007 Programowanie przez Internet: Przekierowanie portu na SCALANCE S 612 w celu umo

Opis przykładowego programu realizującego komunikację z systemem epuap wykorzystując interfejs komunikacyjny "doręczyciel"

Rozdział 8. Sieci lokalne

MEDIS_EWUS_AUTOMAT SYSTEM KS MEDIS: AUTOMAT EWUŚ Wydanie: 1.0 Data wydania: Marzec 2013 Strona/stron: 1/5

Instalacja oprogramowania ESI oraz konfiguracja

Opcje Fiery1.3 pomoc (klient)

Instrukcja instalatora kart mikroprocesorowych od Windows XP do Windows Wstęp 1 2. Wymagania instalacji 1 3.

Formy dialogowe w środowisku Gnome

Instrukcja konfiguracji programu Fakt z modułem lanfakt

Konfiguracja zapory Firewall w systemie Debian.

Opcje Fiery1.3 pomoc (serwer)

Dokumentacja instalacji aktualizacji systemu GRANIT wydanej w postaci HotFix a

Instrukcja odnawiania certyfikatów. przez stronę elektronicznypodpis.pl

8. Sieci lokalne. Konfiguracja połączenia lokalnego

Mini Produkcja by CTI. Instrukcja

Instrukcja obsługi Routera WiFi opracowana przez EVE tech Sp. z o. o. Sp. k.

Instrukcja instalacji Control Expert 3.0

Instrukcja do oprogramowania ENAP DEC-1

Konfigurowanie sterownika CX9000 firmy Beckhoff wprowadzenie

Sieciowy serwer IP urządzeń USB z 4 portami USB 2.0

Instrukcja użytkownika ARsoft-CFG WZ1 4.0

Windows 10 - Jak uruchomić system w trybie

Zestawienie tunelu VPN po protokole IPSec pomiędzy klientem VPN - Draytek Smart VPN Client za NAT-em, a routerem Draytek

3G FL760 instrukcja instalacji

1. Opis. 2. Wymagania sprzętowe:

HP Designjet Partner Link. Instrukcje

Instalacja programu dreryk

Sprawdzanie połączenia sieciowego

WYKONYWANIE ORAZ PRZYWRACANIE KOPII KONFIGURACJI ZA POMOCĄ INTERFEJSU 20-HIM-A6 / 20-HIM-C6S W PRZEMIENNIKACH SERII POWERFLEX 750

Zarządzanie licencjami dla opcji Fiery na komputerze klienta

Podręcznik Użytkownika LSI WRPO

Przykładowa konfiguracja konta pocztowego w programie Thunderbird z wykorzystaniem MKS 2k7 (MS Windows Vista Busissnes)

Rozdział ten zawiera informacje na temat zarządzania Modułem DMX oraz jego konfiguracji.

Laboratorium - Poznawanie FTP

Instrukcja konfiguracji i uruchamiania połączenia VPN z systemami SAP

Instrukcja obsługi Strona aplikacji

Instalacja sterownika portu USB

Instrukcja obsługi SafeIT - modułu zdalnego sterowania do sterowników kotłów CO firmy Foster v1.0

Spis treści. 1 Moduł Mapy 2

Instrukcja ręcznej konfiguracji połączenia z Internetem przez. modem ED77 w systemie Windows XP

Diagnostyka pamięci RAM

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

Instrukcja logowania się i wprowadzania ocen do systemu USOSweb

Instrukcja instalacji Asystenta Hotline

Cyfrowe Przetwarzanie Obrazów i Sygnałów

Problemy techniczne SQL Server

1 Moduł Konwertera. 1.1 Konfigurowanie Modułu Konwertera

Państwowa Wyższa Szkoła Zawodowa w Gorzowie Wlkp. Laboratorium architektury komputerów

Instalacja sterownika portu USB

Konfiguracja aplikacji ZyXEL Remote Security Client:

INTERFEJS LPG/CNG FTDI USB INSTRUKCJA INSTALACJI ORAZ KONFIGURACJI URZĄDZENIA

Instrukcja laboratoryjna cz.0

Uwaga: NIE korzystaj z portów USB oraz PWR jednocześnie. Może to trwale uszkodzić urządzenie ZyWALL.

1.Wstęp. 2.Generowanie systemu w EDK

Konfigurowanie sterownika CX1000 firmy Beckhoff wprowadzenie. 1. Konfiguracja pakietu TwinCAT do współpracy z sterownikiem CX1000

Oprogramowanie OpenVPN jest oprogramowaniem darmowym, które można pobrać ze strony:

Estomed2. 1. Wstęp. 2. Instalacja Systemu Estomed Jak zainstalować Estomed2. Hakon Software sp. z o. o. Podręcznik instalacji

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED


Laboratorium 2 Sieci Komputerowe II Nazwisko Imię Data zajęd

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja autoryzowanego użytkownika)

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Wstęp 5 Rozdział 1. Instalowanie systemu 11

Spis treści. 1 Moduł RFID (APA) 3

Instrukcja instalacji i konfiguracji bazy danych SQL SERVER 2008 EXPRESS R2. Instrukcja tworzenia bazy danych dla programu AUTOSAT 3. wersja 0.0.

Temat: Windows 7 Centrum akcji program antywirusowy

Instalacja i konfiguracja konsoli ShadowControl

OPIS PROGRAMU OBSŁUGI STEROWNIKA DISOCONT >> DISOCONT MASTER RAPORTY <<

PCPR. Instrukcja instalacji, aktualizacji i konfiguracji.

FAQ: /PL Data: 16/11/2007 Programowanie przez Internet: Konfiguracja modułów SCALANCE S 612 V2 do komunikacji z komputerem przez VPN

1 Wprowadzenie do algorytmiki

Obsługa poczty elektronicznej w domenie emeritus.ue.poznan.pl

R o g e r A c c e s s C o n t r o l S y s t e m 5

Konfigurowanie modułu BK9050 firmy Beckhoff wprowadzenie

Instrukcja konfiguracji połączenia PPPoE w Windows XP

OPTIMA PC v Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA ELFON. Instrukcja obsługi. Rev 1

Konfiguracja serwera DNS w systemie Windows Server 2008 /2008 R2

Laboratorium Ericsson HIS NAE SR-16

INSTRUKCJA OBSŁUGI DLA SIECI

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

Transkrypt:

Łukasz Muskietorz Grzegorz Dragon III rok Informatyki inż. Z Grupa A SYSTEMY EKSPERTOWE Sprawozdanie Zastosowanie programu PC-Shell do zaprojektowania systemu dokonującego analizy stanu połączenia sieciowego i uzyskanie informacji zwrotnej. Sosnowiec, 19 listopada 2014r.

1. Opis dziedziny System decyzyjny ma na celu dokonanie heurystycznej analizy stanu połączenia sieciowego i uzyskanie informacji zwrotnej (feedback) na temat kluczowych elementów składających się na poprawne działanie sieci. Zestaw kolejnych pytań naprowadzających pozwala na dokonanie diagnozy problemu i zbliżenie do jego rozwiązania. Pytania zostały skonstruowane w taki sposób, aby eliminować poszczególne możliwości wystąpienia błędów, a dobór zagadnień w nich analizowanych był prosty do zastosowania przez niedoświadczonego użytkownika. Jednocześnie otrzymywany wynik jest precyzyjny i jednoznaczny. Pytania zadawane użytkownikowi zostały podzielone na cztery główne działy: 1. Problemy z konfiguracją połączenia; 2. Problemy z oprogramowaniem, które może blokować połączenie z siecią; 3. Problemy ze sterownikami do sprzętu, które mogą powodować, iż sprzęt nie działa poprawnie; 4. Problemy sprzętowe, czyli możliwość wykrycia problemów w częściach umieszczonych w komputerze. 2. Opis bazy wiedzy Bazę wiedzy tworzy 5 plików: diagnostyka_sieci.bw moduł główny, definiujący źródła wiedzy, blok kontrolny oraz interpretację wniosków konfiguracja_polaczenia.zw plik źródła wiedzy dla problemów związanych z konfiguracją połączenia sieciowego oprogramowanie.zw plik źródła wiedzy dla problemów związanych z oprogramowaniem, mogącym blokować łączność sieciową sprzęt.zw plik źródła wiedzy dla problemów natury sprzętowej sterowniki.zw plik źródła wiedzy dla problemów związanych ze sterownikami urządzeń sieciowych

Każdy z plików źródeł wiedzy zawiera szereg pytań kierowanych do użytkownika systemu oraz kilka reguł złożonych odpowiednio interpretujących odpowiedzi tegoż. Zastosowane atrybuty mają naturę dwuwartościową i przyjmują wartości z zakresu { tak, nie }. Tak przyjęte rozwiązanie pozwala precyzyjniej ująć temat diagnostyki połączenia sieciowego i skuteczniej naprowadzać na potencjalne problemy. Główny moduł bazy wiedzy oprócz deklaracji źródeł wiedzy zawiera blok kontrolny, w którym oprócz opracowania poszczególnych wniosków zachodzi proces zachowania wyników wnioskowania za pomocą instrukcji savesolution oraz zbudowanie i zaprezentowanie użytkownikowi na koniec procesu wnioskowania okna typu popup z krótkim podsumowaniem. 3. Treść bazy wiedzy 3.1 Zawartość pliku diagnostyka_sieci.bw knowledge base diagnostyka_sieci sources problem_konfiguracji_polaczenia : type kb file "konfiguracja_polaczenia.zw"; problem_oprogramowania : type kb file "oprogramowanie.zw"; problem_sterownika : type kb file "sterowniki.zw"; problem_sprzetowy : type kb file "sprzet.zw"; control int Odp; char S1, S2, S3;

run; S1 := "Diagnostyka sieci"; S2 := "Demonstracjny system ekspertowy diagnostyki sieci domowej\ndragon Grzegorz, Muskietorz Lukasz\nUniwersytet Slaski Katowice"; S3 := "Copyright (C) 2014"; // createappwindow; vignette( S1, S2, S3 ); solutionwin( no ); Odp := 1; while( Odp == 1 ) begin char ROZW[1]; char ROZW1[1]; char ROZW2[1]; char ROZW3[1]; int LR; char OB1, ATR1, WAR1; char OB2, ATR2, WAR2; char OB3, ATR3, WAR3; char OB4, ATR4, WAR4; setsystext( problem, "[BDiagnostyka konfiguracji[b" ); solve( problem_konfiguracji_polaczenia, "problem_konfiguracji_polaczenia = Problem_konfiguracji_polaczenia" ); savesolution(rozw, LR); setsystext( problem, "[BDiagnostyka oprogramowania[b" ); solve( problem_oprogramowania, "problem_oprogramowania = Problem_oprogramowania" ); savesolution(rozw1, LR); setsystext( problem, "[BDiagnostyka sterownika[b" ); solve( problem_sterownika, "problem_sterownika = Problem_sterownika" ); savesolution(rozw2, LR); setsystext( problem, "[BDiagnostyka sprzetu[b" ); solve( problem_sprzetowy, "problem_sprzetowy = Problem_sprzetowy" ); savesolution(rozw3, LR); splitoav(rozw[0], OB1, ATR1, WAR1);

splitoav(rozw1[0], OB2, ATR2, WAR2); splitoav(rozw2[0], OB3, ATR3, WAR3); splitoav(rozw3[0], OB4, ATR4, WAR4); char ERROR; ERROR := "false"; if (WAR1 == "tak") begin ERROR := "true"; if (WAR2 == "tak") begin ERROR := "true"; if (WAR3 == "tak") begin ERROR := "true"; if (WAR4 == "tak") begin ERROR := "true"; char MESSAGE; MESSAGE := ""; strcat(message, "System wykryl nastepujace problemy:\n"); strcat(message, ATR1); strcat(message, ": "); strcat(message, WAR1); strcat(message, "\n"); strcat(message, ATR2); strcat(message, ": "); strcat(message, WAR2); strcat(message, "\n"); strcat(message, ATR3); strcat(message, ": "); strcat(message, WAR3); strcat(message, "\n"); strcat(message, ATR4); strcat(message, ": "); strcat(message, WAR4); strcat(message, "\n"); if (ERROR == "true") begin messagebox(0, 0, "Wniosek", MESSAGE); end else begin messagebox(0, 0, "Wniosek", "System nie wykryl problemow z siecia domowa"); confirmbox( 0, 0, "Kontynuowac wnioskowanie?", "Nacisnij 'OK' jesli tak, 'ANULUJ' jesli nie", Odp ); delnewfacts; solutionwin( no );

solutionwin( yes ); 3.2 Zawartość pliku konfigura_polaczenia.zw knowledge source problem_konfiguracji_polaczenia // zrodlo wiedzy badajace konfiguracje polaczenia sieciowego facets single yes; problem_konfiguracji_polaczenia : polaczenie_aktywne : query "Czy polaczenie sieciowe jest aktywne?" ograniczona_lacznosc : query "Czy wystepuje problem ograniczonej lacznosci z siecia lub jej calkowity brak?" poprawne_tcp : query "Czy protokol TCP/IP jest poprawnie skonfigurowany?" rules 1: problem_konfiguracji_polaczenia = "nie" if poprawne_tcp = "tak" & ograniczona_lacznosc = "nie" & polaczenie_aktywne = "tak"; 2: problem_konfiguracji_polaczenia = "tak" if poprawne_tcp = "nie" ograniczona_lacznosc = "tak" polaczenie_aktywne = "nie";

3.3 Zawartość pliku oprogramowanie.zw knowledge source problem_oprogramowania // zrodlo wiedzy badajace problem oprogramowania siecowego facets single yes; problem_oprogramowania : obecny_antywirus : query "Czy uzytkownik korzysta z programu antywirusowego?" zapora_sieciowa : query "Czy uzytkownik korzysta z zapory sieciowej?" proxy : query "Czy uzytkownik korzysta z oprogramowania do obslugi proxy lub VPN?" konfiguracja_antywirusa : query "Czy program antywirusowy zostal poprawnie skonfigurowany?" konfiguracja_zapory_sieciowej : query "Czy zapora sieciowa zostala poprawnie skonfigurowana?" konfiguracja_vpn : query "Czy oprogramowanie do obslugi proxy/vpn zostalo poprawnie skonfigurowane?"

zainfekowany : query "Czy komputer zostal zainfekowany szkodliwym oprogramowaniem uniemozliwiajacym lacznosc z Internetem?" rules 3: problem_oprogramowania = "tak" if (( obecny_antywirus = "tak" & konfiguracja_antywirusa = "nie" ) ( zapora_sieciowa = "tak" & konfiguracja_zapory_sieciowej = "nie" ) ( proxy = "tak" & konfiguracja_vpn = "nie" )) zainfekowany = "tak"; 4: problem_oprogramowania = "nie" if (( obecny_antywirus = "nie" & zapora_sieciowa = "nie" & proxy = "nie" ) ( obecny_antywirus = "tak" & konfiguracja_antywirusa = "tak" ) ( zapora_sieciowa = "tak" & konfiguracja_zapory_sieciowej = "tak" ) ( proxy = "tak" & konfiguracja_vpn = "tak" )) & zainfekowany = "nie"; 3.4 Zawartość pliku sprzet.zw knowledge source problem_sprzetowy // zrodlo wiedzy badajace problem sterownika urzadzenia siecowego facets single yes; problem_sprzetowy : instalacja_karty_sieciowej : query "Czy karta sieciowa jest poprawnie zainstalowana?"

instalacja_routera : query "Czy router jest poprawnie zainstalowany?" poprawnosc_dzialania_karty_sieciowej : query "Czy karta siecowa funkcjonuje prawidlowo?" poprawnosc_dzialania_routera : query "Czy router funkcjonuje prawidlowo?" rules 7: problem_sprzetowy = "tak" if instalacja_karty_sieciowej = "nie" instalacja_routera = "nie" poprawnosc_dzialania_karty_sieciowej = "nie" poprawnosc_dzialania_routera = "nie"; 8: problem_sprzetowy = "nie" if instalacja_karty_sieciowej = "tak" & instalacja_routera = "tak" & poprawnosc_dzialania_karty_sieciowej = "tak" & poprawnosc_dzialania_routera = "tak"; 3.5 Zawartość pliku sterowniki.zw knowledge source problem_sterownika // zrodlo wiedzy badajace problem sterownika urzadzenia siecowego facets

single yes; problem_sterownika : aktualizacja_karty_sieciowej : query "Czy wymagana jest aktualizacja sterownika karty sieciowej?" aktualizacja_routera : query "Czy wymagana jest aktualizacja sterownika routera?" karta_sieciowa_dziala_prawidlowo : query "Czy sterownik karty sieciowej dziala poprawnie?" router_dziala_prawidlowo : query "Czy sterownik routera dziala poprawnie?" poprawnosc_sterownika_karty_sieciowej : query "Czy zainstalowano wlasciwy sterownik dla karty sieciowej?" poprawnosc_sterownika_routera : query "Czy zainstalowano wlasciwy sterownik dla routera?" rules "tak" ) = "nie" ) 5: problem_sterownika = "tak" if ( aktualizacja_karty_sieciowej = "tak" aktualizacja_routera = ( karta_sieciowa_dziala_prawidlowo = "nie" router_dziala_prawidlowo ( poprawnosc_sterownika_karty_sieciowej = "nie" poprawnosc_sterownika_routera = "nie" ); "nie" ) & 6: problem_sterownika = "nie" if ( aktualizacja_karty_sieciowej = "nie" & aktualizacja_routera =

= "tak" ) & ( karta_sieciowa_dziala_prawidlowo = "tak" & router_dziala_prawidlowo ( poprawnosc_sterownika_karty_sieciowej = "tak" & poprawnosc_sterownika_routera = "tak" ); 4. Interpretacja bloku kontrolnego Blok kontrolny opisywanego systemu prezentuje odpowiednio trzy zmienne łańcuchowe, w których nakreśla cechę systemu, autorów oraz datę opracowania. Następnie określa on kilka zmiennych typu char, które posłużą do przechowania wyników wnioskowania z poszczególnych źródeł wiedzy. W bloku tym napotkać można cztery sekcje, na których konstrukcję składają się polecenia: setsystext zaprezentowanie użytkownikowi problemu solve przeprowadzenie wnioskowania w oparciu o zdeklarowane źródło wiedzy savesolution zapisanie wyników wnioskowania do zmiennej Po wykonaniu czterech takich bloków następuje proces ekstrakcji zapisanych wyników do odrębnych zmiennych łańcuchowych przechowujących informacje o obiekcie, atrybucie i wartości, tzw OAV. Operacją wykorzystaną w tym procesie jest polecenie splitoav. Z racji, iż system dedykowany jest diagnostyce sieci, występowanie problemu sieciowego stwierdzić można po wystąpieniu jednego choćby problemu dowolnego typu. Jako, że system bada cztery bloki zagadnień sieciowych, występowanie błędu przynajmniej w jednym z nich jest równoznaczne ze znalezieniem problemu ogólnie. Temu też służy interpretacja danych pozyskanych z operacji splitoav za pomocą szeregu konstrukcji warunkowych if. Posiadając informacje o potencjalnych błędach następuje stosowna konkatenacja zmiennych łańcuchowych w celu opracowania przejrzystego komunikatu dla użytkownika. Komunikat ten zostanie zaprezentowany użytkownikowi w postaci okna messagebox. W przypadku znalezienia problemu sieciowego system informuje użytkownika,

w którym bloku tematycznych dopatrzono się problemu. W przeciwnym razie stwierdza, iż problem sieciowy nie wystąpił. Po zapoznaniu się z tym komunikatem użytkownik może ponownie rozpocząć wnioskowanie, wybierając odpowiednią opcję w prezentowanym oknie typu confirmbox. 5. Przykładowy proces wnioskowania Niniejsza część sprawozdania ukazuje graficznie przykładowy proces wnioskowania okraszony stosownym komentarzem. Po załadowaniu bazy wiedzy w programie PC-SHELL wyświetlone zostaje okno z podstawowymi informacjami o systemie (Rysunek 1). Rysunek 1: Ekran powitalny systemu Po zatwierdzeniu rozpoczyna się proces wnioskowania kolejno czterech modułów: problemów konfiguracyjnych, oprogramowania, sprzętowych i sterowników.

Rysunek 2: Diagnozowanie problemów konfiguracyjnych Pierwszym blokiem jest blok problemów konfiguracyjnych (Rysunek 2). Zadaniem tego bloku jest sprawdzenie stanu połączenia sieciowego, konfiguracji protokołu TCP/IP oraz przepustowości przez określenie potencjalnie ograniczonej łączności. Prawa część powyższego rysunku pokazuje jedną z reguł wykorzystywaną na tym etapie do wnioskowania. Po udzieleniu odpowiedzi na wszystkie pytania tego bloku program przechodzi do bloku związanego z problemami oprogramowania (Rysunek 3). Rysunek 3: Diagnozowanie problemów oprogramowania W tej części system stara się wywnioskować czy na przestrzeni oprogramowania do ochrony antywirusowej, zapory sieciowej czy zestawiania połączenia VPN oraz ich

konfiguracji nie znajduje się żaden problem. Podobnie jak przy poprzedniej grafice, również tutaj można sprawdzić regułę wykorzystywaną w procesie wnioskowania. Jako, że w systemie wykorzystywane są głównie reguły złożone, reguła na powyższym rysunku stanowi doskonały przykład tego typu zastosowań praktycznych. Rysunek 4: Diagnozowanie problemów sterownika Blok następny to blok problemów sterownika (Rysunek 4), w którym system stara się odpowiedzieć na pytanie, czy powstał problem związany z błędnymi sterownikami karty sieciowej, routera, bądź aktualizacjami tychże. Blok ostatni stanowią zagadnienia sprzętowe związane z pracą urządzeń sieciowych (Rysunek 5). Odpowiedzi na pytania tego bloku informują o stanie karty sieciowej i routera. Rysunek 5: Diagnozowanie problemów sprzętowych

Powyższy blok jest ostatnim z czterech wymienionych w charakterystyce opisywanego systemu. Po przeprowadzeniu wnioskowania w każdym z ww. obszarów system prezentuje użytkownikowi okienko z podsumowaniem (Rysunek 6). W tym konkretnym przykładzie jest to komunikat, iż znaleziono problem sieciowy. Rysunek 6: Podsumowanie wyników wnioskowania Kliknięcie OK w powyższym oknie powoduje wyświetlenie okna decyzji, warunkującego rozpoczęcie nowego procesu wnioskowania lub zakończenie procesu (Rysunek 7). Po wybraniu OK system raz jeszcze wchodzi w interakcję z użytkownikiem i proces wnioskowania rozpoczyna się na nowo. W przeciwnym przypadku, tj przy rezygnacji użytkownika z kontynuacji, system kończy swoje działanie. Rysunek 7: Okno decyzji 6. Wady i zalety programu PC-Shell Zastosowanie programu PC-Shell umożliwiło przejście przez algorytm stworzony na potrzeby dokonania analizy stanu połączenia sieciowego. Dużą zaletą programu jest to, że

odpowiedzi implikują kolejne pytania, tj. nie muszą być wyświetlane wszystkie pytania dotyczące danego zagadnienia, jeśli została udzielona odpowiedź wykluczająca dane zagadnienie. Dzięki temu tworzony jest system wspomagający decyzje, które należy podjąć, aby przywrócić połączenie sieciowe. Dodatkowym atutem jest prostota języka używanego do pisania programu w PC-Shell-u. Dzięki temu szkielet systemu można stworzyć bardzo szybko. Niestety negatywną stroną programu PC-Shell okazała się mała intuicyjność interfejsu. Nie każde bowiem polecenia czy przyciski znajdowały się w miejscach, do których przyzwyczajony jest użytkownik (np. przycisk wyjścia z programu). Oczywiście dotyczy to jedynie domyślnego widoku. Co więcej, gorszym problemem przy tworzeniu systemu okazały się skąpe informacje zwrotne dotyczące błędów w programie. Okazuje się bowiem, że podanie numeru wiersza oraz ogólnego opisu błędu nie zawsze wystarcza do tego, by zlokalizować ten błąd i go naprawić.