Anatomy of an actor
/** Javadoc comment for the actor class. */
public class ActorClassName
extends BaseClass
implements MarkerInterface {
/** Javadoc comment for constructor. */
public ActorClassName(CompositeEntity container, String name) throws
NameDuplicationException, IllegalActionException {
super(container, name);
// Create and configure ports, e.g. ...
portName = new TypedIOPort(this, " portName ", true, false);
// Create and configure parameters, e.g. ...
parameterName = new Parameter(this, " parameterName ");
parameterName.setTypeEquals(BaseType.DOUBLE);
}
///////////////////////////////////////////////////////////////////
//// ports and parameters ////
/** Javadoc comment for port. */
public TypedIOPort portName;
/** Javadoc comment for parameter. */
public Parameter parameterName;
///////////////////////////////////////////////////////////////////
//// public methods ////
/** Javadoc comment for fire method. */
public void fire() {
super.fire();
...read inputs and produce outputs...
}
/** Javadoc comment for initialize method. */
public void initialize() {
super.initialize();
...initialize local variables...
}
/** Javadoc comment for prefire method. */
public boolean prefire() {
...determine whether firing should proceed and return false if not...
return super.prefire();
}
/** Javadoc comment for preinitialize method. */
public void preinitialize() {
super.preinitialize();
...set port types and / or scheduling information...
}
/** Javadoc comment for postfire method. */
public boolean postfire() {
...update persistent state...
...determine whether firing should continue to next iteration and
return false if not...
return super.postfire();
}
/** Javadoc comment for wrapup method. */
public void wrapup() {
super.wrapup();
...display final results...
}
}