Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Formal Specification

Is there any library/tool for formal specification in C++, such as JML for Java, and Data Contracts in C#?

EDIT:

I am not looking for something more specific than, it's practical to use and adds some value/quality.

EDIT2:

I am not looking for UML tools, please see the examples I have provided.

like image 625
ronag Avatar asked Nov 17 '10 16:11

ronag


People also ask

What is formal specification and verification?

Formal specification has a precise mathematical semantics which in turn support formal verification. Formal verification allows mathematical rigorous proofs that specifications are according to the objectives, code is according to the specification, and code produces only the results that are required.

Where is formal specification used?

Formal specification of data and algorithm properties is a well-known technique, e.g. in software engineering, mostly used for verification of (simple) programs or specification of abstract data types.

What is the difference between formal specification and informal specification?

The formal specification of a programming language is written in a form ready for machine execution or written using a formal mathematical notation, as defined in [46]. On the other hand, an informal specification can be expressed through a model such as UML or in natural language [47] . ...

What are the benefits of formal specification?

Formal specifications have several advantages over informal specifications. They can be mathematically precise. They tend to be more complete than informal specifications, because the formality tends to highlight any incompleteness, which might otherwise go unnoticed.


2 Answers

IBM Rational Rose UML software generates C++ code according to the complete UML model.

Never ever used it though, not really I mean. Just a brief look and only at UML functionalities.

like image 107
Stephane Rolland Avatar answered Sep 22 '22 14:09

Stephane Rolland


Have a look at Larch/C++ : Larch/C++ Reference Manual

like image 21
Ulrik Hørlyk Hjort Avatar answered Sep 22 '22 14:09

Ulrik Hørlyk Hjort