Compliance of CMMI Process Area  with Specification Based Development

The development of reliable systems is still a major challenge for software industry. Construction of such a system requires both process and product based quality assurance. Many process improvement models have been suggested in industry and found appropriate for achieving high quality products. Examples of such process improvement models are CMM/CMMI, Agile, SPICE, the ISO 9000 family etc. However, implementation of these process improvement models often adds significant extra efforts. To minimize process implementation costs we propose a formal specification based product development model which integrates product and process quality. Formal specification methods have been in practice since decades, and have been successful in the development of safety-critical systems. Some formal methods are VDM, Z, LOTOS, CSP and CASL. In particular, we investigate the compliance of CMMI process area with the formal specification language CSP-CASL. CMMI is based on the notion of process area, which is a cluster of best practices with particular goals in a certain area. For each of the relevant process areas, we show how formal specifications can contribute to achieve the specific goals of that process area. This integration is a new result for achieving process compliance parallel with product development. We demonstrate our approach with an industrial case study.

[1]  Markus Roggenbach,et al.  Towards a Formal Specification of an Electronic Payment System in CSP-CASL , 2004, WADT.

[2]  Marie-Claude Gaudel,et al.  Testing Can Be Formal, Too , 1995, TAPSOFT.

[3]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[4]  Markus Roggenbach,et al.  Specification-based testing for refinement , 2007, Fifth IEEE International Conference on Software Engineering and Formal Methods (SEFM 2007).

[5]  Patrícia Duarte de Lima Machado Testing from Structured Algebraic Specifications , 2000, AMAST.

[6]  Jan Tretmans,et al.  Automatic Testing with Formal Methods , 1999 .

[7]  Thomas A. Henzinger,et al.  Automatic Symbolic Verification of Embedded Systems , 1996, IEEE Trans. Software Eng..

[8]  Satish Mishra Specification Based Software Product Line Testing : A case study , 2006 .

[9]  David J. Anderson,et al.  Stretching agile to fit CMMI level 3 - the story of creating MSF for CMMI/spl reg/ process improvement at Microsoft corporation , 2005, Agile Development Conference (ADC'05).

[10]  Peter D. Mosses,et al.  CASL User Manual: Introduction to Using the Common Algebraic Specification Language , 2004 .

[11]  Dan Craigen,et al.  Experience with formal methods in critical systems , 1994, IEEE Software.

[12]  Markus Roggenbach,et al.  CSP-CASL - A new integration of process algebra and algebraic specification , 2006, Theor. Comput. Sci..

[14]  J. Bergstra,et al.  Handbook of Process Algebra , 2001 .

[15]  Marie-Claude Gaudel,et al.  Testing Algebraic Data Types and Processes: A Unifying Theory , 1998, Formal Aspects of Computing.

[16]  Richard Turner,et al.  CMMI Distilled: A Practical Introduction to Integrated Process Improvement , 2001 .

[17]  Elsa Estevez,et al.  Algebraic Specifications and Refinement for Component-Based Development using RAISE , 2002 .

[18]  Thomas A. Henzinger,et al.  Automatic symbolic verification of embedded systems , 1993, 1993 Proceedings Real-Time Systems Symposium.

[19]  Detlef Kreuz Formal specification of CORBA services using Object-Z , 1998, Proceedings Second International Conference on Formal Engineering Methods (Cat.No.98EX241).