Validation of requirement models by automatic prototyping

Prototyping is an efficient and effective way to understand and validate system requirements at the early stage of software development. In this paper, we present an approach for transforming UML system requirement models with OCL specifications into executable prototypes with the function of checking multiplicity and invariant constraints. Generally, a use case in UML can be described as a sequence of system operations. A system operation can be formally defined by a pair of preconditions and postconditions specified using OCL in the context of the conceptual class model. By analyzing the semantics of the preconditions and postconditions, the execution of the operation can be prototyped as a sequence of primitive actions which first check the precondition, and then enforce the postcondition by transferring the system from a pre-state to a post-state step by step. The primitive actions are basic manipulations of the system state (an object diagram), including find objects and links, create and remove objects and links, and check and set attribute values. Based on this approach, we have developed a tool of automatic prototype generation and analysis: AutoPA3.0.

[1]  Jifeng He,et al.  Formal and use-case driven requirement analysis in UML , 2001, 25th Annual International Computer Software and Applications Conference. COMPSAC 2001.

[2]  Bertrand Meyer,et al.  Object-Oriented Software Construction, 2nd Edition , 1997 .

[3]  Jifeng He,et al.  rCOS: A refinement calculus of object systems , 2006, Theor. Comput. Sci..

[4]  Bertrand Meyer,et al.  Object-oriented software construction (2nd ed.) , 1997 .

[5]  Ian Sommerville,et al.  Software Engineering (7th Edition) , 2004 .

[6]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[7]  Dr. Reinhold Plösch Contracts, Scenarios and Prototypes , 2004, Springer Berlin Heidelberg.

[8]  Martin Gogolla,et al.  USE: A UML-based specification environment for validating UML and OCL , 2007, Sci. Comput. Program..

[9]  Michael F. Smith Software Prototyping: Adoption, Practice and Management , 1991 .

[10]  Thomas Baar,et al.  An OCL semantics specified with QVT , 2006, MoDELS'06.

[11]  David Harel,et al.  Come, let's play - scenario-based programming using LSCs and the play-engine , 2003 .

[12]  Xiaoshan Li,et al.  Prototyping System Requirements Model , 2008, TTSS.

[13]  Horst Lichter,et al.  Prototyping in industrial software projects—bridging the gap between theory and practice , 1994, ICSE '93.

[14]  Craig Larman,et al.  Applying UML and patterns , 1997 .

[15]  Jifeng He,et al.  A Relational Model for Formal Object-Oriented Requirement Analysis in UML , 2003, ICFEM.

[16]  Reinhold Ploesch Contracts, Scenarios and Prototypes: An Integrated Approach to High Quality Software , 2004 .

[17]  Quan Long,et al.  Generating a Prototype from a UML Model of System Requirements , 2004, ICDCIT.

[18]  Jifeng He,et al.  Using Transition Systems to Unify UML Models , 2002, ICFEM.