D23 TEXT: Difference between revisions
imported>Leuschel |
imported>Jastram |
||
Line 9: | Line 9: | ||
Indeed, events, theorems, axioms, etc. are stored in the Rodin database, and there is no classical text file for editing the 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. | 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. | 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. Functions that are taken for granted in an editor - copy & paste, undo or printing, just to name a few - were missing or only partially functional. | ||
As an Event-B model consists of text, users were requesting a text editor, which would allow them to apply their already present editing skills. | |||
INSERT SOME MORE TEXT | INSERT SOME MORE TEXT |
Revision as of 09:22, 27 November 2009
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. Functions that are taken for granted in an editor - copy & paste, undo or printing, just to name a few - were missing or only partially functional.
As an Event-B model consists of text, users were requesting a text editor, which would allow them to apply their already present editing skills.
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
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).