Abstract :
In this paper a specification language named Spec and its processor using JLEX and CUP are suggested to specify the correctness property of a distributed concurrent software system. The correctness property to be specified deals with such properties as partial correctness, invariant, mutually exclusive access to a critical section, data replication, and accessibility. The specification about data replication and accessibility are for describing the liveness property for the fault tolerance of a distributed application, while the specification about partial correctness, invariant, and mutual exclusiveness are for describing the safety property. The Spec processor is supposed to extract the constructs related to Java IDL and then invoke the Java runtime command, idlj, which in turn generates stub and skeleton source files accompanied with some infrastructure code for connecting to the ORB. Making use of the specification along with Java IDL syntax, users can specify the desired behavior of a target system in the context of correctness property. Using the suggested specification technique, developers can be helped to enhance the understandability and maintainability of the final system by emphasizing the front-end of software development lifecycle
Keywords :
Java; concurrency control; distributed processing; program verification; software fault tolerance; software maintenance; specification languages; Java IDL; Spec specification language; distributed concurrent software system correctness; distributed concurrent software system maintainability; fault tolerance; Application software; Data mining; Fault tolerance; Java; Runtime; Safety; Skeleton; Software maintenance; Software systems; Specification languages;