J. Software Engineering & Applications, 2010, 3: 245-254
doi:10.4236/jsea.2010.33030 Published Online March 2010 (http://www.SciRP.org/journal/jsea)
Copyright © 2010 SciRes. JSEA
245
Lightweight Behavior-Based Language for
Requirements Modeling
Zhengping Liang1,2, Guoqing Wu3, Li Wan3
1College of Computer and Software Engineering, Shenzhen University, Shenzhen, China; 2State Key Laboratory of Software Engi-
neering, Wuhan, China; 3School of Computer, Wuhan University, Wuhan, China.
Email: liangzp@szu.edu.cn
Received December 22nd, 2009; revised January 15th, 2010; accepted January 19th, 2010.
ABSTRACT
Whether or not a software system satisfies the anticipated user requirements is ultimately determined by the behaviors of
the software. So it is necessary and valuable to research requirements modeling language and technique from the
perspective of behavior. This paper presents a lightweight behavior based requirements modeling language BDL with
formal syntax and semantics, and a general-purpose requirements description model BRM synthesizing the concepts of
viewpoint and scenario. BRM is good for modeling large and complex system due to its structure is very clear. In addition,
the modeling process is demonstrated through the case study On-Line Campus Management System. By lightweight
formal style, BDL & BRM can effectively bridge the gap between practicability and rigorousness of formal requirements
modeling language and technique.
Keywords: Behavior Description Language (BDL), Scenario, Viewpoint, Behavior Requirements Model (BRM)
1. Introduction
Software requirements modeling is an important phase of
software development process. To obtain high quality
requirements model, an effective and well-defined re-
quirements modeling language and technique, which both
has formal semantic and can be easily understood and
used by all kinds of stakeholders, is needed.
The existing requirements modeling languages and
techniques can be roughly divided into two categories.
One is the semi-formal style based on graph symbol, the
most famous representative of which is UML [1]. The
other is the formal style based on mathematics symbol,
such as Automata [2], Z [3], E-LOTOS [4], Petri net [5],
Pi-calculus [6], etc. The former has the advantage of
strong intuition, of being easy to be understood and used,
but it usually lacks rigorous semantics and easily leads to
an inconsistent and incomplete requirements model. On
the contrary, the latter has rigorous semantics basis and is
convenient to deduce and verify some properties, but it
has poor practicability, and requires the user and analyzer
with advanced skills.
How to deal with the gap between practicability and
rigorousness of formal requirements modeling language
and technique is a big challenge [7]. Some researches
suggest to designating formal semantic for semi-formal
language [8], and others believe the combination of graph
symbol and formal language are more positiveness [9].
Although all of those approaches have some effect to
bridge the gap, there are still inconvenient to put them into
practice. At the same time, whether or not a software
system satisfies the anticipated user requirements is ulti-
mately determined by the behaviors of the software. That
is to say, the requirements modeling language and tech-
nique need to support the description and validation of
behavior. So it is necessary and valuable to research
software requirements modeling language and technique
both has practicability and rigorousness from the per-
spective of software behavior.
Due to lightweight formal style can help to bridge the
gap between practicability and rigorousness [10], we
established a lightweight formal language BDL (Behavior
Description Language) to modeling user’s requirements,
which is based on the identifiable behaviors of software
system. What should be emphasized is that the behaviors
not only include the observable behaviors from the system
external interface but also consist of the behaviors resided
in the internal of the system. In addition, in order to sup-
port the requirements modeling of large and complex
software, a general-purpose requirements description
model BRM (Behavior Requirements Model) is proposed,
which partly synthesizes some ideas of viewpoint-oriented
requirements engineering [11] and scenario-oriented re-
quirements engineering [12].
Lightweight Behavior-Based Language for Requirements Modeling
246
The structure of this paper is organized as follows:
Section 2 introduces the formal syntax of BDL and its
structural operational semantics. Section 3 introduces the
requirements description model BRM and Section 4
demonstrates the modeling process through the case study
On-line Campus Management System. Finally, the related
works are discussed in Section 5 and the conclusions and
future works are discussed in Section 6.
2. Behavior Based Requirements Modeling
Language
A behavior is a certain interaction among two or more
entities. For easy discussion, this paper presumes a be-
havior is an interaction only between two entities. We
define a software behavior as a process during which a
subject implements an operation, service, or action to an
object. The subject and the object which may be physical
or logistic, can be a person, a software or hardware com-
ponent of system, or certain element of environment.
The structure of each behavior consists of a subject, an
object, some properties, some inputs, some outputs, and
an operation, service, or action. If a behavior can’t be
divided into two or more sub-behaviors, it is an atomic
behavior. An atomic behavior is a simple behavior. Two
or more simple behaviors form a composite behavior. In
addition, according with the interact mode of software
behaviors, the combine pattern of simple behaviors can be
divided into five categories: sequence, certainty choice,
uncertainty choice, parallel and shielding.
Based on the above consideration about software be-
havior, the followings are the syntax and structural op-
erational semantics of behavior based requirements mod-
eling language BDL.
2.1 Syntax of BDL
Suppose ,(
i
ABehIDABehIDiN )
are atomic behavior
identifier, are behavior identifier.
,(
i
BehID BehIDiN)
2.1.1 Atomic Behavior Expression
*
1
*
1
:(,[& '])
[When ]
[INFrom( )()]
[OUTTo( )()]
n
m
A
BehIDfsubobjobjs additional remarks
prepositive conditions
IDu ,...,u
IDv,...,v

where,
f
is an operation or an action;
s
ub and are the behavior’s subject and object re-
spectively;
obj
When clause denotes theac-
cording to which the behavior can execute;
prepositiveconditions
INFrom and clause denote the behavior’s in-
put data and output data respectively;
OUTTo
ID
UTTo
denotes a certain atomic behavior identifier, a ex-
ternal entity or a viewpoint identifier related to or
;
INFrom
O
({1... })
i
ui n
and ({1... })
i
vi m
are described with
the format of or ;
dataname dataname value
The superscript denotes there are 0 or multiple items
that belong to the same category. Besides, there are two
kinds of special atomic behavior:
1) Null action: :
A
BehIDIdle ;
2) End action of composite behavior:
a)
:( i
ABehIDReturnABehID )
)
//jump to execute atomic behavior i
ABehID ;
b)
:(ABehID Return
//end of execute composite bahavior.
2.1.2 Simple Behavior
//atomic behavior act as simple behaviorABehID
2.1.3 Composite Behavior
1) Sequence behavior:
a) &
;
ABehID BehID
ABehID BehID

b) &
;
B
ehID ABehID
ehID ABehID

c) 12
12
& &...&
; ;...;
n
n
B
ehID BehIDBehID
BehID BehIDBehID
 

2) Certainty choice behavior:
12
12
&& is a boolean expressionBehIDBehID b
Ifb ThenBehIDElseBehIDFi

 

3) Uncertainty choice behavior:
12
12
& &...&
...
n
n
B
ehID BehIDBehID
BehID BehIDBehID


 

4) Parallel behavior:
12
12
& &...&
|||| ... ||
n
n
B
ehID BehIDBehID
BehID BehIDBehID
 

5) Shielding behavior:
a) & //shielding atomic behavior
/
BehID ABehID
BehID ABehID

b) 1
1
& //shielding composite behavior
/
BehID BehID
BehID BehID

2.2 Structural Operational Semantics of BDL
Definition1: Suppose B is a behavior expression,
is
a state of system, then ,B
is a configuration.
,B
denotes the current state is
and the be-
Copyright © 2010 SciRes. JSEA
Lightweight Behavior-Based Language for Requirements Modeling247
havior expression to be executed is B.
 is also a
configuration, which denotes the current state is
and
there are no behavior expression need to be executed.
Definition2: Suppose b is a Boolean expression,
is
a state, eval< b,>
denotes the Boolean value of b at
.
Suppose ,( )
iiN
are atomic behavior,,BB
i()Ni
are behavior expression. The structural operational se-
mantics of BDL can be defined in this way:
1) Semantic of atomic behavior expression:
,'

2) Semantic of Null action:
,Idle
3) Semantic of End action of composite behavior:
Suppose
is the first atomic behavior of B.
(), ,Return B

(),Return
4) Semantic of sequence behavior:
1
12 2
,'
;, ,'
B
BB B




11
121 2
,','
'
;, ';,
BB
BBB B



5) Semantic of certainty choice behavior:
12 1
,,
B 

,eval bTRUE
IfbThenBElseBFi

 
12 2
,,
B 

,eval bFALSE
IfbThenBElseBFi

 
6) Semantic of uncertainty choice behavior:
11
12 1
,','
,'
,'
BB
BB B

 


22
12 2
,','
,'
,'
BB
BB B

 


7) Semantic of parallel behavior:
11
121 2
,','
'
|| ,'|| ,
BB
BBB B




22
12 12
,','
'
|| ,||',
BB
BB BB

 


8) Semantic of shielding behavior:
Suppose '; '
B
B
.
,','
/, '/,'
BB
BB

 
 
 
(' )
//shielding atomic behavior
Suppose ;'
i
BBB
.
11
,','
/, '/,'
BB
BB BB


 
 1
()
i
BB
//shielding composite bahavior
3. Behavior Based Requirements Description
Model
As to small and simple software system, BDL can be used
to describe its requirements model directly due to BDL’s
syntax is also simple and small. But it is hard to describe
requirements model of large and complex software system
using BDL directly because on the one side the software
scale and structure may be very complicated, and on the
other side many kinds of stakeholders who reside in dif-
ferent time zone and space, may be involved.
To deal with large and complex problems, people often
employ the strategy of divide-and-rule. Based on this
method, we propose a general-purpose requirements de-
scription model BRM, which synthesizes the concepts of
viewpoint and scenario. The model process of BRM con-
sists of five steps: first, to identify the scope of the whole
problem domain of the software system, next, to divide
the problem domain into some interrelated sub-domains.
After that, to list all potential viewpoints and their se-
quence or overlap relationships of each sub-domain based
on the viewpoint identifying methods of viewpoint-oriented
requirements engineering [11]. Later on, to look for dif-
ferent scenarios and their sequence or overlap relation-
ships of each viewpoint. Finally, to adopt the scenario
describing way of scenario-oriented requirements engi-
neering [12] to establish each scenario model using BDL.
BRM is composed of three kinds of model. One is the
scenario behavior model, another is viewpoint behavior
model, and the last is system behavior model. The fol-
lowings are the formal definition of them.
Definition3 (Scenario behavior model): A scenario’s
behavior model is a 6-tuple:
s
M=(B, ;, If, +, ||, /)
where,
B is the set of behaviors within the scenario, and each
behavior in has a corresponding behavior expression;
B
;, If, +, ||, / respectively denotes the relationship of
sequence, certainty choice, uncertainty choice, parallel
and shielding between behaviors.
The syntax structure of scenario behavior model is de-
fined as Figure 1, where, is a
certain atomic behavior expression;
is one of the relation symbol between behaviors, that is
.
: ABehIDAtomic behavior
BehaviorOperator
;, If, +, ||, /
Definition4 (Viewpoint behavior model): A view-
point’s behavior model is a 4-tuple:
v
M=(S, , , )
Copyright © 2010 SciRes. JSEA
Lightweight Behavior-Based Language for Requirements Modeling
Copyright © 2010 SciRes. JSEA
248
where, each viewpoint in has a corresponding viewpoint
behavior model;
V
S is the set of scenarios within the viewpoint, and each
scenario in has a corresponding scenario behavior model;
S is a 2-tuple operator, which denotes two viewpoints
have the sequence relationship in terms of execution;
is a 2-tuple operator, which denotes two scenarios
have the sequence relationship in terms of execution;
is also a 2-tuple operator, which denotes two view-
points have overlaps in domain, that is, the sub-domains
where they belong to have common elements;
is also a 2-tuple operator, which denotes two sce-
narios have overlaps in content, that is, they have common
behaviors;
denotes two or more viewpoints are independent of
each other in execution order and in domain.
denotes two or more scenarios are independent of
each other in execution order and in content. These relation operators can also be use to assisting
analyze and check requirements model’s properties from
the aspect of syntax and semantic at the phase of re-
quirements analysis.
These relation operators can be use to assisting analyze
and check requirements model’s properties from the as-
pect of syntax and semantic at the phase of requirements
analysis. The syntax structure of system behavior model is de-
fined as Figure 3, where, ViewpointOperator is the
viewpoint’s relation symbol or .
The syntax structure of viewpoint behavior model is
defined as Figure 2, where,is the sce-
nario’s relation symbol or
ScenarioOperator
. Obviously, because the structure and relationship of
above models are very clear, people can smoothly transfer
the user requirements expressed by natural languages to
formal requirements model expressed by BDL based on
BRM. Hence, BDL & BRM make a moderate balance
between practicability and rigorousness.
Definition5 (System behavior model): A software
system’s behavior model is a 4-tuple:
M=(V, , , )
where,
Vis the set of viewpoints related to the system, and
*
SCBEGIN
[ABEH: //list of atomic behaviors, it also can be given in BEH directly
:
[,: ];;]
BEH: //list of behaviors
|
ScenarioID
ABehIDatomic behavior
ABehIDatomic behavior
BehIDAbehID atomic b
*
| |
(||) (||)
[(||)] //at lease one behavior in a scenario
[,
ehavior BehID
AbehID atomic behavior BehIDBehaviorOperator AbehID atomic behavior BehID
BehaviorOperator AbehID atomic behavior BehID
BehID Ab
**
| | |
(||) (||)
[(||)]];;
//scenario behav
ehID atomic behavior BehID
AbehID atomic behavior BehIDBehaviorOperator AbehID atomic behavior BehID
BehaviorOperator AbehID atomic behavior BehID
SBehID
*
ior expression
( | [ ]);;
SCEND
BehID BehIDBehaviorOperator BehID BehaviorOperator BehID
Figure 1. Syntax of scenario behavior model
VPBEGIN
[];; //used to store data input from other viewpoint and data
//shared by different scenarios within the viewpoint
ViewpointID
data storage pool ID
ScenarioID
*
//at lease one scenario in a viewpoint
[,];;
_ //set of relationship between scenarios
{[
[,
ScenarioID
SC Relationship
ScenarioID ScenarioOperator ScenarioID
ScenarioID Sce

*
]]};;
VPEND
narioOperator ScenarioID
Figure 2. Syntax of viewpoint behavior model
Lightweight Behavior-Based Language for Requirements Modeling 249
4. Case Study
On-line Campus Management System (OCMS) consists of
several subsystems related each other, which used for the
daily management of education administrative unit and
schools. Its user requirements have modeled using BDL &
BRM. In this section, we demonstrate a partial of function
requirements model of OCMS.
The following is part of the functions of Student In-
formation Management Subsystem:
1) Student needs to scan his or her IC card at the
door-control reader when he or she enters or leaves
schoolyard, at the same time, a correlative short message
will be automatically sent to the student’s parents’ mobile
phone;
2) Teachers can process students’ all kinds of infor-
mation and send student’s information to his or her par-
ents by the way of short message and E-mail;
3) Administrator distributes IC cards and manages its
authorization. Besides, Administrator sets the students
attendance rules and the system automatically creates the
students attendance reports;
4) Parents can query his or her child’s all kind of in-
formation at school by the way of short message, auto-
matic voice and webpage.
The logic structure of above functions as Figure 4.
Although the above function requirements look very
simple, there are many complicated and redundant details.
For example, how long and how to does the attendance
report is created, how to manage the input, modification,
processing, storage, transmission, respondence, etc. of all
kinds of students’ information among different domain
elements. Due to space limitations, we directly give the
analysis result of above requirements and only demon-
strate a partial of requirements model using BDL & BRM.
The problem domain boundary of above user require-
ments is clear. The followings are the five sub-domains of
it:
Sub-domain 1: student, IC card, IC reader, mainframe,
door and swivel of door;
Sub-domain 2: administrator, attendance rules, terminal,
mainframe, IC card, IC reader;
Sub-domain 3: teacher, all kinds of student’s informa-
tion at school, terminal, mainframe;
Sub-domain 4: parents, mobile phone, telephone, ter-
minal, mobile phone networks, telephone networks,
Internet, all kinds of student’s information at school;
Sub-domain 5: mainframe, IC reader, terminal, mobile
phone networks, telephone networks, Internet, attendance
report, all kinds of student’s information at school, list of
IC card information.
*
SYBEGIN
//at lease one viewpoint in a system
[,] ;;
_ //set of relationship between viewpoints
{[
SystemID
ViewpointID
ViewpointID
VP Relationship
ViewpointID ViewpointOperator ViewpointI
*
[,]]};;
SYEND
D
ViewpointID ViewpointOperator ViewpointID

Figure 3. Syntax of system behavior model
Figure 4. Logic structure of student information management subsystem
Copyright © 2010 SciRes. JSEA
Lightweight Behavior-Based Language for Requirements Modeling
250
Table 1. Relationships of viewpoints belong to Sub-domain 5
Relationships VP_ICInfo_Manage VP_AttenRep_Create VP_Query_Respond VP_Info_Send VP_Info_Edit
VP_ICInfo_Manage \
VP_AttenRep_Create \ \
VP_Query_Respond \ \ \ ,
,
VP_Info_Send \ \ \ \
,
VP_Info_Edit \ \ \ \ \
Notes: “\” denotes null.
(1) ICreaderDisp1:display(ICreader, screen)
OUTTo(screen)(="Please scanning card!")
(2) DoorConWait:idle() //waiting user to scan card
(3) ScanC:scancard
Prompt
(person, IC)
(4) ReadC:read(ICreader, IC)
OUTTo(SendCInfo)(, ),
(5) SendCInfo:send(ICreader, Mainframe) //send the username to viwepoint VP_ICInfo_Manage
ICNousername
OUTTo(VP_ICInfo_Manage)(, )
(6) RecVerInfo:receive(ICreader, Mainframe) //receive the verification result of IC
INFrom(datapool)() //th
ICNo username
result e result is store in the viewpoint's data pool
(7) ICReaderDisp2:display(ICreader, screen)
OUTTo(screen)(, ="Coming Please!")
(8) AllowOpen:allow(ICreader, sw
username Prompt
ivel)
OUTTo(swivel)()
(9) OpenDoor:open(swivel, door) //the action of open the door
(10) CloseDoor:close(swivel, door)
signal
Figure 5. Atomic behavior expressions of the scenario with the right to open the door
These sub-domains related each other through common
elements. For example, Sub-domain 1 and Sub-domain 5
has the common element IC reader, which hints some
viewpoints of them may have the relationship “” defined
in Definition 5.
As to Sub-domain 5, we can identify five viewpoints:
VP_ICInfo_Manage, VP_AttenRep_Create, VP_Query
_Respond, VP_Info_Send, VP_Info_Edit. The relation-
ships of them as Table 1 using the shape of strictly upper
triangular matrix.
As to Sub-domain 1, there is only one viewpoint
VP_ScanCard, which have the following relationships
with the viewpoints belong to Sub-domain 5:
<VP_ScanCard VP_ICInfo_Manage>, <VP_Scan
Card VP_Info_Send>, etc.
Now, we give a demonstration of VP_ScanCard’s
modeling process and its behavior model. The followings
are the detailed user requirements of this viewpoint:
When a student wants to enter or leave school, she or he
needs to scan her or his IC card at the IC reader firstly. If
the IC-holder is authorized to enter or leave the school,
the door-control system will display the IC-holders name
on the IC readers screen and open the door. Otherwise, a
warning sound will be played in the IC readers speaker,
and the reason why the person is not permitted to enter or
leave will be displayed on the screen.
In this viewpoint, there are two scenarios: one is the
IC-holder has the right to enter or leave school
SC_ValidScanCard, the other is the opposite SC_In-
validScanCard.
First, we list all atomic behavior expressions belong to
SC_ValidScanCard according to above requirements as
Figure 5.
Then, the scenario behavior model of SC_Valid-
ScanCard can be established as Figure 6 according to the
interrelated relationship of above atomic behavior ex-
pressions and Definition 3.
Next, the scenario behavior model of SC_Invalid
ScanCard as Figure 7 can be established similarly.
After that, due to SC_ValidScanCard and SC_ In-
validScanCard have the common elements in domain, the
viewpoint behavior model of VP_ScanCard is established
as Figure 8.
Here, the behavior model of VP_ScanCard is estab-
lished successfully. Behavior model of other user re-
quirements can be established similarly.
Copyright © 2010 SciRes. JSEA
Lightweight Behavior-Based Language for Requirements Modeling 251
SC _ValidScanCard
SCBEGIN
ABEH:
ICreaderDisp1:display(ICreader, screen)
OUTTo(screen)(="Please scanning card!"),
DoorConWait:idle(),
ScanC:sc
Prompt
ancard(person, IC),
ReadC:read(ICreader, IC)
OUTTo(SendCInfo)(, ),
SendCInfo:send(ICreader, Mainframe)
OUTTo(VP_ICInfo_Manage)(
ICNo username
ICNo , ),
RecVerInfo:receive(ICreader, Mainframe)
INFrom(datapool)(),
ICReaderDisp2:display(ICreader, screen)
OUTTo(s
username
result
creen)(, ="Coming Please!"),
AllowOpen:allow(ICreader, swivel)
OUTTo(swivel)(),
OpenDoor:open(swivel, door),
CloseDoor:close(swivel,
username Prompt
signal
door);;
BEH:
BehValidUResp=ICReaderDisp2AllowOpen,
BehValidU=
ICreaderDisp1;
DoorConWait;
ScanC;
ReadC;
SendCInfo;
RecVerInfo;
BehValidUResp; //if the IC is valid, open the door
OpenDoor;
CloseDoor;
Return(ICreaderDisp1);;
SBehID=BehValidU;;
SCEND
Figure 6. Scenario behavior model with the right to open the door
5. Related Works
The semi-formal and formal requirements modeling lan-
guage and technique both have achieved prominent out-
comes in the past twenty years. As to the behavior based
requirements modeling, the importance and validity of it
has also recognized by many researchers from academia
and industry [13-20].
Ayaz et al. propose a behavioral specification language
for complex systems—Viewcharts, which extends State-
charts to include behavioral views and their compositions
[13]. And they define the syntax of viewcharts as attrib-
uted graphs and describe dynamic semantics of view-
charts by object mapping automata [14]. Viewcharts no-
tation allows views to be specified independent of each
other, which is similar to BDL. A difference between this
work and ours is that Viewcharts does not consider behav-
iors reside in the internal of system, but only observable
behaviors from the external system.
Assem proposes an event-oriented requirements defi-
nition approach named Behavioral Pattern Analysis Ap-
proach (BPA) [15]. In BPA, Event is the primary object
of the world model. And it use the so-called BPA Be-
havioral Pattern, which is the template that one uses to
model and describe an event, takes the place of the use
case in the UML. BPA is a more effective alternative to
use cases in modeling and understanding the function
requirements. However, BPA is special for real-time
systems, multi-agent systems and safety-critical systems.
Besides, it lacks clear links among Behavioral Patterns
and can’t be used for modeling complex system and is not
convenient for requirements verification. On the contrary,
our approach definitely labels the relationships of sce-
narios, viewpoints, and sub-domains, can effectively
Copyright © 2010 SciRes. JSEA
Lightweight Behavior-Based Language for Requirements Modeling
252
SC _InvalidScanCard
SCBEGIN
ABEH:
ICreaderDisp1:display(ICreader, screen)
OUTTo(screen)(="Please scanning card"),
DoorConWait:idle(),
Prompt
//waiting user to scan card
ScanC:scancard(person, IC),
ReadC:read(ICreader, IC)
OUTTo(SendCInfo)(, ),
SendCInfo:send(ICreader, Mainframe)
ICNo username
OUTTo(VP_ICInfo_Manage)(, ),
//receive the verification result of IC, and the result is store in the viewpoint's data pool
RecVerInfo:receive(ICreader, Mainfra
ICNo username
me)
INFrom(datapool)(),
PlayWarnSound:play(ICreader,speaker)
OUTTo(speaker)(),
ICReaderDisp2:display(ICreade
result
soundfile
r, screen)
OUTTo(screen)(="Overdue IC card!"),
ICReaderDisp3:display(ICreader,screen)
OUTTo(screen)(="The IC card ha
Prompt
Prompt s reported be lost!"),
ICReaderDisp4:display(ICreader,screen)
OUTTo(screen)(="Invalid user, unknown reason!");;
BEH:
BehInvalidUResp=
Prompt
PlayWarnSound
If ="overdue"
Then ICReaderDisp2
Else If ="lost"
Then ICReaderDisp3
Else ICReaderDisp4
result
result
Fi
Fi,
BehInvalidU=
ICreaderDisp1;
DoorConWait;
ScanC;
ReadC;
SendCInfo;
RecVerInfo;
BehInvalidUResp; //if the IC is invalid, don't open the door
Return(ICreaderDisp1);;
SBehID=BehInvalidU;;
SCEND
Figure 7. Scenario behavior model without the right to open the door
VP _ ScanCard
VPBEGIN
datapool;; //the data pool of this viewpoint
SC_ValidScanCard,
SC_InvalidScanCard;;
SC_Relationship={<SC_ValidScanCard SC_InvalidScanCard>};;
VPEND
Figure 8. Viewpoint behavior model of the scanning card
Copyright © 2010 SciRes. JSEA
Lightweight Behavior-Based Language for Requirements Modeling 253
support the modeling and verification of large and com-
plex system.
Khairuddin et al. propose a requirements notation
RNSMA and a behavioral approach to specify interactive
multimedia applications [16]. RNSMA is based on Petri
Net, but its semantics are extended to support reactive
systems. In RNSMA, transitions due to events are subdi-
vided into automatic, user and clock. The transitions due
to tasks to be done are subdivided into animate, image,
sound, text and video. RNSMA uses an extremely simple
syntax, which can be read even by novices as a form of
pseudo-code. Compared with RNSMA, our work can
support general-purpose requirements modeling, not spe-
cial for stand-alone multimedia applications.
UML is a general-purpose and most famous modeling
language for software engineering, which is standardized
by OMG [1]. Requirements modeling manner in UML
consists of the use case diagram, sequence diagram, state
diagram and activity diagram. UML provides standard
notation for modeling software analysis and design. But a
common and fair criticism of UML is that it is gratuitously
large and complex, imprecise semantics, and a dysfunc-
tional diagram interoperability standard (XMI). As an-
other OMG standard, SysML acts as a general-purpose
modeling language for systems engineering applications
[17]. SysML is based on UML, and it reduces UML’s size
and software bias while extending its semantic to model
requirements and parametric constraints. These capabili-
ties are essential to support requirements engineering and
performance analysis.
Besides, there are some researches based on UML and
SysML. Luigi et al. propose combining problem frames
and UML to describe software requirements in order to
improve the linguistic support for problem frames and the
UML development practice by introducing the problem
frames approach [18]. Pietro et al. propose the integration
of SysML and problem frames by presenting how a set of
well known problem frames can be represented by means
of SysML [19]. Atle et al. propose to extend UML se-
quence diagrams to model trust-dependent behavior with
the aim to support risk analysis [20]. All of these re-
searches are good for the enhancement of behavior mod-
eling.
In addition, there are many kinds of formal languages
and techniques for requirements modeling, especially for
behavior requirements. Most of them are based on state or
event. Some are standardized by different international
organization, such as Z [3], E-LOTOS [4]. Others may be
very famous in industry, such as B [21], VDM [22]. Al-
though formal languages and techniques have many ad-
vantages, it is difficult to put into practices totally. On the
contrary, our approach can be easily used to transform
natural language requirements to formal requirements
model because the syntax of BDL and the structure of
BRM are very simple and clear.
6. Conclusions and Future Work
Software requirements modeling from the perspective of
behavior can not only supports the description and mod-
eling of function requirements but also supports the
analysis and deduction of non-function requirements. As a
lightweight formal requirements description language and
model, BDL & BRM can help to smoothly transfer the
user requirements expressed by natural languages to
formal requirements model expressed by BDL. And the
formal model BRM is also good for subsequent require-
ments verification and validation. Hence, BDL & BRM
can effectively bridge the gap between practicability and
rigorousness of formal requirements modeling language
and technique. Several completed case studies also testi-
fied this kind of feature of BDL & BRM.
Currently, we have realized the prototype requirements
modeling tool and experimented some case studies. Future
works will mainly focus on to define all kinds of re-
quirements properties based on BDL&BRM, and to de-
sign and implement corresponding automatic analyzing
and deducing methods.
7. Acknowledgements
This work is supported by the National High Technology
Research and Development Program of China under contract
2007AA01Z185, the Open Research Foundation of Chinese
State Key Laboratory of Software Engineering under grant
SKLSE20080702, and the SZU R/D Fund 200747.
REFERENCES
[1] Object Management Group, “OMG Unified Modeling
Language (OMG UML) Version 2.0,” 2005.
[2] J. E. Hopcroft, R. Motwani, and J. D. Ullman, “Introduc-
tion to automata theory, languages, and computation,” 2nd
Edition, Pearson Education, 2000.
[3] “Information technologyZ formal specification nota-
tion Syntax, type system and semantics,” ISO/IEC
13568, 2002.
[4] “Information processing systems—Open systems inter-
connection—Enhancements to LOTOS—A formal des-
cription technique based on the temporal ordering of
observational behavior,” ISO/IEC 15437, 2001.
[5] J. L. Peterson, “Petri net theory and the modeling of
systems,” Prentice Hall, 1981.
[6] R. Milner, “Communicating and mobile systems: The
Pi-calculus,” Cambridge University Press, 1999.
[7] J. P. Bowen and M. G. Hinchey, “Ten commandments of
formal methods... ten years later,” IEEE Computer, Vol.
39, No. 1, pp. 40–48, January 2006.
[8] J. Kong, K. Zhang, J. Dong, and D. Xu, “Specifying
behavioral semantics of UML diagrams through graph
transformations,” Journal of Systems and Software, Vol.
82, No. 2, pp. 292–306, April 2009.
Copyright © 2010 SciRes. JSEA
Lightweight Behavior-Based Language for Requirements Modeling
254
[9] C. Attiogbe, P. Poizat, and G. Salaun, “A formal and
tool-equipped approach for the integration of state diagrams
and formal datatypes,” IEEE Transactions on Software
Engineering, Vol. 33, No. 3, pp. 157–170, March 2007.
[10] M. Hinchey, M. Jackson, and P. Cousot, J. P. Bowen, and
T. Margeria, “Software engineering and formal methods,”
Communications of the ACM, Vol. 51, No. 9, pp. 54–59,
September 2008.
[11] G. Kotonya and I. Sommerville, “Requirements engineer-
ing with viewpoints,” Software Engineering Journal, Vol.
11, No. 1, pp. 5–18, January 1996.
[12] A. Sutcliffe, “Scenario-based requirements engineering,”
in Proceedings of the 11th IEEE International Conference
on Requirements Engineering, Monterey, California, pp.
320–329, September 2003.
[13] A. Isazadeh, D. A. Lamb, and G. H. MacEwen, “View-
charts: A behavioral specification language for complex
systems,” Proceedings of the 4th International Workshop
on Parallel and Distributed Real-Time Systems, Honolulu,
Hawaii, pp. 208–215, April 1996.
[14] A. Isazadeh and J. Karimpour, “Viewcharts: Syntax and
semantic,” Informatica, Vol. 19, No. 3, pp. 345–362,
March 2008.
[15] A. E. Ansary, “Requirements definition of real-time
system using the Behavioral Patterns Analysis (BPA)
approach: The elevator control system,” Proceedings of
the Second International Conference on Software and Data
Technologies, Barcelona, pp. 371–377, July 2007.
[16] K. Hashim and J. Yousoff, “A behavioral requirements
specification approach for interactive multimedia appli-
cations,” Proceedings of the 19th Australian Conference
on Software Engineering, Perth, West Australia, pp.
696–699, March 2008.
[17] “OMG Systems Modeling Language (OMG SysML)
Version 1.1,” Object Management Group, 2008.
[18] L. Lavazza and V. D. Bianco, “Combining problem
frames and UML in the description of software require-
ments,” In: B. Luciano, H. Reiko, Ed., Lecture Notes in
Computer Science, Vol. 3922, pp. 199–213, 2006.
[19] P. Colombo, V. del Bianco, and L. Lavazza, “Towards the
integration of sysml and problem frames,” Proceedings of
the 3rd International Workshop on Applications and
Advances of Problem Frames, Leipzig, pp. 1–8, May 2008.
[20] A. Refsdal and K. Stolen, “Extending UML sequence
diagrams to model trust-dependent behavior with the aim
to support risk analysis,” Science of Computer Program-
ming, Vol. 74, No. 1–2, pp. 34–42, January 2008.
[21] S. Schenider, “The B-method: An introduction,” Palgrave,
2001.
[22] C. B. Jones, “Systematic software development using
VDM,” Prentice Hall, 1990.
Copyright © 2010 SciRes. JSEA