=Paper= {{Paper |id=Vol-1289/kese10-10_submission_7 |storemode=property |title=SBVRwiki (Tool Presentation) |pdfUrl=https://ceur-ws.org/Vol-1289/kese10-10_submission_7.pdf |volume=Vol-1289 |dblpUrl=https://dblp.org/rec/conf/ecai/KluzaKW14 }} ==SBVRwiki (Tool Presentation)== https://ceur-ws.org/Vol-1289/kese10-10_submission_7.pdf
                 SBVRwiki (Tool Presentation)?

               Krzysztof Kluza, Krzysztof Kutt and Marta Wo¹niak


                      AGH University of Science and Technology
                      al. Mickiewicza 30, 30-059 Krakow, Poland
                             {kluza,kkutt}@agh.edu.pl



        Abstract.    SBVR is a mature standard for capturing expressive busi-
        ness rules along with their semantics, and is especially useful in the
        communication with business people. SBVRwiki is a novel tool that al-
        lows for an eective use of the SBVR notation. This online collaborative
        solution allows for distributed and incremental rule authoring for busi-
        ness analytics and users. It supports creation of vocabularies, terms and
        rules in a transparent, user-friendly fashion. The tool provides visual-
        ization 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-y conversion of the SBVR rule base and vocabularies to Prolog.
        The Dokuwiki back-end provides storage and unlimited version control,
        as well as user authentication.


1     Introduction and Motivation
SBVR (Semantics of Business Vocabulary and Business Rules) [7] is a standard
for capturing expressive business rules, commonly perceived as a useful tool in
the communication between business analytics and business people. The set of
vocabularies and rules described with the use of SBVR can be an important part
of requirements specication from the software engineering methodologies.
     An eective use of the SBVR notation is non trivial, because it requires
certain knowledge engineering skills. Thus, there is a need for software supporting
business analytics in the rule acquisition process. Such software should allow
for syntax checking, automatic hinting as well as preliminary evaluation of the
resulting set of rules.
     There are several SBVR-supporting tools like editors that support text-based
creation of dictionaries and business rules providing syntax highlighting and sug-
gestions; modelers that allow for generating models based on SBVR compliant
documents; or tools that allow a user to import various models and transform
them into the SBVR syntax. Considering their limitations of the existing tools
supporting SBVR authoring, our motivation is to deliver a lightweight tool al-
lowing for easy creation of the SBVR knowledge bases even for inexperienced
users. We opt for a web-based solution that allows business users and analytics
to collaborate using a familiar browser-based interface.

?
    The paper is supported from the Prosecco project funded by NCBR.
     SBVRwiki uses the Dokuwiki
                                   1 back-end for storage, unlimited version control
and user authentication. The tool supports identication and creation of vocab-
ularies, terms and rules in a transparent, user friendly fashion. It also provides
visualization and evaluation mechanisms for created rules.
     Our tool is integrated with the Loki knowledge engineering platform [5,4],
which is based on DokuWiki as well. This allows for on-the-y conversion of the
SBVR rule base and vocabularies to Prolog. Use of the Prolog-based represen-
tation also opens up possibilities of formalized analysis of SBVR rules.
     The rest of the paper is structured as follows. Section 2 discusses the func-
tional requirements for the wiki-based collaborative platform for knowledge en-
gineering, especially for requirements analysis. Then, in Section 3 the SBVRwiki
system is presented. Future work is summarized in the nal Section 4.


2     Functional Requirements
Wikis are broadly used in various areas including distributed requirements anal-
ysis [2,3]. They are chosen as they are easy to use, provide an ecient way for
collaboration within a large group of people and their maintenance is almost
costless. The drawbacks of using the Wiki systems in design process are lack
of automatic analysis and conicts detection as well as unstructured text in
which documentation is written. Moreover, users can write requirements in the
forms that are suitable for them. Thus, others can misinterpret the idea and this
can result in useless time-consuming debates. The tool presented in this paper
addresses both indicated issues. It combines simplicity of use with the SBVR
standard that enforces structured specication.
     Main functional requirements for an SBVR wiki-based system are as fol-
lows: 1) creation of a new SBVR project composed of vocabularies, facts, and
rules using a set of predened templates, 2) authoring of a project using struc-
tured vocabularies, with identied categories, 3) SBVR syntax verication and
highlighting in text documents, as well as syntax hinting, 4) visualization of vo-
cabularies and rules as UML class diagrams to boost the transparency of the
knowledge base, 5) le export in the form of SBVR XMI, 6) integration with
the existing PlWiki and BPWiki [6] platforms, 7) full support for the SBVR
syntax, including at least binary facts, 8) constant assistance during the editing
of the SBVR statements, including elimination of common errors, the use of un-
dened concepts, duplicated entries, etc. Using these requirements, a prototype
implementation called SBVRwiki was developed [8].


3     System Presentation
The development of the SBVR wiki was based on several implementation re-
quirements, such as: the system should be an extension (plugin) to the DokuWiki
platform by extending the capabilities of the native Dokuwiki editor; it should
operate in parallel with the PlWiki and BPWiki extensions, and should not
interfere with the operation of other add-ons installed on the platform.

1
    A lightweight and open-source wiki engine, see: www.dokuwiki.org.
     Dokuwiki oers several classes of plugins allowing for ne-grained processing
of the wiki text. SBVRwiki implements two main plugin components:

  SBVRwiki Action Plugin  responsible for the le export in the XMI (XML)
     format. It also handles the user interface events and extends the built-in
     Dokuwiki editor with shortcuts for common SBVR constructs.
  SBVRwiki Syntax Plugin  used to enter SBVR expressions as wiki text
     using a special  wiki markup. Using it a user can enter legal SBVR
     expressions and the plugin oers rich syntax highlighting. Moreover, vocabu-
     laries can be visualized with the dynamic translation to UML class diagrams
                                                              2
     that are rendered by the wiki using the PlantUML tool , see Fig. 1.




Fig. 1. Class diagram generation with PlantUML (from left: fragment of the fact dic-
tionary; a text le to generate the class diagram; and UML class diagram generated
by the PlantUML tool)


     There are several advantages of using a Wiki system as the implementation
platform. As the SBVR expressions can be stored in separate wiki pages, the
content can be simultaneously edited by a number of users. The Loki engine
can select only the relevant parts of this knowledge on the y, so the pages can
contain not only the SBVR content, but also additional pieces of information,
such as comments, gures, media attachments, and hypertext links to other
resources in the wiki or on the Web.
     For this tool presentation, we uses a benchmark case of SBVR knowledge
                               3
base, the classic EU Rent case , provided as a part of the SBVR specication [7].
     EU-Rent is a ctional international car rental company. Renters may be
individuals or accredited members of corporate customers (a company or similar
organization). In each country, EU-Rent oers broadly the same kinds of cars,
ranging from economy to premium although the mix of car models varies
between countries. Rental prices also vary from country to country. However,
dierent models of oered cars are organized into groups, and all cars in a group
are charged at the same rates within a country.

2
    See: plantuml.sf.net.
3
    You can browse the EU-Rent case using wiki on: http://home.agh.edu.pl/~kkutt/
    sbvrwiki-demo/. Credentials: demo/demo.
   A car rental is a contract between EU-Rent and a renter, who is responsible
for payment for the rental and any other costs associated with the rental (except
those covered by insurance). A rental booking species: the car group required;
the start and end dates/times of the rental; the EU-Rent branch from which the
rental is to start.
   During creating a new SBVR project, several steps have to be taken. How-
ever, this does not require much knowledge of the application because a user is
supported by a set of built-in guiding wizards. Using SBVRwiki, a user should
dene concepts rst, then writes down facts, and nally rules can be authored.
Concepts, facts and rules are stored in the separate Wiki namespaces. The Lexer
module of the plugin detects the previously dened tokens what allows for proper
syntax highlighting as well as for detecting the use of undened concepts.
   In the case of the EU-Rent example, a user can start from creating a dic-
tionary. It is a set of terms grouped in categories. If a user wants to describe
concepts such as      additional driver or loyalty club, it is a possibility to write
down the information about these terms, such as a source, a type or a denition.
A user can also group them in category       Customers. Finally, dictionary is saved
and clearly formatted wiki page can be displayed (see Fig. 2).
   The next step consists in creating the base of facts. A user can specify what
dependencies exist between previously dened concepts. E.g. it can be specied
that loyalty club includes club member, renter is club member, and renter is
additional driver. When all such facts are described and saved, simple UML
graphs are generated to visualize created database (see Fig. 3). In the last step,
a user species rules providing constraints for modeled system. When saved, they
are also clearly formatted and visualized in simple graphs form (see Fig. 4).




                           Fig. 2. EU Rent Terms Dictionary
Fig. 3. EU Rent Facts Visualization




Fig. 4. EU Rent Rules Visualization
4     Future Work
Although the current version of SBVRwiki does not support all aspects of the
SBVR standard, it implements enough of its elements to allow users to create
complex models of business rules in Structured English. Its limitations are the
lack of support for multi-argument facts, polymorphism or additional attributes
for the expressions, dictionaries, facts and rules.
     As the tool is implemented as a plugin for the DokuWiki system, it can
be integrated with the BPWiki plugin [6]. This would allow for specication of
systems including both business processes and rules. Moreover, the use of the
Prolog-based representation in Loki opens up possibilities of formalized analysis
of the SBVR rules. In future, the tool can be also extended to use the rule engine
integrated with DokuWiki [1] for reasoning capabilities.
     SBVRwiki has been recently used in the Prosecco
                                                         4 research project as a tool
for authoring the SBVR rules. One of the objectives of the project is the de-
velopment of a system supporting management of SMEs (Small and Medium
Enterprises) using business process and rules with well dened semantics. Thus,
the tool was used to model vocabularies and rules identied in the SMEs par-
ticipating in the project.



References
1. Adrian, W.T., Bobek, S., Nalepa, G.J., Kaczor, K., Kluza, K.: How to reason by
   HeaRT in a semantic knowledge-based wiki. In: Proceedings of the 23rd IEEE Inter-
   national Conference on Tools with Articial Intelligence, ICTAI 2011. pp. 438441.
   Boca Raton, Florida, USA (November 2011)
2. Decker, B., Ras, E., Rech, J., Jaubert, P., Rieth, M.: Wiki-based stakeholder par-
   ticipation in requirements engineering. Software, IEEE 24(2), 2835 (March 2007)
3. Liang, P., Avgeriou, P., Clerc, V.: Requirements reasoning for distributed require-
   ments analysis using semantic wiki. In: 2009 Fourth IEEE International Conference
   on Global Software Engineering (ICGSE 2009), 13-16 July 2009, Limerick, Ireland.
   pp. 388393. IEEE (July 2009)
4. Nalepa, G.J.: Collective knowledge engineering with semantic wikis. Journal of Uni-
   versal Computer Science 16(7), 10061023 (2010), http://www.jucs.org/jucs_16_
   7/collective_knowledge_engineering_with
5. Nalepa, G.J.: Loki  semantic wiki with logical knowledge representation. In:
   Nguyen, N.T. (ed.) Transactions on Computational Collective Intelligence III, Lec-
   ture Notes in Computer Science, vol. 6560, pp. 96114. Springer (2011), http:
   //www.springerlink.com/content/y91w134g03344376/
6. Nalepa, G.J., Kluza, K., Ciaputa, U.: Proposal of automation of the collaborative
   modeling and evaluation of business processes using a semantic wiki. In: Proceedings
   of the 17th IEEE International Conference on Emerging Technologies and Factory
   Automation ETFA 2012, Kraków, Poland, 28 September 2012 (2012)
7. OMG: Semantics of Business Vocabulary and Business Rules (SBVR). Tech. Rep.
   dtc/06-03-02, Object Management Group (2006)
8. Wo¹niak, M.: Analysis of applications of rule-based tools in requirements engineer-
   ing. Master's thesis, AGH UST (2013), Supervisor: G. J. Nalepa

4
    See: http://prosecco.agh.edu.pl.