<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>SBVRwiki (Tool Presentation) ?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Krzysztof Kluza</string-name>
          <email>kluza@agh.edu.pl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Krzysztof Kutt</string-name>
          <email>kkutt@agh.edu.pl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marta Wo„niak</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>AGH University of Science and Technology al. Mickiewicza 30</institution>
          ,
          <addr-line>30-059 Krakow</addr-line>
          ,
          <country country="PL">Poland</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>SBVR is a mature standard for capturing expressive business rules along with their semantics, and is especially useful in the communication with business people. SBVRwiki is a novel tool that allows for an eective use of the SBVR notation. This online collaborative solution allows for distributed and incremental rule authoring for business analytics and users. It supports creation of vocabularies, terms and rules in a transparent, user-friendly fashion. 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-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.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        SBVR (Semantics of Business Vocabulary and Business Rules) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] 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.
      </p>
      <p>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.</p>
      <p>There are several SBVR-supporting tools like editors that support text-based
creation of dictionaries and business rules providing syntax highlighting and
suggestions; 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
allowing 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.</p>
      <p>SBVRwiki uses the Dokuwiki 1 back-end for storage, unlimited version control
and user authentication. The tool supports identication and creation of
vocabularies, terms and rules in a transparent, user friendly fashion. It also provides
visualization and evaluation mechanisms for created rules.</p>
      <p>
        Our tool is integrated with the Loki knowledge engineering platform [
        <xref ref-type="bibr" rid="ref4 ref5">5,4</xref>
        ],
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
representation also opens up possibilities of formalized analysis of SBVR rules.
      </p>
      <p>The rest of the paper is structured as follows. Section 2 discusses the
functional requirements for the wiki-based collaborative platform for knowledge
engineering, especially for requirements analysis. Then, in Section 3 the SBVRwiki
system is presented. Future work is summarized in the nal Section 4.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Functional Requirements</title>
      <p>
        Wikis are broadly used in various areas including distributed requirements
analysis [
        <xref ref-type="bibr" rid="ref2 ref3">2,3</xref>
        ]. 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.
      </p>
      <p>
        Main functional requirements for an SBVR wiki-based system are as
follows: 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
structured vocabularies, with identied categories, 3) SBVR syntax verication and
highlighting in text documents, as well as syntax hinting, 4) visualization of
vocabularies 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 [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] 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
undened concepts, duplicated entries, etc. Using these requirements, a prototype
implementation called SBVRwiki was developed [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>System Presentation</title>
      <p>The development of the SBVR wiki was based on several implementation
requirements, 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.</p>
      <sec id="sec-3-1">
        <title>1 A lightweight and open-source wiki engine, see: www.dokuwiki.org.</title>
        <p>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.</p>
        <p>SBVRwiki Syntax Plugin used to enter SBVR expressions as wiki text
using a special &lt;sbvr&gt; wiki markup. Using it a user can enter legal SBVR
expressions and the plugin oers rich syntax highlighting. Moreover,
vocabularies can be visualized with the dynamic translation to UML class diagrams
that are rendered by the wiki using the PlantUML tool 2, see Fig. 1.</p>
        <p>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.</p>
        <p>
          For this tool presentation, we uses a benchmark case of SBVR knowledge
base, the classic EU Rent case 3, provided as a part of the SBVR specication [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
        </p>
        <p>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.</p>
      </sec>
      <sec id="sec-3-2">
        <title>2 See: plantuml.sf.net.</title>
        <p>3 You can browse the EU-Rent case using wiki on: http://home.agh.edu.pl/~kkutt/
sbvrwiki-demo/. Credentials: demo/demo.</p>
        <p>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.</p>
        <p>During creating a new SBVR project, several steps have to be taken.
However, 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.</p>
        <p>In the case of the EU-Rent example, a user can start from creating a
dictionary. 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).</p>
        <p>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).
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.</p>
        <p>
          As the tool is implemented as a plugin for the DokuWiki system, it can
be integrated with the BPWiki plugin [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. 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 [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] for reasoning capabilities.
        </p>
        <p>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
development 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
participating in the project.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Adrian</surname>
          </string-name>
          , W.T.,
          <string-name>
            <surname>Bobek</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nalepa</surname>
            ,
            <given-names>G.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kaczor</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kluza</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>How to reason by HeaRT in a semantic knowledge-based wiki</article-title>
          .
          <source>In: Proceedings of the 23rd IEEE International Conference on Tools with Articial Intelligence</source>
          ,
          <string-name>
            <surname>ICTAI</surname>
          </string-name>
          <year>2011</year>
          . pp.
          <fpage>438441</fpage>
          .
          <string-name>
            <surname>Boca</surname>
            <given-names>Raton</given-names>
          </string-name>
          , Florida, USA (November
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Decker</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ras</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rech</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jaubert</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rieth</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Wiki-based stakeholder participation in requirements engineering</article-title>
          . Software, IEEE
          <volume>24</volume>
          (
          <issue>2</issue>
          ),
          <volume>2835</volume>
          (March
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Liang</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Avgeriou</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Clerc</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Requirements reasoning for distributed requirements analysis using semantic wiki</article-title>
          .
          <source>In: 2009 Fourth IEEE International Conference on Global Software Engineering (ICGSE</source>
          <year>2009</year>
          ),
          <fpage>13</fpage>
          -
          <issue>16</issue>
          <year>July 2009</year>
          , Limerick, Ireland. pp.
          <fpage>388393</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>July 2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Nalepa</surname>
            ,
            <given-names>G.J.:</given-names>
          </string-name>
          <article-title>Collective knowledge engineering with semantic wikis</article-title>
          .
          <source>Journal of Universal Computer Science</source>
          <volume>16</volume>
          (
          <issue>7</issue>
          ),
          <volume>10061023</volume>
          (
          <year>2010</year>
          ), http://www.jucs.org/jucs_16_
          <article-title>7/collective_knowledge_engineering_with</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Nalepa</surname>
            ,
            <given-names>G.J.:</given-names>
          </string-name>
          <article-title>Loki semantic wiki with logical knowledge representation</article-title>
          . In: Nguyen, N.T. (ed.)
          <source>Transactions on Computational Collective Intelligence III, Lecture Notes in Computer Science</source>
          , vol.
          <volume>6560</volume>
          , pp.
          <fpage>96114</fpage>
          . Springer (
          <year>2011</year>
          ), http: //www.springerlink.com/content/y91w134g03344376/
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Nalepa</surname>
            ,
            <given-names>G.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kluza</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ciaputa</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>Proposal of automation of the collaborative modeling and evaluation of business processes using a semantic wiki</article-title>
          .
          <source>In: Proceedings of the 17th IEEE International Conference on Emerging Technologies and Factory Automation ETFA</source>
          <year>2012</year>
          , Krakw, Poland, 28
          <year>September 2012</year>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. OMG:
          <article-title>Semantics of Business Vocabulary and Business Rules (SBVR)</article-title>
          .
          <source>Tech. Rep. dtc/06-03-02</source>
          , Object Management Group (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8. Wo„niak,
          <string-name>
            <surname>M.:</surname>
          </string-name>
          <article-title>Analysis of applications of rule-based tools in requirements engineering</article-title>
          .
          <source>Master's thesis</source>
          ,
          <source>AGH UST</source>
          (
          <year>2013</year>
          ), Supervisor: G. J. Nalepa
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>