2010-11-17 2 views
7

Есть ли библиотека/инструмент для формальной спецификации в C++, например JML для Java и Data Contracts в C#?Официальная спецификация

EDIT:

Я не ищу чего-то более конкретного, чем, это практично использовать и добавляет некоторую ценность/качество.

EDIT2:

Я не ищу UML инструментов, пожалуйста, смотрите примеры я предусмотрел.

+0

Очень хороший вопрос - хотя я только сделал формальную спецификацию для присвоений градации школы, мне было бы интересно узнать, есть ли какие-либо инструменты для этого там, которые не являются строго академическими. –

+0

Мы используем wiki для наших спецификаций. –

+0

Вики работает, однако проблема, с которой я столкнулся, заключается в том, что, когда несколько человек работают над кодом, «wiki» и другие формы «спецификации» на каждой итерации меньше применяются. – ronag

ответ

1

Программное обеспечение IBM Rational Rose UML генерирует код C++ в соответствии с полной моделью UML.

Никогда не использовал его, хотя на самом деле я не имею в виду. Просто краткий взгляд и только на функциональность UML.

+0

Звучит нечто вроде исполняемого UML. Однако я ищу более формальный способ, чем утверждение, чтобы указать поведение реализации. – ronag

+0

Спасибо, никогда не слышал о исполняемом UML. Очень интересно. –

+0

Жаль, что неясно. Я имел в виду, что UML слишком формален, однако утверждение C/C++ недостаточно формально. Я работал с некоторыми инструментами на базе UML, такими как Bridgepoint, и они добавляют больше проблем, чем их ценность. Функциональные контракты и инварианты классов - это то, что меня больше всего интересует. – ronag

0

Если вы ищете простой инструмент для UML без суеты, StarUML - это проект с открытым исходным кодом (только для Windows). Я использовал IBM Rational Rose и Microsoft Visio (с расширением UML), и я должен сказать, что StarUML так красиво сделано.

Я никогда не пробовал ничего, кроме диаграмм классов, и мой опыт в основном касается неофициальных спецификаций и небольших проектов. У него также есть некоторые функции генерации кода, но я их никогда не пробовал.

1

FRAMA-с - увлекательным, JML вдохновленным, я продолжаю пытаться использовать его, но не могу сделать время - специфичное для гр я верю. но должен по крайней мере предоставить указатели для поиска инструментов C++.

Смежные вопросы