2010-11-17 20 views
7

¿Hay alguna biblioteca/herramienta para la especificación formal en C++, como JML para Java y Data Contracts en C#?Especificación formal

EDIT:

yo no estoy buscando algo más específico que, es práctico de usar y añade algo de valor/calidad.

Edit2:

No estoy buscando para disfrutar de herramientas UML, vea los ejemplos que he proporcionado.

+0

Muy buena pregunta: aunque solo he hecho especificaciones formales para las tareas de posgrado, me interesaría saber si hay alguna herramienta que no sea estrictamente académica. –

+0

Usamos un wiki para nuestras especificaciones. –

+0

Un wiki funciona, sin embargo, el problema que he experimentado es que cuando varias personas trabajan en el código, el "wiki" y otras formas de "especificación" se aplican menos con cada iteración. – ronag

Respuesta

1

El software IBM Rational Rose UML genera código C++ de acuerdo con el modelo UML completo.

Nunca lo he usado, no en realidad, quiero decir. Solo una breve mirada y solo a las funcionalidades de UML.

+0

Suena algo así como UML ejecutable. Sin embargo, estoy buscando una forma más formal que afirmar para especificar el comportamiento de la implementación. – ronag

+0

Gracias, nunca escuché acerca de UML ejecutable. Muy interesante. –

+0

Lo siento por no estar claro. Lo que quise decir es que UML es demasiado formal, sin embargo, la afirmación de C/C++ no es lo suficientemente formal. He trabajado con algunas herramientas basadas en UML, como Bridgepoint, y agregan más problemas que su valor. Los contratos de función y las invariantes de clase son en lo que más me interesa. – ronag

0

Si está buscando una herramienta simple para hacer UML sin problemas, StarUML es un proyecto de código abierto (solo Windows). Utilicé IBM Rational Rose y Microsoft Visio (con extensión UML) y debo decir que StarUML está muy bien hecho.

Nunca he probado nada más que los diagramas de clase, y mi experiencia es principalmente para especificaciones informales y pequeños proyectos. También tiene algunas características de generación de código, pero nunca las he probado.

1

frama-c - fascinante, JML inspirado, sigo tratando de usar, pero no puedo hacer que el tiempo - específico para c creo. pero al menos debería proporcionar punteros para encontrar herramientas de C++

Cuestiones relacionadas