编辑: QQ215851406 2017-10-07
txtUML Gergely D? evai, Tibor Gregorics, Melinda T? oth, Domonkos Asztalos, D? avid J? anos N? emeth, G? abor Ferenc Kov? acs, Boldizs? ar N? emeth, Zolt? an Gera, Andr? as Dobre?, Bal? azs Gregorics, Andr? as Nagy, Martin Budai, Zsolt Kulik, and Krist? of Kany? o E¨ otv¨ os Lor? and University, Faculty of Informatics, Budapest, Hungary, deva@elte.

hu Abstract. The name txtUML stands for textual, executable, translat- able UML. It is an Eclipse-based tool built on top of JDT, Xtext/Xbase and Papyrus UML. The tool is designed for textual model editing. This makes storage, ver- sion control, compare and merge processes, editing and searching easier and more e?cient. The tool supports two textual syntaxes for modeling: the standalone syntax, which is designed to be clean and short, and al- ternatively, the txtUML Java API, which can be used to de?ne models as standard Java programs. The tool supports the generation of graphical UML diagrams from the textual descriptions: class and state machine diagrams. The layout of the diagrams can be controlled by a simple textual diagram layout language. Models can be seamlessly integrated into Java programs: they can be exe- cuted and debugged. Generated state machine diagrams can be animated during model execution to further enhance comprehension of model dy- namics. Compatibility with other tools is ensured by generating standard UML models in EMF-UML2 format. This representation is the input for our model compiler, which generates C++ code. Keywords: executable modeling, textual modeling, UML

1 Introduction This demonstration presents the framework txtUML, which stands for textual, executable, translatable UML. It is a tool for software development according to the executable UML paradigm [8]. The project was started in 2014, and the development is done by the Model- Driven Development Research Group of E¨ otv¨ os Lor? and University, Budapest. It is open source [17] on GitHub under the Eclipse Public License [2]. The development is supported by Ericsson Hungary and the tool is currently used in pilot projects at the company. The txtUML framework is distributed as a set of Eclipse plugins. Installation instructions and detailed user documentation is available on the project website [16]. This work is supported by Ericsson Hungary.

2 Similar Tools This subsection presents open source UML tools with model execution capabil- ities or textual syntaxes. BridgePoint [13] uses an early fork of UML extended with a proprietary action language. It uses graphical modeling for class and state modeling, and textual modeling on the action code level. It is now maintained by a company named OneFact and has been open sourced [4]. In contrast to BridgePoint, txtUML supports textual modeling for all layers of the modeling language and visualizes the model via generated diagrams. Furthermore, txtUML is compatible with the latest UML standard. Papyrus UML [14] is an Eclipse UML framework that aims at providing cus- tomizable graphical editor support for the full UML standard. Papyrus has an ex- tension, called Moka [10], which contains an interpreter that executes fUML [12] models and animates diagrams. This interpreter is based on the reference im- plementation of fUML and is not designed for high performance. By contrast, txtUML'

s model execution is based on on-the-?y translation to Java to provide better performance. Alf [11] is an OMG standard de?ning textual syntax for fUML. An Alf editor is being integrated into Papyrus [15] in order to provide a textual model editing alternative. As state machines are not part of fUML and Alf, this modeling layer is currently not handled by the solution. Moliz [9] is a testing and debugging framework for fUML activities. It de?nes a test speci?cation language and extends the fUML reference implementation with debugging and tracing capabilities. The execution traces are used to decide if a given test case passes or fails. This project also uses graphical model editors and the aforementioned fUML reference implementation. Umple [5], eTrice [3] and the Papyrus UML-RT [1] are modeling environ- ments for both graphical and textual model editing. Unlike txtUML, these tools lack an abstract action language: Umple allows modeling code mixed in Java, PHP, C++ and Ruby and its code generator emits code in these languages, while eTrice allows action code in Java or C written in the models as string literals which are propagated to the generated code. UML-RT uses the same strategy with C++. None of the approaches allows execution and debugging on the model level. The diagram generation methodology is also di?erent: The referenced tools use autolayout algorithms, while txtUML allows the user to de?ne the layout of diagrams using a concise DSL.

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题