Difference between revisions of "D23 TEXT"

From Event-B
Jump to navigationJump to search
imported>Jastram
imported>Jens
Line 39: Line 39:
  
 
[http://www.stups.uni-duesseldorf.de/thesis_detail.php?id=20 A Semantics-Aware Text Editor for Event-B. Fabian Fritz. Master's Thesis. 2009]
 
[http://www.stups.uni-duesseldorf.de/thesis_detail.php?id=20 A Semantics-Aware Text Editor for Event-B. Fabian Fritz. Master's Thesis. 2009]
 +
[http://www.stups.uni-duesseldorf.de/thesis_detail.php?id=12 A Framework for Semantic-Aware Editors in Eclipse. Jens Bendisposto. Master's Thesis. 2007]
  
 
  WS-TBFM Submission
 
  WS-TBFM Submission

Revision as of 09:35, 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. As text editing is a well-understood problem, a variety of frameworks were available for implementing one. These frameworks typically provide a wide range of standard features "for free", and typically provide extension points for extendability with additional features. The development team selected the Eclipse Modeling Framework (EMF), for the reasons outlined below.

The wide adaption of the text editor confirms that good decisions have been made. Besides standard text editing features as cut & paste, unlimited undo and redo, line numbering and many more, many Rodin-specific features had been implemented. 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 A Framework for Semantic-Aware Editors in Eclipse. Jens Bendisposto. Master's Thesis. 2007

WS-TBFM Submission

Planning

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