<<

Messir: A Text-First DSL-Based Approach for UML Engineering (Tool Demo) Benoît Ries, Alfredo Capozucca and Nicolas Guelfi University of Luxembourg, Esch-sur-Alzette, Luxembourg

Context 2. Messir Textual DSLs Students Feedback Our students surveys on the lectures using Due to the need for (and absence of) Messir/Excalibur resulted, out of 90+ answers, an integrated requirements engineering tool Messir Constraint Messir Validation Rules in a majority of students agreeing both on centered on a textual specification language, Language Documentation "recommending the lectures to others", and providing rich coverage of UML, report • A number of syntactical Language that "the learning resources met their needs". generation, and formal simulation to be used validation rules are generated • declarative specification of Positive comments were "the integrated hands-on by our students at University of Luxembourg, automatically by the XText operations • complementary textual approach" and "the report generation". Negative in our engineering -based framework based on the • syntax inspired from OCL language comments were mostly about "the actual presence lectures, we have started to develop the Messir DSL grammar. • semantics defined as a manual • natural language descriptions of bugs in the tool". . . Excalibur workbench and Messir DSLs. • We have implemented 50 translation to used during report generation additional runtime validation • covered concepts include: • allow documenting Messir Conclusion rules used as educational 1. Messir & Excalibur navigation, conditional specification elements means: This poster presents our solution for a expressions, messages sending • allow documenting Excalibur • warning rules are meant to requirements engineering tool, named Excalibur, Messir Formal Messir Prolog views XText Textual Specification let the end-user know about Grammar Engine supporting our methodology, that is centered on Editor Simulation future steps to be done, or the Messir textual DSLs having typical features particular aspects of the Messir Messir Req. of textual editors (thanks to XText) for which Excalibur Sirius Viewer Graphical Core Analysis methodology to not be Config. Viewer Document we have developped 50 custom validation rules overlooked. to guide the analyst during the requirements Legend • error rules are meant to elicitation phase.

Generator Generated block the end-user in his Excalibur implements three generative techniques Tool Artifact requirements specification to make the best use of the textual requirements process. specifications, firstly by generating read-only Figure 1:Excalibur Architecture views in a UML-style (thanks to Sirius), secondly by generating an extensible document compiling all textual and graphical Figure 3:Messir Constraint Language Messir approach’s main characteristics: Figure 4:MessirDoc Language Figure 5:Warning Validation Rule requirements information; lastly by generating a partial prolog implementation supporting the • Scientific approach DSL metamodel for simulation purpose. • Focusing on textual specifications • Offering a flexible requirements specification References language Work Summary • UML-based that provides • an improved use-case modeling phase Messir is a scientific approach, yet flexible, for the specification of UML requirements. It is supported [1] Messir and Excalibur website. https://messir.uni.lu. • environment and conceptual modeling by the Excalibur tool, used for education, since 2012 in numerous institutions • a declarative executable operation language for project-based lectures. [2] N. Mahmud, C. Seceleanu, and O. Ljungkrantz. • a test specification language ReSA Tool: Structured Requirements Specification and The Excalibur tool provides as an integrated worbench, the possibility to describe rich textual UML SAT-based Consistency-checking. Excalibur [1] has been developed by the authors requirements & analysis specifications, to generate a structured report in LATEX, and to formally pages 1737–1746, October 2016. as an extension to Eclipse combining the 4 tools, simulate, with a prolog engine, the test cases specified in the requirements. [3] A. da Silva, S. Vlajic, S. Lazarevic, I. Antovic, as shown in Figure 1: V. Stanojevic, and M. Milic. • XText converting an EBNF-like grammar into Preliminary Experience Using JetBrains MPS to 3. Generative Techniques Implement a Requirements Specification Language. a full-fledge textual editor, including syntax In 9th International Conference on the Quality of highlighting, auto-completion and validation Information and Communications Technology, pages rules. 134–137, Guimaraes, Portugal, 2014. IEEE. • Sirius displaying the textual files written with View Generation Report Generation Simulation [4] D. Savic, S. Vlajić, S. Lazarević, I. Antović, S. Vojislav, M. Milić, and A. Silva. our DSL in UML-like graphical notations. specification using the SilabReq domain • Excalibur Core is implemented in Java and • read-only views • Takes as input : • Takes as input specific language. • • XTend, providing: a dedicated Outline • illustrate certain aspects of requirements elements in Messir test cases and instances of test Computing and Informatics, 34:877–910, 2015. • documentation in MessirDoc of cases specified in Messir the textual requirements [5] V. Hoffmann, H. Lichter, A. Nyßen, and A. Walter. allowing to navigate through the specification the elements and views • Generates a prolog simulation Towards the Integration of UML- and textual Use Case elements in a tree-view style; a Requirements • supported views are : • actual views created in the project containing Modeling. requirements project • analysis document generator; a Formal use-case, use-case instance, MESSAM prolog code: the The Journal of Object Technology, 8(3):85, 2009. specification simulation code generator. concept model, environment • Generates a LAT X document MESSir Abstract Machine, which E [6] Ed Seidewitz. model, operation scope, test to be completed, e.g. with is our prolog implementation of • a Simulator, based on the SICStus prolog the Messir DSL metamodel A Development Environment for the Alf Language engine, interpreting the prolog code generated case, test-case instance introduction, conclusion, etc. • and Types specification: all Within the MagicDraw UML Tool (Tool Demo). and displaying the simulation results in • their concrete syntax is based • Flexible process : specified types and actors in In 10th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2017, pages Eclipse as tabular-tree view. on UML use-case, class and • definition-level mainly contains prolog compliantly with natural language descriptions and MESSAM. 217–220, Vancouver, BC, Canada, 2017. ACM. sequence diagrams documented views. • Some other parts are • these views are integrated in • specification-level additionally completed manually : the requirements analysis includes declarative operation • the operation pre/post specifications in MCL. conditions Acknowledgements document during the report • simulation-level additionally generation phase. • and the test cases specification includes prolog code of the The authors would like to thank all the students from operations and types semantics. University of Luxembourg (Luxembourg), University of Rosario (Argentina), Innopolis University (Russia) and St Petersburg Polytechnic University (Russia) for their help and support in the usage of the tool and bug reporting that greatly helped reaching more stable releases.

Figure 8:Excalibur Simulation View and Sample Prolog Code

Figure 2:Excalibur Workbench Figure 6:Some Excalibur Views Figure 7:Generated Report Extract