Jun 102014
 

SBVRThe demand for support of business vocabularies in model-driven development becomes more and more evident. Yet this is being left out of focus by the majority of modeling tools vendors. Today, there are very few modeling tools which offer the functionality to manage business vocabularies and use them as an integral part of the whole system development project; none of the analyzed tools use any widely accepted standard for describing such vocabularies. In this post, the basic aspects of the implementation technology of semantically rich business vocabularies in modeling tool environments are presented. The solution is based on a novel OMG standard “Semantics for Business Vocabularies and Business Rules (SBVR)” and is implemented by making use of the extension mechanism of Unified Modeling Language (UML) and reusable functional components of the modeling tool, MagicDraw.

Introduction

In general, a business vocabulary (BV) may be defined as a set of “specialized terms and definitions of concepts that a given organization or community uses in their talking and writing in the course of doing business” [1]. Being a part of business model, a BV greatly contributes to the intra- and inter-organizational communication as well as various other activities of business process management (BPM). Moreover, business models become an integral part of the systems development life cycle. Current results of our open-ended survey [2] on the applicability of BV show that over 80 percent of respondents use some kind of BV in their projects as well.

Despite the actual demand for support of BV there are very few modeling tools which offer this functionality to manage and use vocabularies as an integral part of the whole development project and beyond. Moreover, even these few modeling tools do not support any widely accepted standard for describing vocabularies, which is an essential shortcoming for any kind of model, especially in model-driven systems development. We believe this situation is caused by objective circumstances. While considering the implementation of a standard-based BV support in a modeling tool, one should take into account the following:

  • Over the years the majority of modeling tools have evolved to support de facto the most popular modeling standard, Unified Modeling Language (UML). An optimal way of introducing new modeling standard to a modeling tool is by extending its supported UML metamodel and customizing the existing modeling constructs to meet the requirements of the newly introduced standard. To achieve this, a modeling tool should support UML profiling and domain specific language (DSL) development, which are by far not the most common and well-developed features of a statistic modeling tool.
  • OMG’s standard Semantics of Business Vocabularies and Business Rules (SBVR) [1] is probably the first actively and constantly supported initiative to formalize and standardize the specification of BV suitable for wide-range practical applications. Nevertheless, as of yet, OMG did not provide a UML profile for SBVR (like it did with Business Process Model and Notation (BPMN) in 2013), nor did it specify how to integrate SBVR models with other models describing business and systems.

In this post, basic aspects of the implementation technology of semantically rich SBVR Business Vocabulary (SBVR BV) in a modeling tool environment are presented. The post is structured in three sections: first, the results of analysis on current support of BV in modeling tools are discussed; next, basic aspects of the proposed implementation technology are introduced by presenting the UML profile for SBVR BV and DSL to support the model-driven specification of core SBVR concepts, and the adoption of the existing glossary capability of the modeling tool MagicDraw; the last section concludes with the results.

Current Status of Business Vocabulary Support in Modeling Tools

The analysis of current status of BV support in modeling tools was carried out in two stages:

  • Ten most popular modeling tools were selected by combining the results from [3] and [4]. Source [4] were used to identify the most popular modeling tools. These tools were put for our review looking for BV support. Tools supporting the management of BV were selected for the second stage.
  • The selected modeling tools were assessed using a more in-depth comparative analysis against a set of primary and secondary features related to the management of BV in a modeling tool. The best evaluated modeling tool was selected as the SBVR BV implementation environment.

Results of the first stage of analysis revealed that BV support in modeling tools is still immature – most of the tools did not have such thing as BV at all, not to mention the management capabilities. Three modeling tools: Enterprise Architect [5], Visual Paradigm [6] and MagicDraw [7] were selected for the second stage of analysis (Table I) as they had support for BV management, although none of them supported SBVR standard.

TABLE (I).  Comparison of the selected CASE tools (against primary features related to BV management)

Feature of a CASE tool *

Enterprise Architect

Visual Paradigm

MagicDraw

Support of model-based vocabulary

+

+

UML profiling

++

++

++

Domain specific customization (DSL)

++

+

++

Vocabulary visualization with diagrams

+

+

Support of more than one vocabulary in a project

+

++

Reuse of vocabularies in new projects

+

+

+

Support of multilingualism in vocabularies

++

Automatic recognition of a specified term in text

+

+

+

Autocomplete option when typing text

+

+

* The following evaluation system was used: “–” not supported, “+” supported, “++” well-supported.

As a result, MagicDraw was selected as the most appropriate implementation platform. In addition to a good coverage of the primary features, MagicDraw provides useful secondary features to encourage the usability of SBVR BV in the CASE tool, such as, creation of new BV entries from the existing textual content in any model (e.g. UML, BPMN) of the project, highly customizable reporting, advanced search capabilities, comprehensive user guides.

Basic aspects of Implementing Semantically Rich Business Vocabulary in MagicDraw

UML Profile and DSL for SBVR Business Vocabulary

The value of UML profiling is well-known and widely discussed ever since the introduction of this extension mechanism by OMG to the UML standard. Currently, OMG has officially introduced fifteen UML profiles for various standards; modeling tools vendors also develop their own UML profiles to support a greater variety of OMG standards, e.g. MagicDraw supports UML profiles for the development of SysML, SoaML, UPDM and other models. Nevertheless, neither OMG, nor any modeling tool vendor, has yet introduced a UML profile for SBVR.

In Figure 1, we present a UML profile for SBVR BV developed by our research group. The profile was developed in two basic steps: 1) the official EMOF metamodel of SBVR was imported into the modeling tool MagicDraw; 2) EMOF metamodel concepts were transformed into corresponding UML stereotypes, thus extending MagicDraw’s native UML metamodel. The extensions were made with regard to general recommendations for UML profile presented in SBVR standard (Annex C in [1]).

It should be mentioned that the proposed UML profile for SBVR BV can be successfully implemented in other modeling tools supporting UML extension mechanism as well. However, the profile alone is not enough to start using SBVR BV in a modeling tool. Another step in the SBVR BV implementation process is the development of specific DSL for the profile, which is a tool-specific task.

Figure 1. UML profile for SBVR Business Vocabulary (core concepts)

Figure 1. UML profile for SBVR Business Vocabulary (core concepts)

In a modeling tool’s environment, the UML profile itself does not specify any usability features for the newly introduced modeling language. In order to actually start modeling, one must tailor a modeling tool accordingly. State of the art modeling tools provide a capability of DSL customization [8], which allows one to customize the modeling environment in a model-driven way to meet specific requirements of a specific modeling language.

    Figure 2. Customized MagicDraw modeling environment for the development of SBVR business vocabularies

Figure 2. Customized MagicDraw modeling environment for the development of SBVR business vocabularies

In our solution, the DSL was created to meet certain requirements for model-driven specification of SBVR BV (Figure 2). Distinctive features of this solution are:

  • In SBVR, each BV concept may additionally be specified by a set of predefined properties (such as description, dictionary basis, or more general concept, necessity/possibility etc.) – this allows one to store as much relevant data about each concept as needed (Tag 1 in Figure 2).
  • Business Vocabulary Diagram (a.k.a. Fact Diagram) is introduced (Tag 2 in Figure 2). One BV model may have more than one BV diagram, each of the diagrams representing certain aspect of the BV model. Diagramming is performed using a set of customized notation elements (Tag 3 in Figure 2).
  • SBVR BV is stored in a tree-like structure just like any other model in the project (Tag 4 in Figure 2). Additionally, custom filters for basic SBVR concept types (i.e. general concepts, individual concepts, roles and verb concepts) were created to enhance the usability of the model browser. Each time a new BV concept is created, it is automatically filtered into corresponding model view package.

Adopting the Modeling Tool’s Native Glossary and Reporting Capabilities

In addition to UML profile for SBVR BV and DSL customization, we adopted the existing MagicDraw’s Glossary capability. For each developed BV model one may now create one or more glossaries simply by dragging and dropping selected BV concepts into glossary table (Figure 3). Descriptions of glossary entries are inherited from BV concept’s definition, which is one of the default properties of a BV concept.

add

Figure 3. Integrating SBVR Business Vocabulary with MagicDraw’s native glossary

Having a glossary created for a BV model gives the following usability and model integration advantages:

  • Whenever a concept is used in any other model (as a model element or simply in a plain text) of the project, it is automatically underlined, thus showing that this is a concept specified in BV.
  • The concept description is shown whenever the mouse pointer moves over the concept representation.
  • Whenever typing a text, BV concepts are suggested via auto-completion.

One of the distinctive features of SBVR is that this standard supports more than one representation of BV concepts. A business vocabulary can be represented graphically, i.e. via BV diagrams, which we have already presented, or in textual form, e.g. in Structured English (as well as any other language of one’s choice). To complete our solution, we used MagicDraw’s Reporting capability to generate a textual specification for a BV model. Such specification can be opened, interpreted syntactically and managed by our earlier developed SBVR editor – VeTIS tool [9].

Conclusions

This research presents basic aspects of arguably the first modeling tool-supported solution for the model-driven specification of semantically rich SBVR business vocabularies. Model-based SBVR business vocabularies become an integral part of any model-driven development project, whather it is BPMN-based business process modeling or UML-based information system design. In adition, business vocabularies may be interpreted not only as an integral but also as an integrating part of a system.

At the core of the presented solution is the UML profile for SBVR, which can be adopted by any UML-compliant modeling tool and thus popularizing the use of standard-based business vocabularies in model-driven development.

References

[1]     Object Management Group. Semantics of Business Vocabulary and Business Rules (SBVR) v.1.2.  See: www.omg.org/docs/formal/08-01- 02.pdf (2013).
[2]     T. Skersys. A Survey: Do you need business vocabularies in your projects? See: www.researchgate.net/post/Do_you_need_ business_vocabularies_in_your_projects (2014).
[3]     Wikipedia, the Free Encyclopedia. UML CASE tools comparison. See: www.en.wikipedia.org/wiki/List_of_Unified_ Modeling_Language_tools (2014).
[4]     Google, Inc. Google trends. Available at: www.google.com/trends (2014).
[5]     Sparx Systems. Enterprise Architect – UML Modeling and Lifecycle Tool Suite. See: www.sparxsystems.com.au (2014).
[6]     Visual Paradigm International. Visual Paradigm for UML – Software design tools for agile software development. See: www.visual-paradigm.com/product/vpuml (2014).
[7]     No Magic, Inc. MagicDraw – Architecture Made Simple. See: www.nomagic.com/products/magicdraw.html (2014).
[8]     No Magic, Inc. UML Profiling and DSL. See: www.nomagic.com/files/manuals/MagicDraw%20UMLProfiling&DSL%20 User Guide.pdf (2011).
[9]     L. Nemuraite, T. Skersys, A. Sukys, E. Sinkevičius, L. Ablonskis. VETIS tool for editing and transforming SBVR business vocabularies and business rules into UML&OCL models. 16th International Conference on Information and Software Technologies (IT 2010). pp. 377-384 (2010).

This is the part of the article which will be presented by Skersys, T., Pavalkis S., Nemuraite, L. at 4th Symposium on Computer Languages, Implementations and Tools (SCLIT2014) at 12th International Conference of Numerical Analysis and Applied Mathematics (ICNAAM 2014).

5.00 avg. rating (98% score) - 2 votes

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

Time limit is exhausted. Please reload CAPTCHA.