View page as slide show

MIW 2009 Prolog SBVR

**Zrealizował: Patryk Łuczyński (4RI)

Cel projektu

Celem projektu było przeanalizowanie od niedawna rozwijanego standardu SBVR (Semantics of Business Vocabulary and Rules) służącego do opisu modeli niezależnie od platformy na której modele te będą implementowane. Specyfikacja SBVR tworzy formalne podstawy do tworzenia słowników, które mogą posłużyć do opisu dowolnego przedsięwzięcia, zjawiska za pomocą sformalizowanego języka naturalnego (np angielskiego,polskiego lub innego). Kolejnym celem projektu była próba stworzenia parsera analizującego reguły zgodne z SBVR na podstawie znanego słownika.

SBVR a Model Driven Architecture

Architektura oprogramowania wyróżniająca trzy warstwy:

  • CIM - Computation Independent Model
  • PIM - Platform Independent Model
  • PSM - Platform Specific Model

SBVR umiejscowiony jest w warstwie CIM, czyli modelu najbardziej abstrahującego od sprzętu i oprogramowania.

SBVR a Model Driven Architecture c.d.

Oficjalna specyfikacja 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:

  • Czcionka 'term' - używana do zaznaczenia pojęć rzeczownikowych?? (noun concept) czyli najbardziej elementarnego (atomicznego) elementu słownika.
  • Czcionka 'name' - przeznaczona do oznaczania konkretnych obiektów, realizacji (individual koncept) lub też nazw własnych.
  • 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.

  • 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

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.

pl/miw/2009/miw09_prolog_sbvr/prezentacja.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0