System design validation using formal models

Formal methods are a nice idea, but the size and complexity of real systems means that they are impractical. We propose that a reasonable alternative to attempting to specify and verify the system in its entirety is to build and evaluate an abstract model(s) of aspects of the system that are perceived as important. Using a model will not provide proof of the system, but it can help to find shortcomings and errors at an early stage. Executing the model should also give a measure of confidence in the final product. Many systems today are built from communicating components so that the task of the developers is becoming fitting these components together to form the required system. We show how a formal model can be sympathetic to this type of architecture using our tool, RolEnact and explain how this may be related to a COM implementation.

[1]  Peter Henderson,et al.  Executing formal specifications need not be harmful , 1996, Softw. Eng. J..

[2]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

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

[4]  B. Beitzer Cleanroom process model: A critical examina-tion , 1997 .

[5]  Roger Sessions COM and DCOM - Microsoft's vision for distributed objects , 1997 .

[6]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[7]  Kevin J. Sullivan,et al.  Experience assessing an architectural approach to large-scale systematic reuse , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[8]  C. A. R. Hoare,et al.  How Did Software Get So Reliable Without Proof? , 1996, FME.

[9]  Grady Booch,et al.  Essential COM , 1998 .

[10]  John M. Wilson,et al.  Business Processes: Modelling and Analysis for Re-engineering and Improvement , 1995 .

[11]  Boris Beizer Soapbox: Cleanroom Process Model: A Critical Examination , 1997, IEEE Softw..

[12]  Peter Henderson,et al.  Laws for dynamic systems , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[13]  Keith Phalp,et al.  RolEnact: role-based enactable models of business processes , 1998, Inf. Softw. Technol..

[14]  Kendall Scott,et al.  UML distilled - applying the standard object modeling language , 1997 .

[15]  M. M. Kamal Hashmi,et al.  Design and use of a system-level specification and verification methodology , 1995, Proceedings of EURO-DAC. European Design Automation Conference.

[16]  David Garlan,et al.  Architectural Mismatch or Why it's hard to build systems out of existing parts , 1995, 1995 17th International Conference on Software Engineering.

[17]  Kamal Jabbour,et al.  Formal specification and verification of communication protocols using automated tools , 1995, Proceedings of First IEEE International Conference on Engineering of Complex Computer Systems. ICECCS'95.