Definition of Business Rules Using Business Vocabulary and Semantics

This paper discusses the definition of business rules using business vocabulary and semantics. At the beginning business rules, business vocabulary and semantics of business rules are specified. There is also outlined the current state of research on this topic. Then the definition and formalization of business rules using semantics and business vocabulary is described. Based on these proposed procedures was created a tool that implements and simulate these processes. The main advantage of this tool is “Business Rules Layer”, which implements business rules into the system but is separated from this system. Source code of the rules and the system are not mixed together. Finally, the results are evaluated and future development is suggested


Introduction
There is a big trend in the introduction and subsequent use of business rules in business processes now.These rules have a positive impact on the automation of certain business processes and therefore they are suitable for saving on the relevant sources.However, in order to be business rules successfully formed and applied, we must find a procedure how a rule effectively generate and also how to establish rules to effectively evaluate and manage them.There are several procedures.One of these procedures will be described in this paper, where the rules are seen from the perspective of their semantics.Rules are broken down to the smallest logical units, which subsequently compose/evaluate the entire rule.This procedure uses semantics of the rule.The introduction of a business vocabulary is a necessity.The smallest logical units are stored in business vocabulary.This article is interesting mainly because it shows a new way of working with business rules in practice.The main idea of this article is trying to create so-called "Business Rules layer" which would be separate from the information system while yet being able to connect to the system.Therefore, it would be distinct and separate from the main system, the code of the rules and the system was separated.

Definitions
In this chapter, basic formal models and related theory will be described.

Business Rules
To be able to analyse procedures of formalization of business rules, we must say something about business rules and what properties may be acquired at first.Business rules are the rules that are specified in the system and do not depend on human decisions.It is usually a larger number of simple rules that can be scaled in a sequence.Business rules are rules and procedures that are used to automate and speed up certain business processes and therefore save the appropriate resources (time, money and human resources).Typical use is in information systems of banks, shops and in other institutions that use business processes (Boyer, Mili, 2011;Wolters Kluwer Editors, 2013;Debevoise, 2007).
A typical example of business rule is shown here: • If a customer has more than 5 orders per month, then he has free shipping.
• Each customer must have an account.
Diagram of two basic types of business rules is shown in Figure 1.(Witt, 2012) Decision models are an important part during the creation of business rules, and especially when they are evaluated.We have several ways how to evaluate rules.We can evaluate using logic or through their semantics.We can also use the principle of decision tables, which is used in the concept of Open Rules (Open Rules, 2003;Taylor, 2011).
One of the main notation which is used for writing Business rules is DMN (Decision Model and Notation) as specified by (Object Management Group, 2015) or another one is BPML that specified by (von Halle, Goldberg, Zachman, 2006).These notations are useful when business rules are used in information systems.In practice, the natural language is used.

Business Vocabulary
To be able to formalize the rules and to use their semantics, it is necessary to create and establish business vocabulary.Correct construction of business vocabulary is the foundation stone for the realization of other processes.First, we have to define all the concepts that we will use for compilation of business rules.These concepts must also add the necessary conjunctions, prepositions, numbers, time and financial units etc.If we have assembled a set of concepts which will be used for compiling business rules, it is good to have them categorized into groups containing semantically similar elements: for example, time data, financial data, prepositions, etc. (Object Management Group, 2015;Bajwa, Lee, Bordbar, 2011).

Semantics
If we already have a well-established business vocabulary that contains all the terms that are used to construction of business rules, we can proceed to determine semantic rules.It is a discipline that deals with the meaning of words and characters.Not used therefore only in programming but also in other scientific disciplines, for example logic or linguistics.Generally, we use it in areas where the statement is written and we are trying to parse it into elemental parts and decipher the meaning of this statement.
For example, if we compare the syntax and semantics, syntax examines the allowable structure and determines what is in the language enabled and disabled.Semantics then examines already tested correction elements of the program and tries to assign them logical meaning to recognize and decode their importance, for example, in a computer program.
The semantics of business rules can be described in two basic concepts: Semantic formulationstructure of the importance of a business rule.

Related work
Authors have been dealing with formalization of business rules for longer period of time.In the last year, we have dealt with formalization of business rules using grammar systems and, together with colleague, we released an article (Hypský, Kreslíková, Zámečníková, 2015).In this paper authors formalize business rules using the semantic meaning of the rules, which will be described in this paper.This is an approach based on research of Object Management Group, but we plan to design our own vocabulary, customization in Czech language and the creation of Czech business rules and finally separation of business rules from the main system.

Object Management Group: Semantics of Business Vocabulary and Rules
The semantics of business rules and its use in the creation of business vocabulary was already investigated by (Object Management Group, 2015).They were working with semantics of business rules and also with the using of semantics for creating business dictionary.Based on this research they created a concept called SBVR, which means Semantics of Business Vocabulary and Rules.Bajwa, Lee and Bordbar (2011) followed their work.They came out of this concept, but they mainly focused on the way of new development of translating natural languages specification to SBVR.The main challenge in their work (native language to SBVR translation) was complex semantic analysis of English language.

RuleML
Another approach for working with business rules is called: Rule Markup Language, shortly RuleML.As the name suggests, it is a marker notation based on the XML document shown in Figure 2, the left part.
Cores of the rules are formed with atoms, which are formed by the basic building blocks (variables, individuals, etc.)These units are then assembled into a hierarchical tree to make up the final business rule as you can see in the Figure 2, the right part. Rule:

Fig. 2. RuleML example (Business Rule; RuleML notation; Decomposition of the rule).
Source: (Boley, Grosof, Tabet, 2005) Semantically, this procedure is very similar like the OMG approach and the procedure which we have chosen too.The difference is that RuleML uses for notation of the business rules XML standard structure and it is adapted for semantics of the web.The rules in RuleML have similar semantic structure as OMG and very similar like in our tool.The main difference between RuleML and our tool is that we use the business vocabulary and business rules are not modify primarily for use on the web but they are constructed for the practical application in the systems by our experience with companies in the Czech Republic (Boley, Grosof, Tabet, 2005;Biletskiy, Boley, Ranganathan, 2008;Arch-Int, Arch-Int, 2013).

RIF
RIF is a Rule Interchange Format.It is an XML language for the implementation of business rules using a computer program.This is a standard that was developed by W3C.Standard uses so-called Dialects for work with the rules, the basic are: Core, BLD (Basic Logic Dialect) and PRD (Production Logic Dialect).These dialects are added to the system functionality for work with rules.This standard defines business rules particularly for the semantic of the web.RIF supports other specifications and languages such as markup language OWL, metadata data model RDF and query language SPARQL.Sample of the rule in RIF notation you can see in the Figure 3.
Regarding the comparison with our proposal approach, RIF is primarily designed for the semantic needs of the web.This procedure is very similar with RuleML these standards and practices can communicate and work together.Our tool uses a business vocabulary, design patterns and it is not connected with the web so much.Rules are not stored to XML document in our tool but directly into the SQL database.If it would be needed synchronize it with RuleML or RIF we would have to implement a module which would generate an XML file with forms.This module should load XML input file for import of the input business rules (W3C, 2012; W3C, 2010a). Rule:

Open Rules
This is another opportunity for notation of the business rules.This procedure uses decision tables where are stored rules, whole structures of rules and whole workflow.These tables are created in Microsoft Excel and it makes one of its main advantages.This advantage is that work with this standard do not need specific IT skills but just work with the software Excel.It is also one of the things that we tried when we designed our tool.We wanted tool which will be intuitive and user who will work with this tool would not have any specific IT skills (Open Rules, 2003).

JBoss Drools
There are similar tools in practice.One of the best known is the JBoss Drools from the company RedHat.This tool in its basic version works on a similar basis as our tool, the main idea is the type of the rules: "WHEN conditions THEN actions".It is probably the most widespread tool used in practice.A comparison of this and our tool will be explained in the chapter 4.5 (Drools, 2006).

Solution
The procedures and methods used for construction of the final solution will be described in this chapter.

Semantic units of business rules
Based on the elements of business vocabulary, we can put together several basic building blocks by which we can construct the resulting business rules.These units are namespace and verbal concept that can be developed by other construction units such as quantifiers or auxiliary verbs.

Namespace concept
Namespace concept consists of unitary variables and unitary variables that are connected by logical operators.Sample composition of the namespace concept is evident in the following notation (1): (var/unit)(log var/unit)* (1) var = variable; log = logical operation; unit = unitary variable Quantifiersquantifiers are used in connection with namespace concepts and are written in front of them.They determine the frequency of namespace concepts in the part of the business rule.The set of quantifiers contains these basic types: • Each • There is at least n.Existential quantifier is the special case, there is at least one item.
• There are at most n.A special case, there is one maximally Examples of namespace concepts are: user, the customer or user.

Verbal concept
The verbal concept consists of three parts.
1) optional negation 2) optional auxiliary verb indicating the type of the rule.
These verbal concepts can be iterated to each other and connected by logical connections and the resulting complex is putting together the final concept.We can suggest examples of the verbal concepts on the following notation ( 2

Practical construction of a business dictionary
As already mentioned in the introduction, a business dictionary must contain all the terms that are used within an organization and these terms should be categorized into groups according to their meaning.
Quantifiersjust this, every, min n, max n; where n ϵ Z, n ≥ 0

Logical connections -AND, OR, NEG
Variables -There are stored the names of database tables.It is subsequently replaced with the appropriate item from the database.For example, when the variable is the customer, the rule is then applied to all items in the table customer, thus Petr Novak, Jan Svoboda, etc.There are other names which may optionally be subdivided into additional categories.

The construction of business rules based on their semantic meaning
If we constructed a business vocabulary, we would create rules based on their semantic meaning.In this paragraph, several basic types of rules will be mentioned, more specific types may be formed individually according to the specific needs of the system/process.

A -The basic type of rule (Type 1)
The basic type of rule is the rule of the semantic meaning of subject -predicate -object.It is the basic semantic element which serves as a base for the construction of more complex rules.Here is the notation of this rule: <quantifier> <namespace concept> <verb concept> <quantifier> <namespace concept> And example is here: Each user must have maximally 1 account.

B -The basic rule with specification (Type 2)
This is very similar type of rule as the Type 1, this rule added adverbial, which specifies the rule.The semantic meaning of this rule is subject -verb -object -adverbial.
When we have created templates for these two basic rules (Type 1/Type 2) we can construct more complex rules, which are called conditional rules.

C -The basic conditional rule
If <Type1>/<Type2> then <Type1>/<Type2> If the user makes at least five orders per month, then the user can join the VIP Club.

D -The conditional rule with other branch
If <Type1>/<Type2> then <Type1>/<Type2> else <Type1>/<Type2> If the user performs at least five orders per month, then the user can join the VIP Club or the user gets 1000CZK reward.

E -Branched conditional rule
If <Type1>/<Type2> then <Type1>/<Type 2> (<Log> <Typ1>/<Type2>) * If the user performs at least five orders per month, then the user can join the VIP club and the user gets 1000CZK reward and the user has free shipping.

Example of decomposition rule to semantic units
As we have already shown previously in composing rules from semantic units, we can reverse the rule by decomposition on its parts/semantic units.This can be seen in the following Figure 6.

Implementation of this concept by the information system
When we have constructed the types of rules that we use in our organization and have created their patterns, it is ideal to perform the implementation of this procedure using the information system.The idea is to create a separate layer of the tool, which communicates with the rest of the tool and with the database and provides a deployment of business rules to the system.The idea is shown in Figure 7.

Business Rules Layer
Diagram of graphic design Business rules layer is shown in Figure 8.This tool should have two basic parts.The first would be a list of existing rules which are applied in the system and currently work.These rules would be edited and the modification would be based on business needs (new corporate strategy, change of legislation, etc.).Of course, when we add a new rule Explanation: 1) Business rules affect the functioning of the information system.
2) Business rules changes the data in the database if it is necessary.For example, set flags etc.
3) Business rules obtain necessary data from the database and from the information system under which they are evaluated and applied or delete/modify the current rule, the integrity of the system of rules has to be checked.This will be explained in the next section.
The second part is a tool for adding new rules.At first the user selects one of the templates of supported rules.After that the opened items are connected with business vocabulary and database, where the specific items that he wants to be used for a good function of the rule are selected.Finally, he confirms this rule.The rule is added to the list of existing rules.

Integrity Check Tool
During operations with the rules (adding/editing/deleting) a situation when one of the rules tells the system to set a specific status for the entity and another rule says that this entity has been set might happen.We must create an approach that is deterministic and this decision will be unique.There are several solutions: The easiest setup is to assign the priorities for rules.Rules are sorted according to their priority and the tool is then applied in this order and the rules with higher priority overwrite the results of rules with lower priority.
Another possibility is to store a table of changes as a result of implementation of the rules, and if one of two rules changes the same item, the user is then alerted to this collision.This procedure can be applied during the preparation of the templates and the user must then edit the rule to avoid a collision.

Practical results
To test the proposed procedures and for obtaining practical results this concept was tested through the information system.

Implemented information system
If we want to test the Business rules layer in practice, firstly the Supporting information system in which the rules were applied subsequently must be created.For this purpose, the simple system of online shop was created.Shop records customers, products and orders.Each customer has also attributes that are assigned to him according to his orders (VIP club, free shipping, etc.).

Implementation of Business Rules Layer
The Business rules layer is applied in this system (Chapter VII A).It is not common that the shop database and the database of business rules are able to apply BRL easily to another system.BRL has implemented a template for the two types of rules: Type 1 and Type 2. The elements for individual items of these rules are derived from the business vocabulary and are either keywords or items obtained from the database of the supported system.
Rules have two parts.The first one is for the keyword.It explores the current state of database and only reads.The second part of the rule usually sets the information in the database.In this case the flags are usually set (VIP club, free shipping, etc.).

Integrity check
In this practical case the integrity check has been resolved by setting priority of rules.When we modify or add new rules which are applied to the system gradually over all, the rules of priority and date change.Firstly, the rules with the lowest priority in the order from the earliest added are applied, then higher ones and in the end the most important rules.There are 3 Priority levels.If it happens that one of the two rules modify the same attribute of a different value, the first one is applied on the lower priority rule and consequently on the higher priority rule and this one sets this flag on the final value.The same approach is applied in the case of the timeline, if rules have the same priority.Newer rule updates the value after the elders.This principle is the best solution for smaller and medium systems, where there are not many rules.For large systems with a lot of rules it might be slow in the moment when all rules are applied.

Testing of the implemented tool
Realized tool was tested by five different users in different web browsers and systems.This testing was realized on already constructed shop system and on newly created another system of Bank and system of Video shop as well.

Bank
• Users have their accounts (possibility to create new/edit/delete/insert money/send money, etc.).

• They may conduct transactions.
• There are business rules based on account turnover and they can set rates, fees and rewards.

Video shop
• Users have their accounts like in case of the Bank (possibility to create new/edit/delete/rent DVDs and return DVDs).• Business rules set rewards for the number of rental DVDs.
• Rewards are renting price, VIP club and possibility to rent more DVDs together.
The tool was tested by these five users on these three different systems with the following results.Portable tool "Busines Layer Rule" was created.This tool requires only minimal adjustments that could be deployed to another system.We would have had to adjust either the tool or we would have to adjust the overall concept of the supporting system for use in the system with a completely different concept.Further, the absence of some functions was commented.These functions would have been very useful in real use and would facilitate the work of the end user.These features are mainly: • Expanding of business vocabulary, • Adding a timeline to limit application of the rules to the system • Adding of another type of the Business rules • More elaborate administration of the rules • Resolving conflicts We know about these shortcomings and in future versions of the tool we will try to remove them.We plan to continue with the testing by other users with gradual expanding functionality of the tool.
Other recommendation was related to generating XML file with rules in the system which will be compatible with RuleML or RIF to allow connect our tool with these standards.This situation will be analysed and it will become the subject of future development.

JBoss Drools and its comparison with our tool
Both tools work with pattern matching, where rules are represented by patterns.Drools uses a forward chaining and backward chaining for evaluating of the rules.We focus mainly on semantics in our tool and based on it our tool creates and evaluates rules.As in our tool, even in JBoss Drools are business rules in the layer on a separate level.Approach for creating rules in JBoss Drools is more on programmer level, the rules are entered through code in the program, it gives to the user/programmer more options and the tool is so robust.Our priority was to be able to add rules to our tool in a natural language and, therefore, it was easy for users without IT skills, for example a business workers.The disadvantage of this method is that our tool is not so complex.It does not support many different types of rules and it has not so many options when creating new rules as Drools.Robustness of the tool Drools is also given that the JBoss Drools is developed by a large company.In future, we would like to continue improving our tool but in comparison with JBoss Drools rather see his deployment on smaller systems with possible customization (JBoss, 2016;Drools, 2006).

Discussion and conclusion
Effective formalization of the business rules can be the key to success of fast and automatic implementation of the systems that implement business rules.For Formalization of the business rules we can use several methods, for example, matrix grammars, grammar systems, XML methods or semantics of business rules as in this case.Our approach supports formalization of basic types of rules like most other similar tools or standards.

Why should user use our tool?
We think the main advantage, which we were also aimed during creating and inventing this tool is the separation of the implementation of business rules and main system.It was one of the main goals that we had set before realization of this work.Another advantage is working with business vocabulary and the possibility of customization.
Our tool is very useful for small information systems.There is a great possibility for customization and specific features for each specific information system.We think that these are the main advantages of our tool.

Future development
In the future, we would like to focus on formalization of business rules and its implementation in information systems.We would like to create a layer of the information system that would provide exactly this implementation.We would like to focus also on other groups of business rules.We would also look at the export/import business rules to/from XML format and its possible connection with standards RuleML and RIF.Overall, we would like to implement a tool that would provide models of patterns for several basic types of business rules.

Fig. 3 .
Fig. 3. RIF business rule example (Business Rule; RIF notation).Source:(W3C, 2010a) ): (neg* aux* verb)(log neg* aux* verb)* (2) neg = negation; aux = auxiliary verb; verb = meaning verb; log = logical operation Auxiliary verbauxiliary verbs indirectly determine the type and disposition of the final rule.How we support the rule types depends on the type of organization and on the required robustness of the tool.There are two fundamental: canallowing verbal concept (neg + canprohibition of verbal concept) mustinjunction of verbal concept (neg + mustoptional verbal concept) Examples of verbal concepts: can get, must not have or can get.

Fig. 4 .
Fig. 4. Schema of the basic type of rule.Source: authors.

Fig. 5 .
Fig. 5. Schema of the basic type of rule with specification.Source: authors.

Fig. 7 .
Fig. 7. Scheme of the engagement of Business Rules Layer in the Information System.Source: authors.

Fig. 8 .
Fig. 8. Design and function of Business Rules layer.Source: authors.

Fig. 9 .
Fig. 9. Sample of Business Rules Layer in realized tool.Source: authors.