a single sense can be reflected by multiple words in
English.
In this paper, the major contribution is three
folds. Firstly, a Semantic Business vocabulary and
Rule (SBVR) (OMG, 2008) based approach is
presented to generate a controlled (unambiguous and
consistent) representation of natural language
software requirements specification. Secondly, we
report the structure of the implemented tool
NL2UMLviaSBVR that is able to automatically
perform object-oriented analysis of SBVR software
requirements specifications. Thirdly, a case study is
solved that was originally solved with CM-Builder
(Harmain, 2003) and the results of the case study are
compared with available tools (used for automated
OOA) to evaluate the NL2UMLviaSBVR tool.
Our approach works as the user inputs a piece of
English specification of software requirements and
the NL to SBVR approach generates SBVR (an
adopted standard of the OMG) (OMG, 2008) based
controlled representation of English software
requirement specification. To generate a SBVR
representation such as SBVR rule, first the input
English text is lexically, syntactically and
semantically parsed and SBVR vocabulary is
extracted. Then, the SBVR vocabulary is further
processed to construct a SBVR rule by applying
SBVR’s Conceptual Formalization (OMG, 2008)
and Semantic Formulation (OMG, 2008). The last
phase is extraction of the OO information (such as
classes, methods, attributes, associations,
generalizations, etc) from the SBVR’s rule based
representation.
The remaining paper is structured into the
following sections: Section 2 explains that how
SBVR provides a controlled representation to
English. Section 3 illustrates the architecture of
NL2UMLviaSBVR. Section 4 presents a case study.
The evaluation of our approach is presented in
section 5. Finally, the paper is concluded to discuss
the future work.
2 SBVR BASED CONTROLLED
NATURAL LANGUAGE
SBVR was originally presented for business people
to provide a clear and unambiguous way of defining
business policies and rules in their native language
(OMG, 2008). The SBVR based controlled
representation is useful in multiple ways such as due
to its natural language syntax, it is easy to
understand for developers and users. Similarly,
SBVR is easy to machine process as SBVR is based
on higher order logic (first order logic). We have
identified a set of characteristics of SBVR those can
be used to generate a controlled natural language
representation of English.
2.1 Conceptual Formalization
SBVR provides rule-based conceptual formalization
that can be used to generate a syntactically formal
representation of English. Our approach can
formalize two types of requirements: The structural
requirements can be represented using SBVR
structural business rules, based on two alethic modal
operators (OMG, 2008): “it is necessary that…” and
“it is possible that…” for example, It is possible that
a customer
is a member. Similarly, the behavioural
requirements can be represented using SBVR
operative business rule, based on two deontic modal
operators (OMG, 2008): “it is obligatory that …”
and “it is permitted that …” for example, It is
obligatory that a customer
can borrow at most two
books
.
2.2 Semantic Formulation
SBVR is typically proposed for business modeling
in NL. However, we are using the formal logic based
nature of SBVR to semantically formulate the
English software requirements statements. A set of
logic structures called semantic formulations are
provided in SBVR to make English statements
controlled such as atomic formulation, instantiate
formulation, logical formulation, quantification, and
modal formulation. For more details, we recommend
user SBVR 1.0 document (OMG, 2008).
2.3 Textual Notations
SBVR provides couple of textual notations.
Structured English is one of the possible SBVR
notations, given in SBVR 1.0 document, Annex C
(OMG, 2008), is applied by prefixing rule keywords
in a SBVR rules. The other possible SBVR notation
is Rulespeak, given in SBVR 1.0 document, Annex
F (OMG, 2008), uses mixfixing keywords in
propositions. Both SBVR formal notations typically
help in expressing the natural language propositions
with equivalent semantics that can be captured
and
formally represented as logical formulations.
A CONTROLLED NATURAL LANGUAGE INTERFACE TO CLASS MODELS
103