Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:miw:2009:miw09_prolog_sbvr:prezentacja [2009/07/04 16:51] jsi08 |
pl:miw:2009:miw09_prolog_sbvr:prezentacja [2009/07/06 20:30] jsi08 |
* PIM - Platform Independent Model | * PIM - Platform Independent Model |
* PSM - Platform Specific Model | * PSM - Platform Specific Model |
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.===== |
| {{:pl:miw:2009:miw09_prolog_sbvr:pliki:cim_pim_psm2.gif?800}} |
===== Oficjalna specyfikacja SBVR ===== | ===== Oficjalna specyfikacja SBVR ===== |
Dostępna na stronie konsorcjum OMG http://www.omg.org/spec/SBVR/ | Dostępna na stronie konsorcjum OMG http://www.omg.org/spec/SBVR/ zorganizowana w słowniki: |
| * Vocabulary Registration Vocabulary |
| * Meaning and Representation Vocabulary |
| * Logical Formulation of Semantics Vocabulary |
| * Formal Logic and Mathematic Vocabulary |
| * Vocabulary for Describing Business Vocabularies |
| * Vocabulary for Describing Business Rules |
| 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. |
| |
| |