Difference between pages "Code Generation Activity" and "File:Disable xp prover.png"

From Event-B
(Difference between pages)
Jump to navigationJump to search
imported>Andy
 
(Maintenance script uploaded File:Disable xp prover.png)
 
Line 1: Line 1:
=== The Code Generation Demonstrator Feature ===
 
First release: 30 November 2010:
 
  
available from: https://sourceforge.net/projects/codegenerationd/files/
 
 
The zip file contains a windows XP bundle, and a Windows V7 bundle. Alternatively, if you wish to build using an update-site, this is also included in the zip file, along with some notes on installation. However, note that the demonstrator tool is only compatible with Rodin 1.3.
 
 
A simple shared buffer example is provided. This will form the basis of a tutorial (which is work in progress). The WindowsBundles directory contains a Rodin 1.3.1 platform with the Code Generation plug-ins, together with a patch plug-in. The patch plug-in is required to correct an inconsistency in the org.eventb.emf.persistence plug-in. For the bundles, simply extract the appropriate zip file into a directory and run the rodin.exe. The plug-ins are pre-installed so no further configuration should be necessary. When using the update-site the example projects, and the project forming the basis of a simple tutorial, are provided in the accompanying zip file. These should be imported manually.
 
 
Mac users - no bundled version available at present, but use the update site in the 'advanced' folder.
 
 
'''A step-by-step tutorial will be available soon!!'''
 
 
=== About the Initial Release ===
 
The Code Generation (CG) Feature in the initial release is a demonstration tool; a proof of concept, rather than a prototype. The tool has no static checker and, therefore, there will be a heavy reliance on docs and dialogue to facilitate exploration of the tools and concepts.
 
 
 
 
 
The SVN repository for code generation resides here:
 
 
svn+ssh://svn.ecs.soton.ac.uk/projects/deploy-exploratory/trunk/CodeGeneration
 
 
The SVN repository for tagged builds is here:
 
 
svn+ssh://svn.ecs.soton.ac.uk/projects/deploy-exploratory/tags/CodeGeneration
 
 
=== Status ===
 
* Demonstrator plug-in,
 
** Rodin 1.3.1 version is ready for release.
 
** Integration Testing under way.
 
 
* The Code Generation feature consists of,
 
** a tasking Development Generator.
 
** a tasking Development Editor (Based on an EMF Tree Editor).
 
** a translator, from Tasking Development to Common Language Model (IL1).
 
** a translator, from the Tasking Development to Event-B model of the implementation.
 
** a pretty-printer for the Tasking Development.
 
** a pretty-printer for Common Language Model, which generates Ada Source Code.
 
 
* For the next release, our target is
 
** Rodin 2.0 compatibility.
 
** Introduction of sensed variables.
 
** Event grouping in shared machines mapping to branching statements in protected objects.
 
** Accommodation of duplicate event names in tasking developments.
 
 
 
 
=== Metamodels ===
 
* In the plug-in we define several meta-models:
 
** CompositeControl: for the control flow (algorithmic) constructs such as branch, loop and sequence etc. These constructs may be used in the specification of either  sequential or concurrent systems.
 
** Tasking Meta-model: defines the tasking model where we attach tasking specific details, such as task priority, task type. The tasking structures provide the ability to define single tasking or multi-tasking (concurrent) systems. We make use of the composite control plug-in to specify the flow of control.
 
** IL1 Meta-model: defines an abstraction of common programming language constructs for use in translations to implementations.
 
 
=== Translation Rules ===
 
* Tasking to IL1/Event-B translation rules [[http://wiki.event-b.org/images/Translation.pdf]]
 

Latest revision as of 20:49, 30 April 2020