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 // | ||
| + | |||