User:Nicolas/Collections/ADVANCE D3.4 General Platform Maintenance: Difference between revisions
imported>Ladenberger |
imported>Ladenberger |
||
Line 47: | Line 47: | ||
ProR is a tool for working with requirements in natural language. It is part of the Eclipse Requirements Modeling Framework (RMF).<ref>http://www.eclipse.org/rmf/</ref> The goal of the ProR/Rodin integration plugin is to bring two complimentary fields of research, requirements engineering and formal modelling, closer together. The ProR/Rodin integration plugin supports the user by maintaining a traceability between natural language requirements and Event-B models. | ProR is a tool for working with requirements in natural language. It is part of the Eclipse Requirements Modeling Framework (RMF).<ref>http://www.eclipse.org/rmf/</ref> The goal of the ProR/Rodin integration plugin is to bring two complimentary fields of research, requirements engineering and formal modelling, closer together. The ProR/Rodin integration plugin supports the user by maintaining a traceability between natural language requirements and Event-B models. | ||
A | A requirements Meta-Model for the WP-1 and WP-2 industrial case studies has been developed during the last period of the ADVANCE project. | ||
Beside this, general improvements, such as usability improvements have been made on the ProR/Rodin integration plugin during the last period of the ADVANCE project. | Beside this, general improvements, such as usability improvements have been made on the ProR/Rodin integration plugin during the last period of the ADVANCE project. | ||
=== Motivations / Decisions === | === Motivations / Decisions === | ||
The ProR/Rodin integration plugin provides a default Meta-Model for requirements documents. However, this Meta-Model does not support all specific needs and characteristics of the industrial case studies. | |||
As a consequence, we decided to create a new requirements Meta-Model that supports the specific needs of both industrial case studies. | |||
=== Available Documentation === | === Available Documentation === | ||
Line 62: | Line 64: | ||
=== Conclusion === | === Conclusion === | ||
The customized Meta-Models facilitated the requirements maintenance process of both industrial case studies. Moreover, the new Meta-Model is expandable so that new features can be easily added later in the project. | |||
== Camille == | == Camille == |
Revision as of 12:55, 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:
TODO
Conclusion
TODO
UML-B Improvements
Overview
TODO
Motivations / Decisions
TODO
Available Documentation
TODO
Conclusion
TODO
ProR/Rodin Integration Plugin
Overview
ProR is a tool for working with requirements in natural language. It is part of the Eclipse Requirements Modeling Framework (RMF).[3] The goal of the ProR/Rodin integration plugin is to bring two complimentary fields of research, requirements engineering and formal modelling, closer together. The ProR/Rodin integration plugin supports the user by maintaining a traceability between natural language requirements and Event-B models.
A requirements Meta-Model for the WP-1 and WP-2 industrial case studies has been developed during the last period of the ADVANCE project. Beside this, general improvements, such as usability improvements have been made on the ProR/Rodin integration plugin during the last period of the ADVANCE project.
Motivations / Decisions
The ProR/Rodin integration plugin provides a default Meta-Model for requirements documents. However, this Meta-Model does not support all specific needs and characteristics of the industrial case studies. As a consequence, we decided to create a new requirements Meta-Model that supports the specific needs of both industrial case studies.
Available Documentation
- A Method and Tool for Tracing Requirements into Specifications.[4] Accepted for Science of Computer Programming.
- Requirements Traceability between Textual Requirements and Formal Models Using ProR[5]. The paper has been accepted for iFM'2012 & ABZ'2012.
- A Tutorial for the Rodin/ProR integration[6] can be found on the Event-B wiki.
- The User Guide[7] contains additional tutorials for ProR.
Conclusion
The customized Meta-Models facilitated the requirements maintenance process of both industrial case studies. Moreover, the new Meta-Model is expandable so that new features can be easily added later in the project.
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 [8]. 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.[9] Bachelor thesis analysing the problem and discussing possible solutions.
- An earlier version of the thesis has been published as a technical report[10] 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
- ↑ http://sourceforge.net/p/rodin-b-sharp/bugs/
- ↑ http://sourceforge.net/p/rodin-b-sharp/feature-requests/
- ↑ http://www.eclipse.org/rmf/
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedreq1ref
- ↑ http://www.stups.uni-duesseldorf.de/w/Special:Publication/LadenbergerJastram_iFMABZ2012
- ↑ http://wiki.event-b.org/index.php/ProR
- ↑ http://wiki.eclipse.org/RMF/User_Guide
- ↑ http://www.jenkins-ci.org
- ↑ http://www.stups.uni-duesseldorf.de/mediawiki/images/0/0a/Pub-Weigelt2012.pdf
- ↑ http://www.stups.uni-duesseldorf.de/w/Special:Publication/Weigelt2012>