Difference between revisions of "Code Generation Activity"

From Event-B
Jump to navigationJump to search
imported>Andy
imported>Andy
Line 10: Line 10:
  
 
=== Completed/Ongoing Work ===
 
=== Completed/Ongoing Work ===
* Investigate Epsilon/ETL/EGL or ATL
+
* Demonstration plug-in,
** Resulted in the choice of ETL for Model2Model Transformations
+
** Ready for deployment.
** Choice for Model2Text is not concluded.
+
** Deployment/Integration Testing under way.
* Experiment 1: Event-B Tasking to IL1 in ETL (main)
+
* The plug-in consists of,
** Nearly ready for experiments [4 May 2010]
+
** Tasking Development Generator.
* Experiment 2: IL1 to text with EGL: ??
+
** Tasking Development Editor (Based on an EMF Tree Editor).
** Not started
+
** Translator, from Tasking Development to Common Language Model.
 +
** Translator, from the Tasking Development to Event-B model of the implementation.
 +
** Pretty Printer for the Tasking Development.
 +
** Pretty Printer for Common Language Model to Ada Source Code.
  
 
=== Metamodels ===
 
=== Metamodels ===

Revision as of 12:38, 22 November 2010

Development Repository

The SVN repository for development of the code generation plug-in is here:

svn+ssh://svn.ecs.soton.ac.uk/projects/deploy-exploratory/trunk/CodeGeneration

Other information can be found here:

svn+ssh://svn.ecs.soton.ac.uk/projects/deploy-exploratory/CodeGeneration

Completed/Ongoing Work

  • Demonstration plug-in,
    • Ready for deployment.
    • Deployment/Integration Testing under way.
  • The plug-in consists of,
    • Tasking Development Generator.
    • Tasking Development Editor (Based on an EMF Tree Editor).
    • Translator, from Tasking Development to Common Language Model.
    • Translator, from the Tasking Development to Event-B model of the implementation.
    • Pretty Printer for the Tasking Development.
    • Pretty Printer for Common Language Model to Ada Source Code.

Metamodels

  • Tasking Metamodel - one for both single and multi-tasking?
  • Intermediate Language Metamodels based on Ada
    • Initial Version is IL1
    • Ready for experiments subject to decomposition.
  • Metamodel re-structuring; will decompose into:
    • Algorithmic structures
    • Math. language

Translation Rules

  • Tasking Metamodel to IL1 translation rules [[1]]
    • Ready for experiments [4 May 2010] subject to decomposition into:
      • Algorithmic structures
      • Math. language
      • Versions for Shared/Non-shared data

TODO

  • Control flow modelling assistant
  • Infrastructure plugin
  • Initial version of:
    • IL1 to Ada backend plugin
  • Small experiments: several small models, reader/writer, heater control, circular buffer