An Extension to Data-Flow-Oriented Formal Specification Language for Specifying Concurrent Software Systems

Data-flow-oriented formal specification languages, such as SOFL, bridge formal methods to industrial applications, allowing software developers to effectively use formal methods in developing practical software systems. In this paper, we introduce an extension to SOFL specification language for specifying concurrent software systems. SOFL is designed by integrating different notations and techniques on the basis that they are all needed to work together effectively in a coherent manner for specification constructions and verifications. We mainly introduce two notions, region and channel, to the SOFL language so that concurrency can be specified both graphically and formally, thus making SOFL specifications both intuitive and precise.

[1]  Shaoying Liu SOFL: a formal engineering methodology for industrial applications , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[2]  Wolfgang Reisig Petri Nets: An Introduction , 1985, EATCS Monographs on Theoretical Computer Science.

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

[4]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[5]  Geoffrey C. Fox,et al.  MPJ: MPI-like message passing for Java , 2000, Concurr. Pract. Exp..

[6]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

[7]  Jin Song Dong,et al.  Blending Object-Z and Timed CSP: an introduction to TCOZ , 1998, Proceedings of the 20th International Conference on Software Engineering.

[8]  Mogens Nielsen,et al.  Models for Concurrency , 1992 .

[9]  Jim Woodcock,et al.  Formal development of industrial-scale systems in Circus , 2005, Innovations in Systems and Software Engineering.

[10]  Alfredo Goñi Sarriguren Thinking in java , 2009 .

[11]  Geoffrey C. Fox,et al.  MPJ: MPI-like message passing for Java , 2000 .

[12]  Shaoying Liu,et al.  Formal Engineering for Industrial Software Development , 2004, Springer Berlin Heidelberg.

[13]  Geoffrey C. Fox,et al.  MPIJAVA: An Object-Oriented JAVA Interface to MPI , 1999, IPPS/SPDP Workshops.

[14]  Shaoying Liu Formal Engineering for Industrial Software Development: Using the SOFL Method , 2004 .