Difference between revisions of "User:Nicolas/Collections/ADVANCE D3.4 General Platform Maintenance"

From Event-B
Jump to navigationJump to search
imported>Sebastian
imported>Sebastian
Line 60: Line 60:
 
The Camille plug-in provides a textual editor for Rodin. This editor provides the same look and feel as a typical Eclipse text editor, including features most text editors provide, such as copy, paste, syntax highlighting and code completion.
 
The Camille plug-in provides a textual editor for Rodin. This editor provides the same look and feel as a typical Eclipse text editor, including features most text editors provide, such as copy, paste, syntax highlighting and code completion.
  
During the last period of the ADVANCE project, the three new versions of Camille have been released:
+
During the last period of the ADVANCE project, three new versions of Camille have been released:
 
* 3.0.0 - Initial release for version 3 of the Core Rodin platform. This release has been based on Camille 2.1.4.
 
* 3.0.0 - Initial release for version 3 of the Core Rodin platform. This release has been based on Camille 2.1.4.
 
* 3.0.1 - Port of the changes done in Camille 2.2.0 to version 3. This includes theorems in guards as well as other bugfixes. See D3.3 for details.
 
* 3.0.1 - Port of the changes done in Camille 2.2.0 to version 3. This includes theorems in guards as well as other bugfixes. See D3.3 for details.
 
* 3.0.2 - Camille's structure parser has been moved to ProB's parser library. A fully automatic build process featuring continuous integration has been set up. This is the first release build by it.
 
* 3.0.2 - Camille's structure parser has been moved to ProB's parser library. A fully automatic build process featuring continuous integration has been set up. This is the first release build by it.
  
{{TODO}}
+
One of the main goals of the last period was the support of Rodin's extensibility in Camille.
  
 
=== Motivations / Decisions ===
 
=== Motivations / Decisions ===

Revision as of 11:49, 15 October 2014

This part describes the general maintenance performed on the Rodin toolset within the last year of the ADVANCE project. As the maintenance is a task that concerns the whole toolset, and to ease the reading of this part of the deliverable, the maintenance section has been decomposed in a list of subsections corresponding to scopes of the toolset. All these subsections maintain the template previously defined in the introduction.

Core Rodin platform

Overview

During the last period of the ADVANCE project, the following versions of the Rodin platform have been released:

  • 3.0.1 (2014-06-11).
  • 3.1.0 (2014-10-??).

TODO

Other running tasks consisted in answering questions on mailing lists, and processing bug tickets and feature requests.

Motivations / Decisions

TODO

Available Documentation

The release notes, that appear and are maintained on the wiki, and that accompany each release, give useful information about the changes introduced by each. Moreover, two web trackers list and detail the known bugs and open feature requests:

  • a sourceforge bug tracker,[1]
  • a sourceforge feature requests tracker.[2]

TODO

Conclusion

TODO

UML-B Improvements

Overview

TODO

Motivations / Decisions

TODO

Available Documentation

TODO

Conclusion

TODO

ProR

Overview

TODO

Motivations / Decisions

TODO

Available Documentation

TODO

Conclusion

TODO

Camille

Overview

The Camille plug-in provides a textual editor for Rodin. This editor provides the same look and feel as a typical Eclipse text editor, including features most text editors provide, such as copy, paste, syntax highlighting and code completion.

During the last period of the ADVANCE project, three new versions of Camille have been released:

  • 3.0.0 - Initial release for version 3 of the Core Rodin platform. This release has been based on Camille 2.1.4.
  • 3.0.1 - Port of the changes done in Camille 2.2.0 to version 3. This includes theorems in guards as well as other bugfixes. See D3.3 for details.
  • 3.0.2 - Camille's structure parser has been moved to ProB's parser library. A fully automatic build process featuring continuous integration has been set up. This is the first release build by it.

One of the main goals of the last period was the support of Rodin's extensibility in Camille.

Motivations / Decisions

Move to Git / GitHub

The source files for Camille have been moved from the old Rodin SVN repository to their own repository at GitHub. The old source files have been marked deprecated. Furthermore, the move to GitHub allows us to use GitHub's infrastructure for bug tracking and feature requests. We moved old feature requests from the wiki pages to the bug / feature tracking systems at GitHub.

Build Process

Before version 3.0.2 was released, the Camille build was mostly done by hand. This turned out to be slowing down development during the last period of the ADVANCE project. Starting with release 3.0.2 we completely revamped the build process. Camille is now build automatically on each commit using a Jenkins continuous integration server [3]. This facilitates the build as well as the release process for Camille. Furthermore, it should ease collaborative development.

Move Structure Parser to ProB's Parser Library

Camille's internal parser for the structure of Event-B machines and contexts has been split off of Camille and moved to ProB's general parsers library. This effectively renders the parser and external dependency for Camille and further decouples core, ui and parsers. Externalising the parser is the first step to making Camille more modular in oder to be able to replace the parser by the upcoming block parser. In addition, externalising the parser makes it available for other projects as well.

Available Documentation

  • Architectures for an Extensible Text Editor for Rodin.[4] Bachelor thesis analysing the problem and discussing possible solutions.
  • An earlier version of the thesis has been published as a technical report[5] that has been discussed on the Roding Developers Mailing List and the ADVANCE Progress Meeting in May 2012 in Paris.
  • Camille GitHub Repository and Bugtracker: https://github.com/hhu-stups/camille
  • Camille Wiki: http://wiki.event-b.org/index.php/Camille_Editor

Conclusion

Sadly, Camille still has the drawback of not supporting extensibility. It only supports the core Event-B language and plug-in-specific additions are simply ignored. Consequently, users have to switch back to Rodin's native Editor to edit plug-in-specific modelling extensions. The changes and improvements to the development process performed in the last period should finally allow for a new and completely overhauled version of Camille to be implemented.

References