Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
Nowa wersja
Both sides next revision
|
pl:miw:miw08_rbs_back [2008/07/11 12:34] miw |
pl:miw:miw08_rbs_back [2008/07/11 14:16] gjn |
====== Opis ====== | ====== Opis ====== |
| __**Projekt zakończony**__ |
| |
Dawid, Zwoźniak, <david_z@poczta.fm> | Dawid, Zwoźniak, <david_z@poczta.fm> |
| |
RBS_Back | RBS_Back |
Przegląd metodologii reprezentacji reguł dla wnioskowania w tył (wstecz). Należy szczególnie uwzględnić reprezentacje graficzne oraz zwrócić uwagę na: przejrzystość reguł, gęstość reprezentowanej informacji. | Przegląd metodologii reprezentacji reguł dla wnioskowania w tył (wstecz). Należy szczególnie uwzględnić reprezentacje graficzne oraz zwrócić uwagę na: przejrzystość reguł, gęstość reprezentowanej informacji. |
| |
| |
====== Spotkania ====== | |
===== 080304 ===== | |
przydzielenie projektu | |
| |
===== 080311 ===== | |
planowane konsultacje | |
| |
| |
===== 080318 ===== | |
? | |
| |
| |
| |
| |
===== 080527 ===== | |
| |
| |
? | |
| |
===== 080626 ===== | |
? | |
| |
| |
* Tools for Software Visualization – SVT (Semantic Visualization Tools) and Vmax | * Tools for Software Visualization – SVT (Semantic Visualization Tools) and Vmax |
* VPP (Visual Programming in Prolog) | * VPP (Visual Programming in Prolog) |
| |
| |
| |
| |
| |
| |
| == PTP (Prolog Trace Package) == |
| |
| PTP został stworzony przez Eisenstadt (1984) w celu zapewnienia większej ilości detali i bardziej czytelnego przeglądanie uruchamiania programów Prologu, niż w Spy. |
| PTP obsługuje 19 różnych stanów uruchamiania (Spy tylko 4). Również wyróżnia osiągnięcie celu i klauzuli w programie, które były wykorzystywane do osiągnięcia tego celu, poprzez używanie różnych symboli dla wchodzenia i wychodzenia z klauzuli i osiągniętego celu. |
| |
| |
| PTP - reprezentacja przykładowego programu: |
| ''1: ? p(_1) |
| |
| 2: > p(_1) [1] |
| |
| 3: ? q(_1) |
| |
| 4: +*q(a) [1] |
| |
| 5: ? r(a) |
| |
| 6: -~r(a) |
| |
| 7: ^ q(a) |
| |
| 8: < q(a) [1] |
| |
| 9: +*q(b) [2] |
| |
| 10: ? r(b) |
| |
| 11: +*r(b) [1] |
| |
| 12: + p(b) [1]'' |
| |
| |
| == TPM (Transparent Prolog Machine) == |
| |
| TPM wykorzystuje AND/OR model drzewa dla wykonywania programu Prologu. Został stworzony przez Eisenstadt and Brayshaw, 1988; Brayshaw and Eisenstadt, 1991. |
| Opis TPM jest przedstawiony jako osobne narzędzie do wizualizacji. |
| |
| == TTT (Textual Tree Tracer)== |
| |
| TTT ma zasadniczo podobny model jak TPM, jednak używa tekstowej reprezentacji drzewa prez co dostarcza pojedynczego widoku uruchamiania programu. |
| Został stworzony przez Taylor et al, 1991. |
| |
| W przeciwieństwie do liniowych tekstowych programów śledzących wykonywanie programu takich jak Spy i PTP, bieżąca informacja określająca związek z poprzednio osiągniętym celem jest wyświetlana z lub nad poprzednią informacją. To utrzymuje wszystkie powiązane informacje poszczególnych celów w jednym miejscu. |
| |
| Siedem symboli relacji klauzul jest zaimplementowanych. Zmienne powiązane z historią celu są wyświetlane bezpośrednio pod nim. |
| |
| |
| TTT- reprezentacja przykładowego programu: |
| |
| ''>>>1: p(What) 1S |
| |
| |1 What = b |
| |
| ***2: q(What) 1SF/2S |
| |
| |1 What ≠ a |
| |
| |2 What = b |
| |
| ***3: r(a) Fm |
| |
| ***4: r(b) 1S'' |
| |
| |
| |
====== ISVL (The Internet Software Visualization Laboratory) ======== | ====== ISVL (The Internet Software Visualization Laboratory) ======== |
| |
| ISVL jest projektem, który miał na celu pomoc studentom w rozumieniu uruchamianych programów napisanych w Prolog-u, poprzez internet. |
| Projekt ten wywiązał się jakby z PPVL, jednak zaimplementowano w nim jedynie TPM. |
| |
| Demonstracje działania ISVL można zobaczyc na stronie: |
| |
| [[http://www-jime.open.ac.uk/97/1/java/isvl-09.html|http://www-jime.open.ac.uk/97/1/java/isvl-09.html]] |
| |
| |
| |
Vmax daje możliwość edycji klauzul na różne sposoby zarówno tekstowo jak i graficznie. Jednak zmiany w trybie graficznym nie są zapisywane do kodu źródłowego, dlatego jest to mało użyteczne. Lepszym rozwiązaniem w tym przypadku jest edycja kodu źródła programu. | Vmax daje możliwość edycji klauzul na różne sposoby zarówno tekstowo jak i graficznie. Jednak zmiany w trybie graficznym nie są zapisywane do kodu źródłowego, dlatego jest to mało użyteczne. Lepszym rozwiązaniem w tym przypadku jest edycja kodu źródła programu. |
| |
| |
| |
| |
| |
| ====== Podsumowanie ====== |
| |
| Próby wizualizacji programów napisanych w Prologu były tworzone juz na początku lat 80-tych. |
| Powstało kilka projektów/systemów, które dają możliwość wizualizacji i śledzenia wykonywania programów Prologu, jednak nie można żadnego z nich zdobyć. |
| Są to albo wersje komercyjne (TPM na UNIX-a, SVT i Vmax) lub akademickie na system MAC (TPM, PPVL, ale tez nie udało się ich odnaleźć na sieci). |
| |
| Większość z tych systemów podczas graficznej wizualizacji korzysta ciągle z tego samego, czyli TPM, a nie udało się odnaleźć bardziej szczegółowego opisu działania. |
| Wydana została książka o TPM (koszt 150$ + przesyłka) a wszystkie inne informacje na sieci są bardzo pobieżne i piszą ciągle o tym samym (w skrócie jak to ladnie sobie można robić wizualizacje śledzenia programów w Prolog-u przy pomocy TPM). |
| |
| Projekt niestety nie jest oparty na własnych próbach wykonywania programów z powodu braku dostępu do systemów SV dla Prologu. Zatem zostały opisane i przetłumaczone informacje jakie udało mi się odnaleźć w sieci. |
| |
| Opisanie tych programów było bardzo trudne. Ciężko pisać o czymś czego nie można wypróbować opierając sie tylko na bardzo ogólnych opisach. |
| |
====== Sprawozdanie ====== | ====== Sprawozdanie ====== |
| |
| |
====== Materiały ====== | ====== Materiały ====== |
| |
| {{:pl:miw:miw08_rbs_back:005.pdf|:pl:miw:miw08_rbs_back:005.pdf}} |
| |
| {{:pl:miw:miw08_rbs_back:declarative-debugging-with-the.pdf|:pl:miw:miw08_rbs_back:declarative-debugging-with-the.pdf}} |
| |
| {{:pl:miw:miw08_rbs_back:domingue-97-1.pdf|:pl:miw:miw08_rbs_back:domingue-97-1.pdf}} |
| |
| {{:pl:miw:miw08_rbs_back:iee_20vis_20prolog_2091.pdf|:pl:miw:miw08_rbs_back:iee_20vis_20prolog_2091.pdf}} |
| |
| {{:pl:miw:miw08_rbs_back:mulholland97incorporating.pdf|:pl:miw:miw08_rbs_back:mulholland97incorporating.pdf}} |
| |
| {{:pl:miw:miw08_rbs_back:ppigvisprologfixed.pdf|:pl:miw:miw08_rbs_back:ppigvisprologfixed.pdf}} |
| |
| {{:pl:miw:miw08_rbs_back:tbpa91.pdf|:pl:miw:miw08_rbs_back:tbpa91.pdf}} |
| |
| {{:pl:miw:miw08_rbs_back:ucam-cl-tr-511.pdf|:pl:miw:miw08_rbs_back:ucam-cl-tr-511.pdf}} |
| |
| {{:pl:miw:miw08_rbs_back:visandor-iclp93.pdf|:pl:miw:miw08_rbs_back:visandor-iclp93.pdf}} |