fUML, Papyrus и основни операции

Ние се стремим да изпълним fUML спецификации, написани на Papyrus, като използваме референтната имплементация на fUML. Това не е предизвикателство, тъй като UML модел, съдържащ единична диаграма на класа и една или повече диаграми на активността, може да бъде директно изпълнен чрез извикване на fUML конструктора:

new Fuml(File);

Въпреки това е трудно да се специфицират сложни поведения без основни операции с цели числа. Например „равно“, „по-голямо“...

Наясно съм, че има някаква библиотека от такива функции, които могат да бъдат избрани с помощта на OpaqueBehaviors. Затова въпросът ми е къде и как могат да се намерят тези такива "основни операции"?


person AntMor    schedule 17.07.2015    source източник


Отговори (1)


Съжалявам, този въпрос ми беше посочен наскоро. Но в случай, че все още не сте го разбрали, имам отговор за вас.

Библиотеката, която търсите, е Foundational Model Library, която съдържа пакети като IntegerFunctions, BooleanFunctions и др. Нормативната fUML спецификация включва стандартен XMI файл за тази библиотека (на http://www.omg.org/spec/FUML/20121019/fUML_Library.xmi, за fUML 1.1). Въпреки това, за да използвате библиотеката в Papyrus, имате нужда от Eclipse .uml версия.

Ако искате, можете сами да конвертирате нормативния XMI: Изтеглете файла и го отворете в Eclipse UML Editor (не Papyrus). Изберете Файл > Запиши като и запазете файла с разширение .uml (fUML_Library.uml). След това трябва да можете да импортирате този .uml файл в Papyrus и да посочите функциите в него от вашите модели на дейност. Докато поддържате идентификаторите на нормативните елементи от оригиналния XMI файл, референтната реализация ще знае, че това са стандартни библиотечни функции, за които има вградени реализации.

Въпреки това, всъщност има .uml версия на тази библиотека, която вече е налична за Papyrus. Включен е с допълнителния компонент Moka Model Execution за Papyrus. Ако инсталирате този компонент, библиотеката на модела fUML става достъпна като „регистрирана библиотека“, която можете да импортирате във вашия модел и да използвате както по-горе.

Обърнете внимание, че Moka също така включва fUML изпълнителна машина, която можете да използвате за изпълнение на модели на дейност директно в Papyrus (вижте https://wiki.eclipse.org/Papyrus/UserGuide/ModelExecution). Въпреки това, всички модели, създадени в Papyrus, които могат да бъдат изпълнени с Moka, могат също да бъдат изпълнени външно от Papyrus, като се използва референтната реализация, точно както сте правили преди.

person Ed Seidewitz    schedule 05.01.2016