D23 TEXT

From Event-B
Revision as of 09:27, 26 November 2009 by imported>Leuschel (→‎Available Documentation)
Jump to navigationJump to search

Overview

This part of the deliverable describes improvement of the ProB animation and model checking plugin.

Motivations

This paragraph shall express the motivation for each tool extension and improvement. More precisely, it shall first indicate the state before the work, the encountered difficulties, and shall highlight the requirements (eg. those of industrial partners). Then, it shall summarize how these requirements are addressed and what are the main benefits.


Rodin has done away with a textual representation of the formal models. Indeed, events, theorems, axioms, etc. are stored in the Rodin database, and there is no classical text file for editing the models. The models are directly manipulated by a structural form-based editor. During the lifetime of the Rodin and Deploy projects it became increasingly apparent that the current structural editor was not able to cope with industrial needs.


INSERT SOME MORE TEXT


As far as features are concerned, the text editor supports syntax and semantic highlighting, code completion, templates, an outline view, quick navigation and many more.

Choices / Decisions

This paragraph shall summarize the decisions (eg. design decisions) and justify them. Thus, it may present the studied solutions, through their main advantages and inconvenients, to legitimate the final choices.


One important design consideration was to be able to re-use the Rodin formula syntax and parser. This was deemed vital for keeping up with future evolutions of the platform, e.g., the mathematical extensions will introduce new operators. As such, the grammar had to be carefully designed to be able to parse the structure of an Event-B model independently of the content of the predicates, expressions and actions. In other words, the structural parser detects the structure of the model and sends the formula content to the Rodin parser.

The most challenging technical part was the synchronisation with the Rodin database, particularly in the presence of other tools concurrently manipulating the same model. To achieve this we created a new abstraction of the Rodin database as an EMF (Eclipse Modeling Framework Project) data model. It allows us to work with Event-B models independently of the persistence strategy. In addition we can use EMF standard technologies for manipulating, comparing and merging of Event-B models.

Available Documentation

Online Documentation

Text Editor Wiki Page

EBNF Syntax for the Textual Representation

Papers

A Semantics-Aware Text Editor for Event-B. Fabian Fritz. Master's Thesis. 2009

WS-TBFM Submission

Planning

This paragraph shall give a timeline and current status (as of 29 Jan 2010).