Spis treści

View page as slide show

LogTalk_UMLgraph

Generowanie diagramów klas UML w języku Prolog

Zrealizował: Mariusz Sasko (4RI)

Cele Projektu:

Podstawy UMLGraph.

Instalacja i wymagania UMLGraph!

Musimy najpierw posiadać następujące pakiety w systemie:

Aby korzystać z UMLGraph należy odpowiednio zmodyfikować skrypt: /ścieżka/UMLGraph/bin/umlgraph

Cechy UMLGraph.

UMLGraph pozwala modelować (1):

UMLGraph pozwala modelować (2):

Opcje:

Przykład:

/**
 * @opt shape class
 * @opt edgecolor "yellow"
 * @opt nodefontname "Times"
 * @opt nodefillcolor "#a0a0a0"
 * @opt nodefontsize 14
 * @hidden
 */
class UMLOptions{}

/**
 * @opt nodefontname "Helvetica-Bold"
 * @opt nodefontcolor "white"
 * @note opis ...
 * ... kontynuacja opisu ...
 * @note inny opis ....
 */
class klasa{}

Przykład:

Ciekawe miejsca:

Początki języka LogTalk

Cechy LogTalk!

O jakie cechy LogTalk wzbogaca Prolog?

Elementy języka.

Relacje między obiektami.

LogTalk pozwala na tworzenie obiektów, które nie są związane z innymi żadną relacją, jak i tworzyć hierarchie obiektów oparte na prototypach albo klasach. Można ponadto używać zarówno pojedynczego jak i wielokrotnego dziedziczenia.

Deklarowanie Predykatów.

Zakres widoczności:

Przykład.

Predykaty dla obiektów w LogTalk są definiowane tak samo jak w Prologu. Dodawane są jedynie dodatkowe znaczniki.

:- object(list).
    :- public(append/3).
    :- public(member/2).
 
    append([], L, L).
    append([H| T], L, [H| T2]) :-
        append(T, L, T2).
 
    member(H, [H| _]).
    member(H, [_| T]) :-
        member(H, T).
:- end_object.

Uzyskiwanie informacji o obiektach.

Uzyskiwanie informacji o protokołach.

Uzyskiwanie informacji o kategoriach.

Instalacja i uruchamianie programów LogTalk.

  1. Odpowiednie pakiety w zależności od tego na jakim systemie operacyjnym pracujemy pobieramy ze strony: http://logtalk.org/download.html
  2. Uruchomienie LogTalk to po prostu uzgodnienie dwóch plików:
:-consult('/usr/share/logtalk/configs/swi').
:-consult('/usr/share/logtalk/compiler/logtalk').

Kompilowanie plików LogTalk:

logtalk_compile([source_file1, source_file2, ...]).
logtalk_load([source_file1, source_file2, ...]).

Zaproponowane rozwiązanie.

Obiekt javaobject - zawiera następujące publiczne predykaty:

Obiekt javacomment - zawiera następujące publiczne predykaty:

Zaproponowane rozwiązanie.

Obiekt javaobject - zawiera następujące publiczne predykaty:

Obiekt javacomment - zawiera następujące publiczne predykaty:

Zaproponowane rozwiązanie.

Obiekt mainobject - zawiera następujące publiczne predykaty:

Plik drow.pl:

Obiekty w pliku drowobject.lgt.

Zaproponowane rozwiązanie.

Skrypt umlgraph gdzie:

Za pomocą poniższej komendy dostajemy plik .java i diagram drow.png

./umlgraph drow drow png

Diagram drow.png

Ograniczenia i problemy.

Materiały