Safety analysis of timing properties in real-time systems
IEEE Transactions on Software Engineering - Special issue on reliability and safety in real-time process control
LUSTRE: a declarative language for real-time programming
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
TRIO: A logic language for executable specifications of real-time systems
Journal of Systems and Software - On the role of language in programming
Systematic software development using VDM (2nd ed.)
Systematic software development using VDM (2nd ed.)
A model railroad for Ada and software engineering
Communications of the ACM
ASTRAL: An Assertion Language for Specifying Realtime Systems
ESEC '91 Proceedings of the 3rd European Software Engineering Conference
Hi-index | 0.00 |
Teaching formal specification notations nowadays in regular software engineering courses presents more or less the same problems as teaching programming languages 15 years ago. Most software engineering students are practical. Issues of predicting code sizes from the size of the specification, issues of expressing problem complexity in terms of specification size are far more interesting for engineers than detailed semantic issues. Based on this observation, we are conducting a study to the proper use of formal specification notations in the process of software development. In this paper we discuss a number of notations in their use in the development of a simple case. The notations themselves are examined with regard to maturity, tool support, analyzability and executability.