Paper Menu >>
Journal Menu >>
|  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 B 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-holder’s name  on the IC reader’s screen and open the door. Otherwise, a  warning sound will be played in the IC reader’s 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 technology—Z 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  | 

