Formal behavior modeling and effective automatic refinement

Modeling and refining behaviors of software systems are two crucial issues in the methodology of Model-Driven Development (MDD). Traditional methods include Unified Modeling Language (UML) based methods and formal methods. Recently integrated methods by taking full advantages of these two methods have received increasing attention. Unfortunately, there are still no effective formal modeling and automatic refinement methods for behaviors. Besides, difficulties exist in generating some structures, e.g., explicit loop structures, via existing approaches. In this paper, we propose a B-notations based framework for formal modeling and automatically refining behaviors. In our framework, three issues are involved: automatic behavior modeling, theory of behavior refinement, and automatic behavior refinement. For automatic behavior modeling, we propose a B-notation based automatic modeling method for behaviors. For theory of behavior refinement, we propose a refinement theory focusing on behaviors that regards the behavior refinement problem as a search problem. For automatic behavior refinement, we propose an automatic refinement approach by combining top-down logic reduction based method and bottom-up local search based method, where explicit loop structures can be well generated.

[1]  Dominique Cansell,et al.  Refinement and Reachability in EventB , 2005, ZB.

[2]  Colin F. Snook,et al.  UML-B: Formal modeling and design aided by UML , 2006, TSEM.

[3]  Michael J. Butler,et al.  ProB: A Model Checker for B , 2003, FME.

[4]  Dave A. Thomas,et al.  MDA: revenge of the modelers or UML utopia? , 2004, IEEE Software.

[5]  Tom Mens,et al.  A formal approach to model refactoring and model refinement , 2007, Software & Systems Modeling.

[6]  Jim Woodcock,et al.  Using Z - specification, refinement, and proof , 1996, Prentice Hall international series in computer science.

[7]  Joseph M. Morris,et al.  A Theoretical Basis for Stepwise Refinement and the Programming Calculus , 1987, Sci. Comput. Program..

[8]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[9]  Ken Robinson,et al.  Specification statements and refinements , 1987 .

[10]  R. J. van Glabbeek,et al.  Comparative Concurrency Semantics and Refinement of Actions , 1996 .

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

[12]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[13]  Dan Craigen,et al.  Formal Methods Reality Check: Industrial Usage , 1993, IEEE Trans. Software Eng..

[14]  Egon Börger,et al.  The ASM Refinement Method , 2003, Formal Aspects of Computing.

[15]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[16]  Joseph M. Morris Laws of data refinement , 2004, Acta Informatica.

[17]  Ralph-Johan Back,et al.  A calculus of refinements for program derivations , 1988, Acta Informatica.

[18]  C. A. R. Hoare,et al.  An axiomatic basis for computer programming , 1969, CACM.

[19]  Ralph-Johan Back,et al.  Correctness preserving program refinements: Proof theory and applications , 1980 .

[20]  Steffen Zschaler,et al.  Tool Support for Refinement of Non-functional Specifications , 2007, Software & Systems Modeling.

[21]  Marie-Pierre Gervais,et al.  MDA Tool Components: a proposal for packaging know-how in model driven development , 2007, Software & Systems Modeling.

[22]  Mario Piattini,et al.  Managing software process measurement: A metamodel-based approach , 2007, Inf. Sci..

[23]  Kevin Lano,et al.  Constraint-driven development , 2008, Inf. Softw. Technol..

[24]  Carroll Morgan,et al.  The Refinement Calculus , 1994, NATO ASI PDC.

[25]  Mathieu Serrurier,et al.  Improving inductive logic programming by using simulated annealing , 2008, Inf. Sci..