This shows you the differences between two versions of the page.
docs:sbvr-tutorial [2017/09/19 14:31] |
docs:sbvr-tutorial [2022/03/23 16:59] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ======== SBVRwiki Tutorial ======== | ||
+ | |||
+ | SBVRwiki uses the Dokuwiki back-end for storage, unlimited version control | ||
+ | and user authentication. The tool supports identification and creation of vocabularies, | ||
+ | terms and rules in a transparent, | ||
+ | visualization and evaluation mechanisms for created rules. | ||
+ | |||
+ | The tool provides visualization and evaluation mechanisms for created rules, and besides basic | ||
+ | syntax highlighting and checking, it allows for logical analysis. As it is | ||
+ | integrated with the Loki knowledge engineering platform, it allows for | ||
+ | on-the-fly conversion of the SBVR rule base and vocabularies to Prolog. | ||
+ | |||
+ | SBVRwiki plugin can be downloaded from [[downloads: | ||
+ | |||
+ | ===== Creating new SBVRwiki project ===== | ||
+ | |||
+ | SBVRwiki project consists of three business dictrionaries (every in single namespace/ | ||
+ | - :terms | ||
+ | - :facts | ||
+ | - :rules | ||
+ | |||
+ | To start defining a model first you need to create new project and project namespaces in wiki. | ||
+ | |||
+ | There two ways of doing it: | ||
+ | |||
+ | **1)** By entering new name and submmiting in insertbox: | ||
+ | |||
+ | {{.: | ||
+ | |||
+ | This will create whole project structure. | ||
+ | |||
+ | **2)** By entering new URL and creating new pages: | ||
+ | |||
+ | * < | ||
+ | |||
+ | * < | ||
+ | |||
+ | * < | ||
+ | |||
+ | ===== Creating dictionaries ===== | ||
+ | |||
+ | To create new dictionary on a specific page you have to enter editing mode and insert SBVR markers,\\ which plugin will recognise as begining and end of a dictionary: | ||
+ | < | ||
+ | |||
+ | You can insert template entry by clicking button named **//Example SBVR terms dictionary entry//**. The tamplates and examples are shown in subsections :terms, :facts and :rules. | ||
+ | |||
+ | **NOTE:** every whitespace is interpreted by the SBVRwiki plugin hence specific code structure is necessary | ||
+ | |||
+ | **NOTE:** to view changes it is necessary to save the page | ||
+ | |||
+ | ==== :terms ==== | ||
+ | |||
+ | * template: | ||
+ | |||
+ | < | ||
+ | − [category] Example terms cat egory | ||
+ | − Example term | ||
+ | * Description : Example term’s description | ||
+ | * Other attribue : Example term’s other property | ||
+ | </ | ||
+ | |||
+ | * example: | ||
+ | |||
+ | < | ||
+ | < | ||
+ | |||
+ | - [category] Monsters | ||
+ | - Cookie monster | ||
+ | * Description: | ||
+ | * Size: Large | ||
+ | - Big Bird | ||
+ | * Description: | ||
+ | |||
+ | - [category] Places | ||
+ | - Sesame Street | ||
+ | * Description: | ||
+ | |||
+ | </ | ||
+ | </ | ||
+ | |||
+ | {{.: | ||
+ | |||
+ | ==== :facts ==== | ||
+ | |||
+ | * template: | ||
+ | |||
+ | < | ||
+ | − [category] Example facts category | ||
+ | − Example term is needed | ||
+ | </ | ||
+ | |||
+ | * example: | ||
+ | |||
+ | < | ||
+ | < | ||
+ | |||
+ | - [category] Monster facts | ||
+ | - Cookie monster lives on Sesame Street | ||
+ | - Cookie monster likes Big Bird | ||
+ | |||
+ | </ | ||
+ | </ | ||
+ | |||
+ | {{.: | ||
+ | |||
+ | Facts can be created only based on previously defined terms. To list avaible terms click **//Terms list//** button. | ||
+ | Select a term and it will insert itself after a cursor. | ||
+ | |||
+ | UML - class diagrams will be automaticaly generated and added to the bottom of a page. | ||
+ | |||
+ | ==== :rules ==== | ||
+ | |||
+ | * template: | ||
+ | |||
+ | < | ||
+ | − [category] Example rules category | ||
+ | − It is necessary that at least one example term is needed. | ||
+ | </ | ||
+ | |||
+ | * example: | ||
+ | |||
+ | < | ||
+ | < | ||
+ | |||
+ | - [category] Monster Rules | ||
+ | - It is obligatory that each Cookie monster likes a Big Bird | ||
+ | |||
+ | </ | ||
+ | </ | ||
+ | |||
+ | {{.: | ||
+ | |||
+ | You can add terms and facts from lists avaible by clicking buttons in the menu. | ||
+ | |||
+ | **NOTE:** It is important to select proper terms with the facts which were defined together. | ||
+ | |||
+ | ===== XML & XMI export ===== | ||
+ | |||
+ | On '' | ||
+ | They both export current model (the whole model, not only rules page) to '' | ||
+ | |||
+ | ===== Additional information ===== | ||
+ | |||
+ | // | ||
+ | |||
+ | Concepts defined in dictionaries must be unique. | ||
+ | |||
+ | Special editor' | ||
+ | ^Element^Definition^ | ||
+ | |[category]|Beginning of a new concepts category| | ||
+ | |[comment]|Comments visible in endpage, ignored by syntax plugin | | ||
+ | |[silent_comment]|Comments visible during page eddting only| | ||
+ | |||
+ | ===== Administrator Guide ===== | ||
+ | |||
+ | Dokuwiki offers several classes of plugins allowing for fine-grained processing | ||
+ | of the wiki text. SBVRwiki implements two main plugin components: | ||
+ | |||
+ | * // | ||
+ | * // | ||
+ | |||
+ | All the modules are implemented in PHP. | ||
+ | |||
+ | ==== Project structure ==== | ||
+ | |||
+ | * // | ||
+ | * adds markers to the line with editor' | ||
+ | * handles //*// markers | ||
+ | * preprocessing | ||
+ | * process of tokens | ||
+ | |||
+ | * // | ||
+ | * processes every line from the dictionary | ||
+ | * splits lines into tokens | ||
+ | * searches for terms and its connections | ||
+ | |||
+ | * // | ||
+ | * rendering | ||
+ | * preparation of the list of terms | ||
+ | * terms dictionary processing | ||
+ | * preparation of the list of facts | ||
+ | * export button | ||
+ | * visualisation generation | ||
+ | |||
+ | * // | ||
+ | * reacts on events during working with plugin | ||
+ | |||
+ | * // | ||
+ | * export of a data | ||
+ | |||
+ | |||
+ | |||
+ | Visualisation part is done using // | ||
+ | |||