Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:miw:2009:miw09_prolog_sbvr:prezentacja [2009/07/06 18:46] jsi08 |
pl:miw:2009:miw09_prolog_sbvr:prezentacja [2019/06/27 15:50] (aktualna) |
SBVR umiejscowiony jest w warstwie CIM, czyli modelu najbardziej abstrahującego od sprzętu i oprogramowania. | SBVR umiejscowiony jest w warstwie CIM, czyli modelu najbardziej abstrahującego od sprzętu i oprogramowania. |
===== SBVR a Model Driven Architecture c.d.===== | ===== SBVR a Model Driven Architecture c.d.===== |
{{ :pl:miw:2009:miw09_prolog_sbvr:pliki:cim_pim_psm2.gif?800}} | {{:pl:miw:2009:miw09_prolog_sbvr:pliki:cim_pim_psm2.gif?800}} |
| |
===== Oficjalna specyfikacja SBVR ===== | ===== Oficjalna specyfikacja SBVR ===== |
Do definiowania słowników i reguł bezpośrednio wykorzystuje się dwa ostatnie. | Do definiowania słowników i reguł bezpośrednio wykorzystuje się dwa ostatnie. |
| |
| ===== SBVR jako semantyka ===== |
| Rozdzielenie znaczenia pojęcia od jego reprezentacji. SBVR jest standardem umożliwiającym powiązanie znaczenia i reprezentacji. \\ \\ |
| Pociąga to za sobą brak standardowej notacji SBVR. Równouprawnione są wszystkie notacje zgodne ze specyfikacją (np Structured English, język polski - odpowiednio sformalizowany, język diagramów), które można dodefiniować. \\ \\ |
| Specyfikacja SBVR napisana za pomocą Structured English. \\ |
| |
| ===== SBVR Structured English ===== |
| Przykładowa notacja słowników i reguł biznesowych. Definiuje 4 czcionki przenoszące meta-dane: |
| * {{:pl:miw:2009:miw09_prolog_sbvr:pliki:fonts:term.gif?50|Czcionka 'term'}} - używana do zaznaczenia pojęć rzeczownikowych?? (noun concept) czyli najbardziej elementarnego (atomicznego) elementu słownika. |
| * {{:pl:miw:2009:miw09_prolog_sbvr:pliki:fonts:name.gif?45|Czcionka 'name'}} - przeznaczona do oznaczania konkretnych obiektów, realizacji (individual koncept) lub też nazw własnych. |
| * {{:pl:miw:2009:miw09_prolog_sbvr:pliki:fonts:verb.gif?45|Czcionka 'verb'}} - za pomocą tego stylu oznacza się sformułowania definiujące rodzaj faktu, pojęcie czasownikowe. Słowa oznaczane w ten sposób to zazwyczaj czasowniki (stąd ‘pojęcie czasownikowe’ – verb concept), przyimki lub ich kombinacja. Rodzaje faktów, dzielimy na 3 typy ze względu na ilość pojęć (‘noun concept’) jaki zawiera: unarne (charakterystyka, np. __rental__ is open), binarne (np. __rental__ has __driver__) oraz n-arne (gdzie n > 2, np. __replacement car__ replaces __rental car__ during __renting period__) |
| |
| |
| ===== SBVR Structured English c.d. ===== |
| * {{:pl:miw:2009:miw09_prolog_sbvr:pliki:fonts:keyword.gif?65|Czcionka 'keyword'}} - w ten sposób wyróżniane są symbole językowe za pomocą, których konstruuje się zdania i reguły. Przykłady: kwantyfikacje (each, exactly one), operatory logiczne (and,or ), operatory logiki modalnej (it is necessary, it is permitted). |
| |
| ===== Reguły w SBVR ===== |
| {{:pl:miw:2009:miw09_prolog_sbvr:pliki:SBVR_voc_constr.gif?700}} |
| |
| Tworzenie reguł według specyfikacji SBVR: |
| * zdefiniować termy np. car, driver, itp |
| * na podstawie istniejących termów zdefiniować verb concepts np car has driver |
| ===== Reguły w SBVR c.d.===== |
| * na podstawie istniejących faktów poprzez dodanie przyimków, kwantyfikatorów i operatorów modalnych np. It is obligatory that each car has a driver |
| |
| Reguły strukturalne oraz operatywne (wymagające poziomu przestrzegania). |
| |
| ===== Istniejące narzędzie zgodne z SBVR ===== |
| * SBeaVeR - Open source, nie została jeszcze napisana w pełni funkcjonalna wersja |
| * RuleXpress firmy RuleArts - w pełni komercyjny produkt, posiada graficzny edytor reguł |
| |
| Żadne z tych narzędzi nie posiada funkcji parsowania reguł i ich rozbioru logicznego. Istnieją jeszcze inne narzędzia o których wspominają autorzy SBVR, aczkolwiek posiadają one cząstkowe nawiązania do standardu. |
| |
| ===== Kolorowanie reguł ===== |
| W ramach projektu udało się stworzyć program w języku Prolog, który na wejściu otrzymuje słownik (w znaczeniu term --> czcionka) oraz napis do przetworzenia, a na wyjściu produkuje plik html zawierający napis z wejścia opatrzony odpowiednimi tagami tak, by po otwarciu przez przeglądarkę wyglądał jak Structured English. |
| |
| |