Software for, and a method of using a computer for, specifying and
verifying synchronous and asynchronous concurrent systems. The method
comprises specifying software in a design language possessing a formal
semantics; simulating the design in accordance with its formal semantics;
verifying that the design satisfies predetermined requirements; generating
test cases and; generating software code. The method includes the steps of
inputting by a graphical editor and a textual editor a formal design of
the software, inputting desired properties as formulas in temporal logic,
and verifying automatically if the formal design satisfies the desired
properties.
Λογισμικό για, και μια μέθοδος έναν υπολογιστή για, διευκρινίζοντας και ελέγχοντας τα σύγχρονα και ασύγχρονα ταυτόχρονα συστήματα. Η μέθοδος περιλαμβάνει τη διευκρίνιση του λογισμικού σε μια γλώσσα σχεδίου που κατέχει μια επίσημη σημασιολογία μίμηση του σχεδίου σύμφωνα με την επίσημη σημασιολογία του ελέγχοντας ότι το σχέδιο ικανοποιεί τις προκαθορισμένες απαιτήσεις παραγωγή των περιπτώσεων δοκιμής και παραγωγή του κώδικα λογισμικού. Η μέθοδος περιλαμβάνει τα βήματα της εισαγωγής από έναν γραφικό συντάκτη και έναν κειμενικό συντάκτη ενός επίσημου σχεδίου του λογισμικού, της εισαγωγής των επιθυμητών ιδιοτήτων ως τύπους στη χρονική λογική, και της επαλήθευσης αυτόματα εάν το επίσημο σχέδιο ικανοποιεί τις επιθυμητές ιδιότητες.