public class GiottoCodeGeneratorUtilities
extends java.lang.Object
The Giotto Code Generator has been changed from the earlier generator implemented by Haiyang and Steve in the following respect :-
Any and all unconnected ports are ignored. This includes :
This class is separate from GiottoCodeGenerator so that we can easily generate Giotto code without using a UI.
Red (johnr) |
Red (eal) |
Modifier and Type | Method and Description |
---|---|
protected static java.lang.String |
_actuatorCode(TypedCompositeActor model)
Generate code for the actuator.
|
protected static java.lang.String |
_driverCode(TypedCompositeActor model,
Actor actor)
Generate code for the driver.
|
protected static java.lang.String |
_driversCode(TypedCompositeActor model)
Generate code for the drivers.
|
protected static java.lang.String |
_getTypeString(TypedIOPort port)
Return the correct Giotto type string for the given port.
|
protected static java.lang.String |
_headerCode(TypedCompositeActor model)
Generate header code for the file.
|
protected static boolean |
_initialize(TypedCompositeActor model)
Initialize the code generation process by checking whether the
given model is a Giotto model.
|
protected static java.lang.String |
_modeCode(TypedCompositeActor model)
Generate code for the modes.
|
protected static java.lang.String |
_outputCode(TypedCompositeActor model)
Generate code for the output ports.
|
protected static java.lang.String |
_sensorCode(TypedCompositeActor model)
Generate code for the sensors.
|
protected static java.lang.String |
_taskCode(TypedCompositeActor model,
Actor actor)
Generate code for the task.
|
protected static java.lang.String |
_tasksCode(TypedCompositeActor model)
Generate code for the tasks.
|
static void |
checkGiottoID(java.lang.String string)
Throw an exception if the given string is a valid giotto
reserved word, which prevents it from being used as an identifier.
|
static java.lang.String |
generateGiottoCode(TypedCompositeActor model)
Generate Giotto code for the given Giotto model.
|
static void |
main(java.lang.String[] args)
Create an instance of a model and generate Giotto code for it
The Giotto code is printed on standard out.
|
static boolean |
needsInputDriver(Actor actor)
Return true if the given actor has at least one connected
input port, which requires it to have an input driver.
|
public static void checkGiottoID(java.lang.String string) throws IllegalActionException
string
- A string to be used in Giotto program.IllegalActionException
- If the string can not be used.public static java.lang.String generateGiottoCode(TypedCompositeActor model) throws IllegalActionException
model
- The given Giotto model.IllegalActionException
- If code can not be generated.public static void main(java.lang.String[] args) throws java.lang.Throwable
args
- The command-line arguments naming the .xml or
.moml file to runjava.lang.Throwable
- If there is a problem reading the model
or generating code.public static boolean needsInputDriver(Actor actor) throws IllegalActionException
actor
- The actor to test.IllegalActionException
protected static java.lang.String _actuatorCode(TypedCompositeActor model) throws IllegalActionException
model
- The model.IllegalActionException
- If there is a problem accessing
the ports.protected static java.lang.String _driverCode(TypedCompositeActor model, Actor actor) throws IllegalActionException
model
- The given model.actor
- The given actor.IllegalActionException
- If there is a problem accessing
the ports.protected static java.lang.String _driversCode(TypedCompositeActor model) throws IllegalActionException
model
- The model.IllegalActionException
- If there is a problem accessing
the ports.protected static java.lang.String _getTypeString(TypedIOPort port)
port
- An IO port.protected static java.lang.String _headerCode(TypedCompositeActor model) throws IllegalActionException
model
- The model.IllegalActionException
- If there is a problem
getting the model name.protected static boolean _initialize(TypedCompositeActor model)
model
- A model to generate Giotto code from.protected static java.lang.String _modeCode(TypedCompositeActor model) throws IllegalActionException
model
- The model.IllegalActionException
- If there is a problem
getting the director or accessing the ports.protected static java.lang.String _outputCode(TypedCompositeActor model) throws IllegalActionException
model
- The model.IllegalActionException
- If there is a problem
accessing the ports.protected static java.lang.String _sensorCode(TypedCompositeActor model) throws IllegalActionException
model
- The model from which we generate code.IllegalActionException
- If there is a problem iterating
over the actors.protected static java.lang.String _taskCode(TypedCompositeActor model, Actor actor) throws IllegalActionException
model
- The model from which we generate code.actor
- The actor we are generating code for.IllegalActionException
- If there is a problem iterating
over the ports of the actorprotected static java.lang.String _tasksCode(TypedCompositeActor model) throws IllegalActionException
model
- The model from which we generate code.IllegalActionException
- If there is a problem iterating
over the actors.