Я никогда не использовал Papyrus, но только что прошел для него учебное пособие.
Самое большое различие, которое я вижу, заключается в том, что Papyrus, по-видимому, является в первую очередь инструментом моделирования UML.Генерация кода - это «побочный компонент» (точный термин из предпоследней страницы Учебное пособие по использованию папируса для начинающих (2010-10-01) .) Вот вопрос StackOverflowо генерации кода с папирусом ... звучит сложно.Я просмотрел форум и руководства Papyrus и не нашел ничего полезного, связанного с генерацией кода.
UML традиционно считается технологией этапа проектирования в процессе разработки программного обеспечения Waterfall, поэтому, когда программное обеспечение моделируется в UML, реализацияэто отдельный процесс.Не так с QM.
QM, в отличие от Papyrus, не является общим инструментом моделирования UML;он предназначен для моделирования диаграмм состояний UML с единственной целью их компиляции в инструменте для отслеживания кода C или C ++.Как вы знаете, QM связан с QP, структурой конечного автомата.QM создает код, использующий QP.
QM - ваш модельер и IDE.Ваш окончательный исходный код, за исключением внешних библиотек, на 100% сгенерирован QM.Когда вы графически разрабатываете свои UML Statecharts, вы должны писать код на C или C ++, который выполняется при переходах в / из ваших состояний.Когда вы компилируете, QM объединяет ваш написанный код со своим собственным сгенерированным кодом для создания исходных файлов, которые вы можете скомпилировать немедленно, не внося никаких дополнительных изменений.