Edycja i kontrola jakości wiedzy w systemach regułowych
|
|
- Józef Kwiatkowski
- 8 lat temu
- Przeglądów:
Transkrypt
1 mgr inż. Szymon Bobek Katedra Automatyki Akademia Górniczo-Hutnicza w Krakowie szymon.bobek@agh.edu.pl mgr inż. Krzysztof Kaczor Katedra Automatyki Akademia Górniczo-Hutnicza w Krakowie kk@agh.edu.pl mgr inż. Krzysztof Kluza Katedra Automatyki Akademia Górniczo-Hutnicza w Krakowie kluza@agh.edu mgr inż. Weronika Adrian Katedra Automatyki Akademia Górniczo-Hutnicza w Krakowie wta@agh.edu.pl Edycja i kontrola jakości wiedzy w systemach regułowych 1. Wprowadzenie Na przestrzeni ostatnich kilku lat nastąpił znaczny rozwój powłok (ang. shells ) do tworzenia systemów regułowych. Istniejące już od ponad dwudziestu lat powłoki takie jak Clips 1, czy Jess 2 nie potrafiły sprostać wymogom współczesnego projektanta systemów ekspertowych. Spore ograniczenia i przestarzałość wspomnianych narzędzi, spowodowały rozwój bardziej zaawansowanych pakietów oprogramowania do tworzenia i 1 clipsrules.sourceforge.net 2
2 uruchamiania systemów regułowych, takich jak Drools 3, czy narzędzia HeKatE 4. Głównym kierunkiem rozwoju narzędzi wspomagających tworzenie systemów regułowych było udostępnienie mechanizmów modularyzacji bazy wiedzy i umożliwienie wizualnego projektowania bazy wiedzy, a także wprowadzenie zaawansowanych strategii wnioskowania. Pierwsze dwie kwestie związane są z problemem konstruowania dużych baz wiedzy, gdzie tradycyjne metody zawodzą na poziomie czytelności i wygody projektowania. Oprócz tego w chwili, kiedy systemy ekspertowe zaczęto wykorzystywać w oprogramowaniu, którego niezawodność działania w każdej sytuacji stała się kwestią krytyczną, pojawiła się potrzeba stworzenia mechanizmów kontroli jakości i weryfikacji bazy wiedzy 5. Pomimo znacznego zainteresowania rozwojem powłok do tworzenia systemów regułowych, w temacie tym istnieje wciąż duży obszar dotyczący metod edycji i reprezentacji wiedzy, oraz kontroli jakości tej wiedzy, wymagający badań. W niniejszej pracy został przedstawiony zestaw narzędzi, który umożliwia zaawansowane tworzenie systemów ekspertowych przy użyciu różnych metod reprezentacji wiedzy oraz weryfikację logiczną tych systemów. 3 Browne P, JBoss Drools Business Rules, Packt Publishing, Nalepa G.J., Ligęza A., HeKatE Methodology, Hybrid Engineering Of Intelligent Systems, International Journal of Applied Mathematics and Computer Science 2009, nr 3 5 Nazareth D. L., Issues in the Verification of Knowledge in Rule-Based System, International Journal of Man-Machine Studies,1989, nr 3
3 2. Motywacja Istniejące narzędzia, służące do tworzenia i uruchamiania systemów ekspertowych, takie jak Clips, Jess, czy Drools, posiadają dwa znaczące ograniczenia: 1. Oferują wyłącznie jeden format reprezentacji wiedzy (wyjątkiem jest tutaj Drools, umożliwiający zapis wiedzy zarówno za pomocą reguł jak i tablic decyzyjnych). 2. Z racji na brak formalnej definicji metody reprezentowania wiedzy, nie oferują mechanizmów pozwalających na formalną kontrolę jej jakości, rozumianą w kontekście poprawności logicznej. Ograniczenia wynikające ze stosowania wyłącznie reprezentacji regułowej na poziomie edycji bazy wiedzy mogą powodować utrudnienia w tworzeniu baz wiedzy opisujących dziedziny, w kontekście których używanie reguł explicite, jest zupełnie nienaturalne. Brak kontroli jakości baz wiedzy umożliwia tworzenie niekompletnych lub niespójnych systemów, co w przypadku oprogramowania którego niezawodne działanie jest kwestia krytyczną, może prowadzić do poważnych konsekwencji. W związku z powyższymi ograniczeniami zaproponowane zostało stworzenie zestawu narzędzi, które umożliwią: 1. Tworzenie baz wiedzy przy pomocy kilku schematów reprezentacji wiedzy 2. Formalną weryfikację poprawności baz wiedzy pod kątem zupełności i determinizmu. 3. Wizualizację zależności pomiędzy elementami reprezentowanej wiedzy.
4 Narzędzia opisywane w następnych rozdziałach są częścią projektu RE- BIT 6 - systemu zarządzania regułami biznesowymi i technologicznymi. 3. Reprezentacja wiedzy Reguły są jedną z najpopularniejszych metod reprezentacji wiedzy 7. Istnieją jednak inne formaty zapisu wiedzy, które użytkownikom nie będącym ekspertami w dziedzinie systemów regułowych mogą wydawać się bardziej naturalne do reprezentowania pewnych zagadnień (np. klasyfikacyjnych) i w konsekwencji ułatwiać tworzenie baz wiedzy. W tym celu, z punktu widzenia organizacji wiedzy, w opisywanych w tej pracy narzędziach dostępne są następujące metody reprezentacji wiedzy: 1. Tablice decyzyjne 2. Reguły 3. Siatki decyzyjne Z punktu widzenia fizycznej reprezentacji bazy wiedzy, opisywany system obsługuje dwa formaty: 1. Bazujący na języku XML 8 język REBIT, wykorzystywany przez edytor bazy wiedzy 2. Formalny język regułowy HMRL bazujący na logice atrybutowej 9, wykorzystywany przez weryfikator logiczny bazy wiedzy. Język ten Harmelen F., Vladimir Lifschitz, and Bruce Porter, Handbook of Know- ledge Representation. Elsevier Science, W3C. Extensible markup language (xml) 1.0, w3c recommendation. Technical report, W3C, Nalepa G.J., Ligęza A., HeKatE Methodology, Hybrid Engineering Of Intelligent Systems, International Journal of Applied Mathematics and Computer Science 2009, nr 3
5 stworzony został na podstawie języka HMR 10, będącego natywnym językiem silnika wnioskującego narzędzi HeKatE 11. Poniżej przedstawione zostały przykładowe reguły zapisane w języku REBIT i HMRL, które w zależności od wartości atrybutu day określają, czy dany dzień jest dniem roboczym. Przykład 1: Reguła w języku REBIT <Rule Id="TodayIsWorkDayRule"> <If> <Atom Operator="in"> <LeftHand> <Term Content="Variable"> <Variable IdRef="day"/> </Term> </LeftHand> <RightHand> <Term Content="Constant"> <Constant Multiplicity="MultipleUnordered"> <String>Monday</String> <String>Tuesday</String> <String>Wednesday</String> <String>Thursday</String> <String>Friday</String> </Constant> </Term> </RightHand> </Atom> </If> <Then> <Atom Operator="eq"> <LeftHand> <Term Content="Variable"> <Variable IdRef="today"/> </Term> </LeftHand> <RightHand> <Term Content="Constant"> <Constant Multiplicity="Single"> <String>Workday</String> </Constant> </Term> Nalepa G.J., Ligęza A., HeKatE Methodology, Hybrid Engineering Of Intelligent Systems, International Journal of Applied Mathematics and Computer Science 2009, nr 3
6 </RightHand> </Atom> </Then> </Rule> Poniżej została przedstawiona reguła z Przykładu 1, zapisana w języku HMRL Przykład 2: Reguła w języku HMRL schm1/'todayisworkdayrule': [day in ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']] ==> [today set 'Workday']) W celu umożliwienia weryfikacji logicznej bazy wiedzy, konieczna jest unifikacja sposobu w jaki wiedza ta jest reprezentowania w obrębie weryfikatora i edytora, tak aby możliwa była komunikacja pomiędzy nimi. Sposób wymiany danych pomiędzy edytorem a weryfikatorem przedstawiony został na Rysunku 1. Weryfikacja logiczna wymaga formalnego zapisu wiedzy. Taki wymóg spełnia język HMRL, będący językiem regułowym bazującym na logice atrybutowej. Wybór tego języka jako formatu wewnętrznej reprezentacji wiedzy w weryfikatorze logicznym był zatem naturalną konsekwencją wspomnianego wymogu. W obrębie edytora, wiedza reprezentowana jest za pomocą bazującego na języku XML, języka REBIT. Ponieważ system dopuszcza inne poza regułową reprezentacje wiedzy - takie jak siatki i tabele decyzyjne - konieczne było stworzenie mechanizmów mapowania tych reprezentacji do formatu regułowego (Patrz Rozdział 4). Dodatkowo konieczne było stworzenie programów mapujących regułową reprezentację REBIT do postaci HMRL.
7 Rysunek 1: Architektura systemu do edycji i weryfikacji wiedzy Cykl komunikacji pomiędzy edytorem wiedzy a weryfikatorem logicznym można opisać następującym algorytmem: 1. Użytkownik tworzy bazę wiedzy przy pomocy edytora, wykorzystując różne formaty reprezentacji wiedzy. 2. W celu weryfikacji wiedzy, edytor mapuje bazę wiedzy do postaci regułowej, zapisanej w języku REBIT i przekazuje do analizatora składniowego 3. Analizator składniowy bada poprawność składniową bazy wiedzy i parsuje bazę wiedzy w języku REBIT do formatu HMRL, grupując podobne reguły w tak zwane konteksty (w celu umożliwienia badania zupełności, czy sprzeczności)
8 4. Weryfikator logiczny przeprowadza weryfikację bazy wiedzy i przekazuje raport w z powrotem do edytora, który informuje użytkownika o ewentualnych błędach. 4. Edycja bazy wiedzy Edycja bazy wiedzy jest dokonywana przy pomocy stworzonego specjalnie do tego celu edytora. Edytor ma za zadanie umożliwienie użytkownikowi łatwej modyfikacji bazy wiedzy poprzez zastosowanie wizualnych komponentów ułatwiających posługiwanie się aplikacją. Edytor może łączyć w sobie funkcjonalność aplikacji pozwalającej na edycję bazy wiedzy jak też aplikacji dla użytkownika końcowego, który będzie używał jej do wnioskowania. W tym jednak przypadku zastosowano pierwsze podejście, gdzie aplikacja służy jedynie do edycji baz wiedzy. Edytor składa się z kilku modułów powstałych w wyniku zastosowania wzorca projektowego Model-View-Controller (MVC). MVC (zobacz rysunek 2.) jest informatycznym wzorcem projektowym, który na określonym poziomie abstrakcji architektury aplikacji wprowadza 3-warstwowy podział na: Warstwę modelu - odpowiadającą za wewnętrzną reprezentację danych które przetwarza aplikacja. Warstwę widoku - odpowiadająca za prezentację użytkownikowi danych przechowywanych w warstwie modelu. Warstwę kontrolera - pośredniczącą pomiędzy warstwami modelu i widoku w wymianie danych poprzez przesyłanie odpowiednich komunikatów lub poprzez obsługę zdarzeń generowanych w tych warstwach.
9 Rysunek 2: Wzorzec MVC. Podział aplikacji może być zrealizowany na różnych poziomach abstrakcji: Na poziomie kodu źródłowego, gdzie każdy plik zawierający kod źródłowy zostaje przydzielony do jednej warstwy. Na poziomie binariów które razem tworzą kompletny system. Dzięki takiej strukturze każda warstwa aplikacji/systemu może być tworzona niezależnie od innych. Co więcej, umożliwia ona łatwą podmianę warstwy na inną np. zmianę warstwy widoku która prezentuje dane użytkownikowi w sposób graficzny na taką która nadaję się do prezentacji w linii poleceń. Jedynym wymogiem które muszą spełniać wszystkie warstwy jest posiadanie spójnego, ujednoliconego interfejsu do komunikacji z pozostałymi warstwami. Typ, rodzaj interfejsu jest różny i zależy także od poziomu abstrakcji na którym zastosowano wzorzec:
10 Na poziomie kodu źródłowego, w zależności od języka programowania, interfejsem mogą być metody w klasach, odpowiednie funkcje globalne, itp. Na poziomie binarnym interfejs mogą stanowić różnego rodzaju technologie np. CORBA, COM+, DCOM, ActiveX, TCP/IP, Std I/O, SO dla systemów Unixowych, DLL dla Windows, itp. MVC jest obecnie szeroko stosowany przede wszystkim w różnego rodzaju frameworkach umożliwiających szybkie tworzenie aplikacji. Wśród najpopularniejszych można wymienić: GTK+, JAVA Swing, Qt since Qt4 release, Cocoa, ASP.NET MVC Framework. Bazując na opisanym wzorcu stworzona została architektura edytora której schemat jest pokazany na rysunku 3: Rysunek 3: Architektura edytora wiedzy. Główną warstwą edytora jest moduł modelu w którym są przechowywane dane w postaci wewnętrznej reprezentacji odpowiedniej dla edytora. Warstwa ta posiada dwa rodzaje interfejsu: Interfejs który służy od ekstrakcji danych z formatu XML. Przy jego pomocy dane zawarte w modelu są już wstępnie przetwarzane.
11 Interfejs przy pomocy którego komunikuje się z nadrzędną warstwą (warstwa prezentera). Warstwa prezentera jest odpowiedzialna za mapowanie danych pomiędzy formatami zrozumiałymi dla użytkownika (widoku) a zrozumiałymi dla edytora (wewnętrzna reprezentacja). Podobnie jak warstwa widoku posiada ona odpowiednie interfejsy służące do komunikacji z innymi warstwami. W szczególnych przypadkach (najczęściej trywialnych) warstwa ta jest pomijana na drodze komunikacji warstw widoku i modelu. Warstwa widoku jest odpowiedzialna za prezentację struktury bazy wiedzy użytkownikowi. Moduł ten jest głównie realizowany przez graficzny interfejs użytkownika zaprojektowany przy pomocy biblioteki Qt. Jednym z jego głównych zadań oprócz wyświetlania odpowiednich informacji jest także przechwytywanie zdarzeń i gestów generowanych przez użytkownika i odpowiednie ich interpretowanie (odpowiednia reakcja). Warstwa ta stanowi także warstwę widoku prezentującą dane w formacie akceptowalnym przez jądro systemu oraz jako plik w formacie Rebit. Mapowanie do/z tych formatów jest zawsze poprzedzone prostą weryfikacją składniową na podstawie definicji formatu w technologii XML Schema. Edytor, podobnie jak sam weryfikator także przeprowadza wstępną weryfikację formatu danych pobieranych z bazy wiedzy czy też z pliku. Edytor umożliwia użytkownikowi pełną edycję bazy wiedzy, a więc w szczególności: edycję reguł, typów, atrybutów a także siatek i tabel decyzyjnych. Podczas pracy z aplikacją wszystkie wprowadzane dane są monitorowane w sposób ciągły a wykryte nieprawidłowości i błędy natychmiast są sygnalizowane użytkownikowi. Zaletą takiego monitorowania danych jest to iż użytkownik od razu wie o zaistniałym incydencie i na-
12 tychmiast może podjąć kroki aby go naprawić. Typowe rozwiązania które wymagają ręcznego uruchomienia weryfikacji mają tą szczególną wadę że naprawienie jednej usterki może powodować pojawianie się kolejnych. Edytor posiada mechanizmy pozwalające na tworzenie i edytowanie siatek i tabel decyzyjnych. Jako że dedykowaną formą reprezentacji wiedzy w systemie REBIT jest reprezentacja regułowa, w edytorze zostały zaimplementowane dwa algorytmy translacji wiedzy zapisanej w postaci siatek i tabel decyzyjnych na postać regułową: Algorytm as-is generuje reguły wprost z siatek i tabel decyzyjnych bez żadnej optymalizacji. Często powstały w ten sposób zbiór reguł ma niską jakość. Algorytm ID3, który jest także używany do generowania reguł z siatek i tabel decyzyjnych. Za realizację tego algorytmu odpowiedzialny jest osobny moduł aplikacji, który znajduje się w warstwie kontrolera (prezentera). Zaletą tego algorytmu jest to że podczas działanie tworzy on minimalne drzewo decyzyjne które powoduje że powstały z niego zbiór reguł zawiera minimalną liczbę przesłanek i dlatego nie musi być on poddawany dalszej optymalizacji. Bardzo ważną kwestią dotyczącą edytora jest jego uniwersalność. To pojęcie jest tutaj rozumiane w kontekście możliwości jego użycia na wielu platformach programowo-sprzętowych. Z racji braku możliwości stworzenia aplikacji wykonywalnej na różnego rodzaju platformach, kod źródłowy edytora jest stworzony w taki sposób że bez żadnych modyfikacji można go skompilować na różnych platformach. Efekt ten został osiągnięty dzięki zastosowaniu biblioteki Qt. Obecnie biblioteka jest dostępna dla następujących platform: X11 (min. GNU/Linux, *BSD, Solaris), Windows, Mac OS X oraz dla urządzeń wbudowanych opartych na Linuksie
13 (Qt Extended), Windows CE, Windows Mobile, Symbian, Maemo. Bibliotek dostarcza swego rodzaju interfejsu programistycznego, który umożliwia tworzenie kodu który może być kompilowany na wyżej wymienionych platformach (zobacz rysunek 4). Rysunek 4: Poglądowa architektura biblioteki Qt. Edytor stanowi odrębną aplikację względem całego systemu. Dlatego też bardzo ważnym zagadnieniem jest sposób komunikacji z pozostałymi komponentami. Biorąc pod uwagę powyższe wymaganie niezależności platformowo-sprzętowej jedną z możliwych dróg komunikacji jest komunikacja sieciowa. Edytor komunikuje się z repozytorium bazy wiedzy za pomocą gniazd sieciowych wykorzystując przy tym specjalnie do tego celu stworzony protokół oparty na SOAP. Kwestie bezpieczeństwa komunikacji nie zostały jeszcze rozwiązane. Jest to temat do dalszych prac. Edytor posiada przyjazny, graficzny interfejs użytkownika. Za jego pomocą obsługiwana jest pełna funkcjonalność aplikacji. Przy pomocy interfejsu użytkownik ma możliwość: Pobrania bazy wiedzy z repozytorium wiedzy. Wysłania bazy wiedzy do repozytorium wiedzy. Otwarcia i edycji plików XML zawierających definicję elementów bazy wiedzy.
14 Tworzenia, edycji, usuwania typów danych. Tworzenia, edycji, usuwania atrybutów. Tworzenia, edycji, usuwania zestawów reguł. Tworzenia, edycji, usuwania reguł. Tworzenia, edycji, usuwania tabel decyzyjnych. Tworzenia, edycji, usuwania siatek decyzyjnych. Generowania reguł za pomocą algorytmów ID3 i as is przy użyciu siatek i tabel decyzyjnych. Wizualnego przedstawienia zależności pomiędzy regułami (tylko niektóre dialekty języka Rebit). Walidacji formatu wejściowego na poziomie składniowym za pomocą definicji w formacie XML schema (XSD). Formalnej walidacji wiedzy za pomocą zewnętrznych modułów do tego przeznaczonych. Definiowania zależności pomiędzy regułami. Uruchomienia wnioskowania i śledzenia wyników jego działania. 5. Weryfikacja bazy wiedzy Istotnym elementem projektowania systemów regułowych jest zagwarantowanie poprawności bazy wiedzy pod względem logicznym i składniowym, tak aby silnik wnioskujący mógł bez przeszkód przeprowadzać wnioskowanie na dostarczonych danych. Poprawność składniowa sprawdzana jest przez analizator składniowy, który nie wnikając w semantykę modelu sprawdza bazę wiedzy pod względem struktury i pewnych narzuconych przez gramatykę języka reprezentacji wiedzy ograniczeń. Rolą analizatorów logicznych jest natomiast zagwarantowanie wymaganej jakości oprogramowania. Przez jakość oprogramowania rozumie
15 się zespół cech systemu, wpływających na jego zdolność do spełniania określonych kryteriów. Wymaga się, by system charakteryzowały 12 : 1. Efektywność 2. Niezawodność 3. Funkcjonalność 4. Użyteczność 5. Przenaszalność 6. Pielęgnowalność 7. Bezpieczeństwo W systemach regułowych dla uzyskania wysokiej jakości należy szczególnie zatroszczyć się o 11 : 1. Niezawodność, 2. Bezpieczeństwo, 3. Efektywność. System regułowy musi działać zawsze zgodnie ze specyfikacja przy optymalnym wykorzystaniu dostępnych zasobów. Jednocześnie proces tworzenia systemu powinien być tak przeprowadzony, by już na etapie projektowania i implementacji eliminować możliwie wiele przyczyn potencjalnych nieprawidłowości. Niepoprawne działanie systemu regułowego to wynik wystąpienia anomalii w bazie wiedzy, będących następstwem niezapewnienia następujących własności: 1. Zupełności 2. Determinizmu 3. Minimalnej liczby reguł 12 Ligęza A. Logical Foundations for Rule-Based Systems. Uczelniane wydawnictwa Naukowo- Dydaktyczne AGH w Krakowie, 2005
16 Weryfikacja bazy wiedzy dokonywana przez weryfikator logiczny testuje wymienione własności. Całość weryfikacji można podzielić na dwie fazy: 1. Sprawdzenie poprawności syntaktycznej pliku XML i XSD (REBIT) stanowiące wejście dla weryfikatora przy pomocy narzędzia XML- Starlet. 2. Sprawdzenie poprawności logicznej bazy wiedzy przy pomocy weryfikatora logicznego Weryfikator logiczny zbudowany został na bazie weryfikatora HalVA 13, który z kolei był wtyczką dla regułowego silnika wnioskującego HeaRT 14. Weryfikator logiczny oferuje badanie własności bazy wiedzy wymienionych w kolejnych podrozdziałach. Determinizm W kwestii weryfikacji determinizmu systemu główna strategia to porównywanie par reguł. 15. Znane są podejścia do walidacji determinizmu poprzez konstrukcję odpowiednich testów. Testy takie w dużej części oparte są na konstrukcji tabel prawdy z wykorzystaniem rachunku zdań Ligęza A. Metody analizy wiedzy regułowej XTT 2 w języku Prolog, AGH -- University of Sience and Technology, Nalepa G. J., Bobek S.,Gawędzki M., LigęzaA., HeaRT Hybrid XTT2 Rule Engine Design and Implementation, AGH University of Science and Technology, Ligęza A.. Logical Support for Design of Rule-Based Systems. Reliability and Quality Issues. ECAI 96 Workshop on Validation, Verification and Refinement of Knowledge-Based Systems, Nguyen T. A., Perkins, Laffey T. J., Pecora D. Checking an Expert Systems Knowledge Base for Consistency and Completeness. In IJCAI, SuwaM., Scott C. A., Shortliffe E. H.. Rule-Based Expert Systems, chapter Completeness and consistency in rule-based expert system, Addison-Wesley Publishing Company, Andert C., Frasher E.P.. A verifiable, autonomous satellite control system. Aerospace Applications Conference, 1989
17 Jedną z przyczyn niedeterministyczności systemu jest występowanie sprzeczności w zbiorze reguł. Wykrycie sprzeczności w obrębie danego kontekstu następuje poprzez znalezienie stanu systemu, dla którego dwie (lub więcej) reguły są spełniane, przy czym produkują one sprzeczne konkluzje. W tym celu zbiór reguł należących do tego samego kontekstu jest przeszukiwany i wybierane są reguły, których obszary stanów jakie pokrywają mają niezerowe przecięcie oraz wartości atrybutów w częściach decyzyjnych mają ustawiane sprzeczne wartości. Poniżej przedstawiono przykład działania algorytmu weryfikującego zupełność. Poniższy kod jest wewnętrzna reprezentacją języka REBIT o nazwie HMRL, z której korzysta weryfikator. xrule kontekst1/1: [month in [1,2,12]] ==> [season set winter]. xrule kontekst1/2: [month in [3,2,5]] ==> [season set spring]. Zakładając, że atrybut month przyjmuje wartości z przedziału <1;12> po przeprowadzeniu weryfikacji, wygenerowany zostanie następujący raport: 'In kontekst1 rule: 1 conflicts with rule 2 for state: [[month, [2.0]]]' Zupełność
18 W literaturze 17 można znaleźć różne sposoby ujęcia problemu weryfikacji zupełności. Podstawowym jest podejście polegające na wyczerpującym przeszukiwaniu zbioru reguł i porównywaniu ich parami. Innym sposobem ujęcia tematu jest weryfikacja z wykorzystaniem logiki pierwszego rzędu. W przytaczanych pracach 18 stwierdza się, że dowód tego czy dany zbiór warunków jest tautologią (baza wiedzy jest zupełna), można przeprowadzić w oparciu rezolucję dualną. Obok weryfikacji podejmowane były również próby walidacji zupełności. W tym celu konstruowano testy, które sprawdzały działanie systemu dla ustalonego zbioru przypadków testowych 19. W niektórych sytuacjach lepszym rozwiązaniem jest skupienie wysiłków weryfikacji na eliminacji reguł niedeterministycznych. W celu określenia czy model systemu jest zupełny, wykonywane są następujące czynności: 17 Andert E. P.. Integrated Knowledge-Based System Design and Validation for Solving Problems in Uncertain Environments. International Journal of Man-Machine Studies, 36(2), 1992., Suwa M.,Scott C. A., and Shortliffe E. H.. Rule-Based Expert Systems, chapter Completeness and consistency in rule-based expert system. Addison-Wesley Publishing Company, 1985.Tepandi J.. Verification, testing, and validation of rulebased expert systems. Proceedings of the 11-th IFAC World Congress, 1990.A. Ligęza. Logical Foundations for Rule-Based Systems. Uczelniane wydawnictwa Naukowo- Dydaktyczne AGH w Krakowie, 2005.Nazareth D. L.. Issues in the Verification of Knowledge in Rule-Based Systems. International Journal of Man-Machine Studies, 30(3), Andert E. P.. Integrated Knowledge-Based System Design and Validation for Solving Problems in Uncertain Environments. International Journal of Man-Machine Studies, 36(2), 1992., Suwa M.,Scott C. A., and Shortliffe E. H.. Rule-Based Expert Systems, chapter Completeness and consistency in rule-based expert system. Addison-Wesley Publishing Company, 1985.Tepandi J.. Verification, testing, and validation of rulebased expert systems. Proceedings of the 11-th IFAC World Congress, 1990.A. Ligęza. Logical Foundations for Rule-Based Systems. Uczelniane wydawnictwa Naukowo- Dydaktyczne AGH w Krakowie, 2005.Nazareth D. L.. Issues in the Verification of Knowledge in Rule-Based Systems. International Journal of Man-Machine Studies, 30(3), Tepandi J.. Verification, testing, and validation of rule-based expert systems. Proceedings of the 11-th IFAC World Congress, 1990
19 Na podstawie części warunkowych reguł z danego kontekstu budowany jest zbiór stanów explicite pokrywanych przez reguły, Na podstawie zbioru wyodrębnionego zbioru z punktu 1. Generowane są kombinacje sanów potencjalnie niepokrytych, Na podstawie dziedzin atrybutów wchodzących w skład części decyzyjnych reguł obliczany jest zbiór stanów niepokrytych, poprzez odjęcie od zbiorów dziedzin zbiorów wyliczonych w punktach 1 oraz 2 i wygenerowanie kombinacji na podstawie tych różnic. Dla wszystkich kombinacji z punktów 1, 2 oraz 3 przeprowadzane są testy polegające na próbie uruchomienia reguł dla każdej z nich. W przypadku gdy znajdzie się stan niepokryty przez żadną regułę, jest on dodawany do zbioru określającego stany niepokryte, oraz generowany jest raport o niezupełności badanego zbioru reguł. Poniżej przedstawiono przykład działania algorytmu weryfikującego zupełność. Poniższy kod jest wewnętrzna reprezentacją języka REBIT o nazwie HMRL, z której korzysta weryfikator. xrule kontekst1/1: [month in [1,2,12]] ==> [season set winter]. xrule kontekst1/2: [month in [3,4,5]] ==> [season set spring]. Zakładając, że atrybut month przyjmuje wartości z przedziału <1;12> po przeprowadzeniu weryfikacji, wygenerowany zostanie następujący raport: In kontekst1 uncover state: (month) in ([6.0 to 11.0])
20 Minimalna ilość reguł W literaturze 20 opisany jest sposób eliminacji nadmiarowych reguł z wykorzystaniem dualnej rezolucji 21. Wyróżniono dwa schematy postępowania. Zakładamy, że zbiór reguł reprezentowany jest następująco: Niech prawdziwe będzie: oraz niech będzie dane k reguł, których przesłanki będą różnić się jedynie o warunki Wówczas można zastosować następujący schemat redukcji: Równanie 1 Drugi schemat redukcji polega na zastąpieniu szeregu reguł, regułą ogólniejszą. Jeśli: 20 Ligęza A. Logical Support for Design of Rule-Based Systems. Reliability and Quality Issues. ECAI 96 Workshop on Validation, Verification and Refinement of Knowledge-Based Systems, Ligęza A. Logical Foundations for Rule-Based Systems. Uczelniane wydawnictwa Naukowo- Dydaktyczne AGH w Krakowie, 2005
21 wówczas: Równanie 2 Oba schematy mogą posłużyć jako formalny punkt wyjścia do weryfikacji bazy wiedzy. W celu zidentyfikowania nadmiarowości reguł można zredukować logikę pierwszego rzędu, opisującą reguły, i przedstawić ją za pomocą drzew opartych o logikę Boole a 22. Należy zauważyć że brak redundancji ma ścisły związek z deterministycznym zachowaniem systemu. Mianowicie determinizm zbioru reguł gwarantuje brak nadmiarowości. Dlatego w niektórych sytuacjach lepszym rozwiązaniem jest skupienie wysiłków weryfikacji na eliminacji reguł niedeterministycznych. Pochłanianie Dla wykrycia zjawiska pochłaniania między regułami zastosowany został algorytm, w którym parami porównuje się przesłanki oraz konkluzje reguł. W pierwszej kolejności wybierane są dwie różne reguły z danego kontekstu. Dla obu reguł następuje analiza części warunkowej oraz wynikowej. Warunek drugiej reguły (C2) dla danego atrybutu uznaje się 22 Andert C., Frasher E.P.. A verifiable, autonomous satellite control system. Aerospace Applications Conference., 1989
22 za pochłonięty przez odpowiedni warunek pierwszej reguły (C1), jeśli przy stanie systemu opisanym przez C2 warunek C1 jest spełniony. Jako wynik otrzymywany jest raport wskazujący reguły pochłaniając i pochłaniane. Poniżej przedstawiono przykład działania algorytmu weryfikującego zupełność. Prezentowany kod jest wewnętrzna reprezentacją języka REBIT o nazwie HMRL z której korzysta weryfikator. xrule kontekst1/1: [month in [1,2,12]] ==> [season set winter]. xrule kontekst1/2: [month in [2]] ==> [season set spring]. Po uruchomieniu testu na pochłanianie reguł, zostanie wygenerowany następujący komunikat: 2 'In kontekst1 rule: 1 subsumes rule 2' Redukcja Wyszukiwane są dwie reguły, których część decyzyjna jest taka sama. Dla wskazanych reguł następuje złączenie przesłanek. Polega ono na utworzeniu nowej przesłanki w postaci alternatywy warunków dla danego atrybutu według równania 2. Jako wynik działania algorytm zwraca numery reguł, które można połączyć ze sobą oraz propozycję nowej, uogólnionej reguły. Proponowana reguła może zastąpić dwie połączone reguły. Poniżej przedstawiono przykład działania algorytmu weryfikującego zupełność. Prezentowany kod jest wewnętrzna reprezentacją języka REBIT o nazwie HMRL, z której korzysta weryfikator.
23 xrule kontekst1/1: [month in [1,2,12]] ==> [season set winter]. xrule kontekst1/2: [month in [2]] ==> [season set spring]. Po uruchomieniu testu na pochłanianie reguł, zostanie wygenerowany następujący komunikat: 1 'In kontekst1 rule: 1 can be joined with rule 2' 2 'In kontekst1 rule: 2 can be joined with rule 1' 6. Podsumowanie Celem niniejszej pracy było przedstawienie zestawu narzędzi do edycji i weryfikacji baz wiedzy dla systemów ekspertowych. Gwarancja poprawności logicznej projektowanego systemu, jak również łatwość jego tworzenia stanowią bardzo istotne aspekty podczas wytwarzania systemów ekspertowych. Rozwiązania przedstawione w niniejszej pracy mogą być dobrym punktem wyjścia do szerszych prac w tym obszarze. W ramach rozbudowy systemu do edycji i weryfikacji baz wiedzy dla systemów regułowych, należy wymienić dwie kwestie: stworzenie wizualnego edytora dla edycji wiedzy oraz ulepszenie algorytmów badających zupełność wiedzy. Istniejące algorytmy, w przypadku rozbudowanych reguł powodują eksplozję kombinatoryczną stanów jakie reguły maja pokrywać. W konsekwencji czas wykonywania się algorytmu rośnie w przypadku rozbudowanych reguł nieliniowo.
24 Bibliografia Andert C., Frasher E.P.. A verifiable, autonomous satellite control system. Aerospace Applications Conference, 1989 Andert E. P.. Integrated Knowledge-Based System Design and Validation for Solving Problems in Uncertain Environments. International Journal of Man-Machine Studies, 36(2), Browne P, JBoss Drools Business Rules, Packt Publishing, 2009 Harmelen F., Lifschitz V., and Bruce Porter, Handbook of Knowledge Representation. Elsevier Science, Ligęza A. Logical Foundations for Rule-Based Systems. Uczelniane wydawnictwa Naukowo- Dydaktyczne AGH w Krakowie, 2005 Ligęza A. Metody analizy wiedzy regułowej XTT 2 w języku Prolog, AGH -- University of Sience and Technology,2009 Ligęza A.. Logical Support for Design of Rule-Based Systems. Reliability and Quality Issues. ECAI 96 Workshop on Validation, Verification and Refinement of Knowledge-Based Systems, Nalepa G. J., Bobek S.,Gawędzki M., LigęzaA., HeaRT Hybrid XTT2 Rule Engine Design and Implementation, AGH University of Science and Technology, 2009 Nalepa G.J., Ligęza A., HeKatE Methodology, Hybrid Engineering Of Intelligent Systems, International Journal of Applied Mathematics and Computer Science 2009, nr 3 Nazareth D. L., Issues in the Verification of Knowledge in Rule-Based System, International Journal of Man-Machine Studies,1989, nr 3 Nguyen T. A., Perkins, Laffey T. J., Pecora D. Checking an Expert Systems Knowledge Base for Consistency and Completeness. In IJCAI, Suwa M., Scott C. A., Shortliffe E. H.. Rule-Based Expert Systems, chapter Completeness and consistency in rule-based expert system, Addison-Wesley Publishing Company, Tepandi J.. Verification, testing, and validation of rule-based expert systems. Proceedings of the 11-th IFAC World Congress, Źródła internetowe geist.agh.edu.pl hekate.ia.agh.edu.pl
25 clipsrules.sourceforge.net ai.ia.agh.edu.pl/wiki/hekate:hmr
Tom 6 Opis oprogramowania
Część 4 Narzędzie do wyliczania wielkości oraz wartości parametrów stanu Diagnostyka stanu nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 30 maja 2012 Historia dokumentu Nazwa
Bardziej szczegółowoTemat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
Bardziej szczegółowoUniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki. Paweł Parys. Nr albumu: 209216. Aukcjomat
Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki Paweł Parys Nr albumu: 209216 Aukcjomat Praca licencjacka na kierunku INFORMATYKA w zakresie INFORMATYKA Praca wykonana pod kierunkiem
Bardziej szczegółowoMINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ EMAIL DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP
MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ EMAIL DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP WERSJA 1 z 15 Spis treści 1. Kanał email dla podmiotów zewnętrznych...
Bardziej szczegółowoTom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania
Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli Diagnostyka stanu nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 21 maja 2012 Historia dokumentu
Bardziej szczegółowoMiędzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4
Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Agnieszka Holka Nr albumu: 187396 Praca magisterska na kierunku Informatyka
Bardziej szczegółowoSystem zarządzający grami programistycznymi Meridius
System zarządzający grami programistycznymi Meridius Instytut Informatyki, Uniwersytet Wrocławski 20 września 2011 Promotor: prof. Krzysztof Loryś Gry komputerowe a programistyczne Gry komputerowe Z punktu
Bardziej szczegółowoWeb frameworks do budowy aplikacji zgodnych z J2EE
Web frameworks do budowy aplikacji zgodnych z J2EE Jacek Panachida promotor: dr Dariusz Król Przypomnienie Celem pracy jest porównanie wybranych szkieletów programistycznych o otwartym kodzie źródłowym
Bardziej szczegółowoZdalne monitorowanie i zarządzanie urządzeniami sieciowymi
Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Infomatyki Stosowanej Piotr Benetkiewicz Nr albumu: 168455 Praca magisterska na kierunku Informatyka
Bardziej szczegółowoTeraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.
Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1. Grażyna Koba MIGRA 2019 Spis treści (propozycja na 2*32 = 64 godziny lekcyjne) Moduł A. Wokół komputera i sieci komputerowych
Bardziej szczegółowoMonitoring procesów z wykorzystaniem systemu ADONIS
Monitoring procesów z wykorzystaniem systemu ADONIS BOC Information Technologies Consulting Sp. z o.o. e-mail: boc@boc-pl.com Tel.: (+48 22) 628 00 15, 696 69 26 Fax: (+48 22) 621 66 88 BOC Management
Bardziej szczegółowoProjekt przejściowy 2015/2016 BARTOSZ JABŁOŃSKI, TOMASZ JANICZEK
Projekt przejściowy 2015/2016 BARTOSZ JABŁOŃSKI, TOMASZ JANICZEK Kto? dr inż. Tomasz Janiczek tomasz.janiczek@pwr.edu.pl s. P1.2, C-16 dr inż. Bartosz Jabłoński bartosz.jablonski@pwr.edu.pl s. P0.2, C-16
Bardziej szczegółowoPLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 1. Wprowadzenie do aplikacji internetowych
Bardziej szczegółowoVirtual Grid Resource Management System with Virtualization Technology
Virtual Grid Resource Management System with Virtualization Technology System zarządzania zasobami wirtualnego Gridu z wykorzystaniem technik wirtualizacji Joanna Kosińska Jacek Kosiński Krzysztof Zieliński
Bardziej szczegółowoTom 6 Opis oprogramowania
Część 9 Narzędzie do wyliczania wskaźników statystycznych Diagnostyka Stanu Nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 31 maja 2012 Historia dokumentu Nazwa dokumentu Nazwa
Bardziej szczegółowoSpring Framework - wprowadzenie i zagadnienia zaawansowane
Program szkolenia: Spring Framework - wprowadzenie i zagadnienia zaawansowane Informacje ogólne Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Spring Framework - wprowadzenie i zagadnienia
Bardziej szczegółowoProjekt przejściowy 2016/2017 BARTOSZ JABŁOŃSKI
Projekt przejściowy 2016/2017 BARTOSZ JABŁOŃSKI Kto, co, jak i kiedy Kto? dr inż. Bartosz Jabłoński bartosz.jablonski@pwr.edu.pl s. P0.2, C-16 http://jablonski.wroclaw.pl O co chodzi? Celem przedmiotu
Bardziej szczegółowoDokument Detaliczny Projektu
Dokument Detaliczny Projektu Dla Biblioteki miejskiej Wersja 1.0 Streszczenie Niniejszy dokument detaliczny projektu(ddp) przedstawia szczegóły pracy zespołu projektowego, nad stworzeniem aplikacji bazodanowej
Bardziej szczegółowoPLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
Bardziej szczegółowoDodatkowo, w przypadku modułu dotyczącego integracji z systemami partnerów, Wykonawca będzie przeprowadzał testy integracyjne.
Załącznik nr 1a do Zapytania ofertowego nr POIG.08.02-01/2014 dotyczącego budowy oprogramowania B2B oraz dostawcy sprzętu informatycznego do projektu pn. Budowa systemu B2B integrującego zarządzanie procesami
Bardziej szczegółowoREFERAT PRACY DYPLOMOWEJ
REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja środowiska do automatyzacji przeprowadzania testów aplikacji internetowych w oparciu o metodykę Behavior Driven Development. Autor: Stepowany
Bardziej szczegółowoĆwiczenie numer 4 JESS PRZYKŁADOWY SYSTEM EKSPERTOWY.
Ćwiczenie numer 4 JESS PRZYKŁADOWY SYSTEM EKSPERTOWY. 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z przykładowym systemem ekspertowym napisanym w JESS. Studenci poznają strukturę systemu ekspertowego,
Bardziej szczegółowoLaboratorium Technologii Informacyjnych. Projektowanie Baz Danych
Laboratorium Technologii Informacyjnych Projektowanie Baz Danych Komputerowe bazy danych są obecne podstawowym narzędziem służącym przechowywaniu, przetwarzaniu i analizie danych. Gromadzone są dane w
Bardziej szczegółowoAutomatyczne decyzje kredytowe, siła szybkiego reagowania i optymalizacji kosztów. Roman Tyszkowski ING Bank Śląski S.A. roman.tyszkowski@ingbank.
Automatyczne decyzje kredytowe, siła szybkiego reagowania i optymalizacji kosztów. Roman Tyszkowski ING Bank Śląski S.A. roman.tyszkowski@ingbank.pl Obsługa wniosków kredytowych Potrzeba elastyczności
Bardziej szczegółowoBudowa aplikacji ASP.NET z wykorzystaniem wzorca MVC
Akademia MetaPack Uniwersytet Zielonogórski Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Krzysztof Blacha Microsoft Certified Professional Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Agenda:
Bardziej szczegółowoXQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery
http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod
Bardziej szczegółowoSpecyfikacja implementacyjna aplikacji serwerowej
Projekt: System wspomagania osób studiujących Strona: 1 / 7 Opracowali: Zatwierdzili: Spis treści Damian Głuchowski Krzysztof Krajewski Krzysztof Krajewski dr inż. Sławomir Skoneczny Spis treści... 1 1.
Bardziej szczegółowoUkłady VLSI Bramki 1.0
Spis treści: 1. Wstęp... 2 2. Opis edytora schematów... 2 2.1 Dodawanie bramek do schematu:... 3 2.2 Łączenie bramek... 3 2.3 Usuwanie bramek... 3 2.4 Usuwanie pojedynczych połączeń... 4 2.5 Dodawanie
Bardziej szczegółowoPROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.
Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej WSTĘP DO INFORMATYKI Adrian Horzyk PROLOG www.agh.edu.pl Pewnego dnia przyszedł na świat komputer Komputery
Bardziej szczegółowoTechnologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski
Technologie dla aplikacji klasy enterprise Wprowadzenie Marek Wojciechowski Co oznacza enterprise-ready? Bezpieczeństwo Skalowalność Stabilność Kompatybilność wstecz Wsparcie Dokumentacja Łatwość integracji
Bardziej szczegółowoSystemy ekspertowe i ich zastosowania. Katarzyna Karp Marek Grabowski
Systemy ekspertowe i ich zastosowania Katarzyna Karp Marek Grabowski Plan prezentacji Wstęp Własności systemów ekspertowych Rodzaje baz wiedzy Metody reprezentacji wiedzy Metody wnioskowania Języki do
Bardziej szczegółowoPodstawy programowania
Podstawy programowania Część pierwsza Od języka symbolicznego do języka wysokiego poziomu Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót
Bardziej szczegółowoDotacje na innowacje. Inwestujemy w waszą przyszłość.
PROJEKT TECHNICZNY Implementacja Systemu B2B w firmie Lancelot i w przedsiębiorstwach partnerskich Przygotowane dla: Przygotowane przez: Lancelot Marek Cieśla Grzegorz Witkowski Constant Improvement Szkolenia
Bardziej szczegółowoTworzenie aplikacji Web Alicja Zwiewka. Page 1
Tworzenie aplikacji Web Alicja Zwiewka Page 1 Co to są web-aplikacje? Aplikacja internetowa (ang. web application) program komputerowy, który pracuje na serwerze i komunikuje się poprzez sieć komputerową
Bardziej szczegółowoREFERAT O PRACY DYPLOMOWEJ
REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja elektronicznego dziennika ocen ucznia Autor: Grzegorz Dudek wykonanego w technologii ASP.NET We współczesnym modelu edukacji, coraz powszechniejsze
Bardziej szczegółowoDokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy
Dokumentacja techniczna Młodzieżowe Pośrednictwo Pracy Spis Treści 1. Widok ogólny architektury MPP... 3 2. Warstwy systemu... 5 3. Struktura systemu/komponentów... 7 3.1 Aplikacje... 7 3.2 Biblioteki...
Bardziej szczegółowoProjektowanie aplikacji internetowych Tworzenie własnego portalu Internetowego przy użyciu oprogramowania SharePoint Services
Instrukcja numer W01 Projektowanie aplikacji internetowych Tworzenie własnego portalu Internetowego przy użyciu oprogramowania SharePoint Services SharePoint Zasada działania Zasada działania SharePoint
Bardziej szczegółowoKomunikacja i wymiana danych
Budowa i oprogramowanie komputerowych systemów sterowania Wykład 10 Komunikacja i wymiana danych Metody wymiany danych Lokalne Pliki txt, csv, xls, xml Biblioteki LIB / DLL DDE, FastDDE OLE, COM, ActiveX
Bardziej szczegółowoNIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI. asix. Aktualizacja pakietu asix 4 do wersji 5 lub 6. Pomoc techniczna
NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI asix Aktualizacja pakietu asix 4 do wersji 5 lub 6 Pomoc techniczna Dok. Nr PLP0016 Wersja:08-12-2010 ASKOM i asix to zastrzeżony znak firmy ASKOM Sp. z o. o.,
Bardziej szczegółowoProjektowanie baz danych za pomocą narzędzi CASE
Projektowanie baz danych za pomocą narzędzi CASE Metody tworzenia systemów informatycznych w tym, także rozbudowanych baz danych są komputerowo wspomagane przez narzędzia CASE (ang. Computer Aided Software
Bardziej szczegółowoDokumentacja projektu QUAIKE Architektura oprogramowania
Licencjacka Pracownia Oprogramowania Instytut Informatyki Uniwersytetu Wrocławskiego Jakub Kowalski, Andrzej Pilarczyk, Marek Kembrowski, Bartłomiej Gałkowski Dokumentacja projektu QUAIKE Architektura
Bardziej szczegółowoHP Service Anywhere Uproszczenie zarządzania usługami IT
HP Service Anywhere Uproszczenie zarządzania usługami IT Robert Nowak Architekt rozwiązań HP Software Dlaczego Software as a Service? Najważniejsze powody za SaaS UZUPEŁNIENIE IT 2 Brak zasobów IT Ograniczone
Bardziej szczegółowoSCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa
Autorzy scenariusza: SCENARIUSZ LEKCJI OPRACOWANY W RAMACH PROJEKTU: INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA. PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH
Bardziej szczegółowoDSL w środowisku Eclipse. Grzegorz Białek Architekt techniczny, Sygnity S.A.
DSL w środowisku Eclipse Grzegorz Białek Architekt techniczny, Sygnity S.A. Agenda Wstęp do tematu (10 min) Sens tworzenia języków biznesowych UML jako język biznesu? Zintegrowane środowisko deweloperskie
Bardziej szczegółowoPraktyka testowania dla początkujących testerów
Praktyka testowania dla początkujących testerów Warsztaty stanowią 100% praktykę testowania i skupiają się zwłaszcza na tych aspektach, które przydatne są w codziennej pracy testera. Przeznaczone są dla
Bardziej szczegółowoNajwyżej ocenione raporty dla Mr Buggy 4
Najwyżej ocenione raporty dla Mr Buggy 4 Uwagi Komisji: 1. Żaden z raportów nie otrzymał maksymalnej liczby punktów. 2. Poniżej prezentowane są oryginalne wersje raportów z usuniętymi danymi mogącymi identyfikować
Bardziej szczegółowoOfficeObjects e-forms
OfficeObjects e-forms Rodan Development Sp. z o.o. 02-820 Warszawa, ul. Wyczółki 89, tel.: (+48-22) 643 92 08, fax: (+48-22) 643 92 10, http://www.rodan.pl Spis treści Wstęp... 3 Łatwość tworzenia i publikacji
Bardziej szczegółowoKompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i
Program szkolenia: Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i JFace Informacje ogólne Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Kompleksowe tworzenie aplikacji
Bardziej szczegółowoWykład 1 Inżynieria Oprogramowania
Wykład 1 Inżynieria Oprogramowania Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowaniaiteracyjno-rozwojowy cykl oprogramowania Autor: Zofia Kruczkiewicz System Informacyjny =Techniczny SI
Bardziej szczegółowoSystem zarządzania i monitoringu
Załącznik nr 12 do Opisu przedmiotu zamówienia System zarządzania i monitoringu System zarządzania i monitoringu powinien być zbudowany z odrębnych, dedykowanych modułów oprogramowania, monitorujących:
Bardziej szczegółowoKIERUNKOWE EFEKTY KSZTAŁCENIA
WYDZIAŁ INFORMATYKI I ZARZĄDZANIA Kierunek studiów: INFORMATYKA Stopień studiów: STUDIA II STOPNIA Obszar Wiedzy/Kształcenia: OBSZAR NAUK TECHNICZNYCH Obszar nauki: DZIEDZINA NAUK TECHNICZNYCH Dyscyplina
Bardziej szczegółowoDiagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym
Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym konceptualnym modelem danych jest tzw. model związków encji (ERM
Bardziej szczegółowoThe Binder Consulting
The Binder Consulting Contents Indywidualne szkolenia specjalistyczne...3 Konsultacje dla tworzenia rozwiazan mobilnych... 3 Dedykowane rozwiazania informatyczne... 3 Konsultacje i wdrożenie mechanizmów
Bardziej szczegółowoUniwersytet Mikołaja Kopernika w Toruniu. Profilowanie ruchu sieciowego w systemie GNU/Linux
Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Michał Ferliński Nr albumu: 187386 Praca magisterska na kierunku Informatyka
Bardziej szczegółowoAnaliza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas
Analiza i projektowanie obiektowe 2016/2017 Wykład 10: Tworzenie projektowego diagramu klas Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Projektowy
Bardziej szczegółowo1 Moduł Konwertera. 1.1 Konfigurowanie Modułu Konwertera
1 Moduł Konwertera Moduł Konwertera zapewnia obsługę fizycznego urządzenia Konwertera US- B-RS485. Jest elementem pośredniczącym w transmisji danych i jego obecność jest konieczna, jeżeli w Systemie mają
Bardziej szczegółowoPraca dyplomowa. Program do monitorowania i diagnostyki działania sieci CAN. Temat pracy: Temat Gdańsk Autor: Łukasz Olejarz
Temat Gdańsk 30.06.2006 1 Praca dyplomowa Temat pracy: Program do monitorowania i diagnostyki działania sieci CAN. Autor: Łukasz Olejarz Opiekun: dr inż. M. Porzeziński Recenzent: dr inż. J. Zawalich Gdańsk
Bardziej szczegółowoKurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE
Kurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE Cena szkolenia Cena szkolenia wynosi 100 zł za 60 min. Ilość godzin szkolenia jest zależna od postępów w nauce uczestnika kursu oraz ilości czasu, którą będzie
Bardziej szczegółowoAnaliza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32
Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:
Bardziej szczegółowoEFEKTY KSZTAŁCENIA DLA KIERUNKU STUDIÓW
EFEKTY KSZTAŁCENIA DLA KIERUNKU STUDIÓW WYDZIAŁ KIERUNEK z obszaru nauk POZIOM KSZTAŁCENIA FORMA STUDIÓW PROFIL JĘZYK STUDIÓW Podstawowych Problemów Techniki Informatyka technicznych 6 poziom, studia inżynierskie
Bardziej szczegółowoRelease Notes Process Data Flow ("PDF" )
Release Notes Process Data Flow ("PDF" ) Zespół Joint Process Experts Group w składzie: Zuzanna Polberg Joanna Zych Paweł Maćkowski Mikołaj Moszczyński 19 czerwca 2006 1 Spis treści 1 Wprowadzenie 3 1.1
Bardziej szczegółowoASP.NET MVC. Grzegorz Caban grzegorz.caban@gmail.com. 20 stycznia 2009
ASP.NET MVC Grzegorz Caban grzegorz.caban@gmail.com 20 stycznia 2009 Agenda Przyczyna powstania Co to jest ASP.NET MVC Architektura Hello World w ASP.NET MVC ASP.NET MVC vs ASP.NET WebForm Przyszłość framework'a
Bardziej szczegółowoKonwerter Plan testów. Jakub Rauch Tomasz Gołębiowski Adam Busch Bartosz Franaszek 1 czerwca 2008
Konwerter Plan testów Jakub Rauch Tomasz Gołębiowski Adam Busch Bartosz Franaszek 1 czerwca 2008 1 Spis treści 1 Wprowadzenie 3 1.1 Cel........................................ 3 1.2 Zamierzeni odbiorcy
Bardziej szczegółowoPDM wbudowany w Solid Edge
PDM wbudowany w Solid Edge Firma GM System Integracja Systemów Inżynierskich Sp. z o.o. została założona w 2001 roku. Zajmujemy się dostarczaniem systemów CAD/CAM/CAE/PDM. Jesteśmy jednym z największych
Bardziej szczegółowoGrzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki 2011. Promotor dr inż. Paweł Figat
Grzegorz Ruciński Warszawska Wyższa Szkoła Informatyki 2011 Promotor dr inż. Paweł Figat Cel i hipoteza pracy Wprowadzenie do tematu Przedstawienie porównywanych rozwiązań Przedstawienie zalet i wad porównywanych
Bardziej szczegółowoAUREA BPM HP Software. TECNA Sp. z o.o. Strona 1 z 7
AUREA BPM HP Software TECNA Sp. z o.o. Strona 1 z 7 HP APPLICATION LIFECYCLE MANAGEMENT Oprogramowanie Application Lifecycle Management (ALM, Zarządzanie Cyklem życia aplikacji) wspomaga utrzymanie kontroli
Bardziej szczegółowoPracownia internetowa w każdej szkole (edycja Jesień 2007)
Instrukcja numer D1/02_05 Pracownia internetowa w każdej szkole (edycja Jesień 2007) Opiekun pracowni internetowej cz. 1 (D1) Tworzenie własnego portalu Internetowego przy użyciu oprogramowania SharePoint
Bardziej szczegółowoRAPORT KOŃCOWY PROJEKTU
RAPORT KOŃCOWY PROJEKTU Temat: Wieloplatformowy program do obsługi faktur Adresat: dr inż. Jacek Kołodziej Wykonawcy: Daniel Krysiak Przemysław Szpunar Grzegorz Śmierzchalski Spis Treści 1. Charakterystyka
Bardziej szczegółowoEXSO-CORE - specyfikacja
EXSO-CORE - specyfikacja System bazowy dla aplikacji EXSO. Elementy tego systemu występują we wszystkich programach EXSO. Może on ponadto stanowić podstawę do opracowania nowych, dedykowanych systemów.
Bardziej szczegółowoAKADEMIA GÓRNICZO-HUTNICZA Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki
AKADEMIA GÓRNICZO-HUTNICZA Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki KATEDRA INFORMATYKI Mobicents VoIP Projekt wykonany w ramach SIUS i IOSR Biolik Wojciech Błazej Kardyś Informatyka,
Bardziej szczegółowoTester oprogramowania 2014/15 Tematy prac dyplomowych
Tester oprogramowania 2014/15 Tematy prac dyplomowych 1. Projekt i wykonanie automatycznych testów funkcjonalnych wg filozofii BDD za pomocą dowolnego narzędzia Jak w praktyce stosować Behaviour Driven
Bardziej szczegółowoJęzyk opisu sprzętu VHDL
Język opisu sprzętu VHDL dr inż. Adam Klimowicz Seminarium dydaktyczne Katedra Mediów Cyfrowych i Grafiki Komputerowej Informacje ogólne Język opisu sprzętu VHDL Przedmiot obieralny dla studentów studiów
Bardziej szczegółowo<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>
Wersja [Uwaga: Niniejszy wzór dostarczony jest w celu użytkowania z Unified Process for EDUcation. Tekst zawarty w nawiasach kwadratowych i napisany błękitną kursywą
Bardziej szczegółowoTechnologie informacyjne - wykład 12 -
Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski
Bardziej szczegółowoKod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop Spis treści. Wstęp 15.
Kod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop. 2017 Spis treści Wstęp 15 Podziękowania 23 Listy kontrolne 25 Tabele 27 Rysunki 29 Część I Proces budowy oprogramowania
Bardziej szczegółowoOtwarte protokoły wymiany informacji w systemach ITS
Otwarte protokoły wymiany informacji w systemach ITS Grzegorz Kawka PHU TELSAT Sesja nr 4: Interoperacyjność systemów ITS cz. I Podstawą działania systemów ITS jest wymiana informacji pomiędzy poszczególnymi
Bardziej szczegółowoDokument Detaliczny Projektu
Dokument Detaliczny Projektu Dla Biblioteki miejskiej Wersja 1.0 Streszczenie Niniejszy dokument detaliczny projektu(ddp) przedstawia szczegóły pracy zespołu projektowego, nad stworzeniem aplikacji bazodanowej
Bardziej szczegółowoTom 6 Opis oprogramowania
Diagnostyka Stanu Nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 21 maja 2012 Historia dokumentu Nazwa dokumentu Nazwa pliku Tom 6 Opis oprogramowania, Część 2 Generator danych
Bardziej szczegółowoArchitektura systemu e-schola
ą ą ą Architektura systemu e-schola System e-schola zbudowany jest w postaci interaktywnej witryny intranetowej, działającej jako aplikacja serwerowa typu WEB(oparta o serwer WWW) Architektura systemu
Bardziej szczegółowoDokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor
Koszalin, 15.06.2012 r. Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor Zespół projektowy: Daniel Czyczyn-Egird Wojciech Gołuchowski Michał Durkowski Kamil Gawroński Prowadzący: Dr inż.
Bardziej szczegółowoECDL Podstawy programowania Sylabus - wersja 1.0
ECDL Podstawy programowania Sylabus - wersja 1.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu Podstawy programowania. Sylabus opisuje, poprzez efekty uczenia się, zakres wiedzy
Bardziej szczegółowoSystemy ekspertowe : program PCShell
Instytut Informatyki Uniwersytetu Śląskiego lab 1 Opis sytemu ekspertowego Metody wnioskowania System PcShell Projekt System ekspertowy - system ekspertowy to system komputerowy zawierający w sobie wyspecjalizowaną
Bardziej szczegółowoUniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej
Uniwersytet Mikołaja Kopernika Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Marcin HENRYKOWSKI Nr albumu: 158069 Praca magisterska na kierunku Informatyka Archiwizacja
Bardziej szczegółowoPROGRAM PRAKTYKI ZAWODOWEJ. Technikum Zawód: technik informatyk
PROGRAM PRAKTYKI ZAWODOWEJ Technikum Zawód: technik informatyk 351203 Lp. Temat 1 Zajęcia wprowadzające. Zapoznanie z zakładem, regulaminem pracy, przepisami BHP oraz instruktaż bhp. 2 Montaż i eksploatacja
Bardziej szczegółowoPrzedmiotem zamówienia jest dostawa:
Załącznik nr 2 do SIWZ Przedmiotem zamówienia jest dostawa: OPIS PRZEDMIOTU ZAMÓWIENIA 1. Pakiet oprogramowania biurowego dla komputerów z systemem Windows - 3 licencje. Lp. Parametr Charakterystyka 1
Bardziej szczegółowoPlan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym
1 Wprowadzenie do środowiska Oracle APEX, obszary robocze, użytkownicy Wprowadzenie Plan Administracja obszarem roboczym 2 Wprowadzenie Co to jest APEX? Co to jest APEX? Architektura Środowisko Oracle
Bardziej szczegółowoModuł mapowania danych
Moduł mapowania danych Styczeń 2011 Wszelkie prawa zastrzeżone. Dokument może być reprodukowany lub przechowywany bez ograniczeń tylko w całości. W przeciwnym przypadku, żadna część niniejszego dokumentu,
Bardziej szczegółowoSystemy ekspertowe. Krzysztof Patan
Systemy ekspertowe Krzysztof Patan Wprowadzenie System ekspertowy Program komputerowy, który wykonuje złożone zadania o dużych wymaganiach intelektualnych i robi to tak dobrze jak człowiek będący ekspertem
Bardziej szczegółowoWstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008
Adam 1 grudnia 2008 Wstęp Opis Historia Apache kontener serwletów rozwijany w ramach projektu Apache jeden z bardziej popularnych kontenerów Web open source, Apache Software License rozwijany przez ASF
Bardziej szczegółowoInPro BMS InPro BMS SIEMENS
InPro Siemens OPC InPro BMS Produkt InPro BMS jest w sprzedaży od 2000 roku. W ostatnich kilku latach staliśmy się liderem wśród dostawców informatycznych rozwiązań dla systemów bezpieczeństwa. Oferowane
Bardziej szczegółowoMetody Kompilacji Wykład 1 Wstęp
Metody Kompilacji Wykład 1 Wstęp Literatura: Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman: Compilers: Princiles, Techniques, and Tools. Addison-Wesley 1986, ISBN 0-201-10088-6 Literatura: Alfred V. Aho,
Bardziej szczegółowoJava Developers Day. Silniki reguł biznesowych
Java Developers Day Silniki reguł biznesowych Mariusz Kaczor mariusz.kaczor@altkom.pl Łukasz Szandecki lukasz.szandecki@altkom.pl slide 1 Agenda Mamy problem.. Programowanie deklaratywne Drools przykład
Bardziej szczegółowoTomasz Grześ. Systemy zarządzania treścią
Tomasz Grześ Systemy zarządzania treścią Co to jest CMS? CMS (ang. Content Management System System Zarządzania Treścią) CMS definicje TREŚĆ Dowolny rodzaj informacji cyfrowej. Może to być np. tekst, obraz,
Bardziej szczegółowoDokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV
Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium
Bardziej szczegółowoIO - Plan testów. M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak. 5 czerwca 2006
IO - Plan testów M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak 5 czerwca 2006 1 SPIS TREŚCI 2 Spis treści 1 Historia zmian 3 2 Zakres testów 3 2.1 Integration testing - Testy spójnosci.............. 3 2.2
Bardziej szczegółowoWykład XII. optymalizacja w relacyjnych bazach danych
Optymalizacja wyznaczenie spośród dopuszczalnych rozwiązań danego problemu, rozwiązania najlepszego ze względu na przyjęte kryterium jakości ( np. koszt, zysk, niezawodność ) optymalizacja w relacyjnych
Bardziej szczegółowoAutomatyczne generowanie kodu. Marek.Berkan@e-point.pl. 4Developers, 26 marca 2010
4Developers, 26 marca 2010 Zakres wykładu O czym zamierzam opowiedzieć: Przyspieszenie tworzenia aplikacji Ułatwienie utrzymania aplikacji Budowanie kontraktów pomiędzy developerami a innymi uczestnikami
Bardziej szczegółowoProjektowanie oprogramowania
Wrocław, 27.09.2010 1. Warunki wstępne Projektowanie oprogramowania Warunkiem uczestnictwa w zajęciach jest zaliczenie przedmiotu: Podstawy inżynierii oprogramowania (ćwiczenia) Zajęcia składają się z
Bardziej szczegółowo