de.cau.cs.kieler.dataflow.codegen
Class LustreGenerator

java.lang.Object
  extended by org.eclipse.core.commands.common.EventManager
      extended by org.eclipse.core.commands.AbstractHandler
          extended by de.cau.cs.kieler.dataflow.codegen.LustreGenerator
All Implemented Interfaces:
IHandler, IHandler2

public class LustreGenerator
extends AbstractHandler
implements IHandler

Generate Lustre code from Dataflow diagram.

Rating red

Constructor Summary
LustreGenerator()
           
 
Method Summary
 Object execute(ExecutionEvent event)
          
 String generateLus()
          Transforms the Dataflow model into a Lustre description.
 
Methods inherited from class org.eclipse.core.commands.AbstractHandler
addHandlerListener, dispose, fireHandlerChanged, hasListeners, isEnabled, isHandled, removeHandlerListener, setBaseEnabled, setEnabled
 
Methods inherited from class org.eclipse.core.commands.common.EventManager
addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.core.commands.IHandler
addHandlerListener, dispose, isEnabled, isHandled, removeHandlerListener
 

Constructor Detail

LustreGenerator

public LustreGenerator()
Method Detail

execute

public Object execute(ExecutionEvent event)
               throws ExecutionException

Specified by:
execute in interface IHandler
Throws:
ExecutionException

generateLus

public String generateLus()
Transforms the Dataflow model into a Lustre description. Each box that contains sub boxes is becomes one node. Types are inferred by assuming that standard Lustre identifiers like + are the corresponding basic nodes in the dataflow diagram. On the highest level, each unconnected port is considered to be a global input or output.

Returns:
a Lustre drescription of the dataflow model.