<?xml version="1.0" standalone="no"?>
<!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
    "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
<entity name="Ramp" class="ptolemy.actor.TypedCompositeActor">
    <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="7.0.beta">
    </property>
    <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={181, 72, 815, 657}, maximized=false}">
    </property>
    <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" value="[600, 550]">
    </property>
    <property name="_vergilZoomFactor" class="ptolemy.data.expr.ExpertParameter" value="1.0">
    </property>
    <property name="_vergilCenter" class="ptolemy.data.expr.ExpertParameter" value="{300.0, 275.0}">
    </property>
    <property name="SDF Director" class="ptolemy.domains.sdf.kernel.SDFDirector">
        <property name="iterations" class="ptolemy.data.expr.Parameter" value="10">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[95.0, 60.0]">
        </property>
    </property>
    <property name="_generator" class="ptolemy.copernicus.kernel.GeneratorAttribute">
        <property name="initialParametersURL" class="ptolemy.data.expr.StringParameter" value="ptolemy/copernicus/kernel/Generator.xml">
        </property>
        <property name="codeGenerator" class="ptolemy.data.expr.StringParameter" value="java">
            <property name="style" class="ptolemy.actor.gui.style.ChoiceStyle">
                <property name="java" class="ptolemy.kernel.util.StringAttribute" value="java">
                </property>
                <property name="applet" class="ptolemy.kernel.util.StringAttribute" value="applet">
                </property>
                <property name="c" class="ptolemy.kernel.util.StringAttribute" value="c">
                </property>
                <property name="interpreted" class="ptolemy.kernel.util.StringAttribute" value="interpreted">
                </property>
                <property name="jhdl" class="ptolemy.kernel.util.StringAttribute" value="jhdl">
                </property>
                <property name="shallow" class="ptolemy.kernel.util.StringAttribute" value="shallow">
                </property>
            </property>
            <doc>The code generator to run.</doc>
        </property>
        <property name="codeGeneratorClassName" class="ptolemy.data.expr.StringParameter" value="ptolemy.copernicus.$codeGenerator.Main">
            <doc>The class that is instantiated to execute a particular code generator.  This class is expected to be a subclass of ptolemy.copernicus.kernel.KernelMain.</doc>
        </property>
        <property name="compile" class="ptolemy.data.expr.StringParameter" value="true">
            <property name="style" class="ptolemy.actor.gui.style.CheckBoxStyle">
            </property>
            <doc>If true, compile the generated code.  The default is true.</doc>
        </property>
        <property name="show" class="ptolemy.data.expr.StringParameter" value="true">
            <property name="style" class="ptolemy.actor.gui.style.CheckBoxStyle">
            </property>
            <doc> If true, then show the generated code.  The default is true.</doc>
        </property>
        <property name="run" class="ptolemy.data.expr.StringParameter" value="true">
            <property name="style" class="ptolemy.actor.gui.style.CheckBoxStyle">
            </property>
            <doc> If true, then run the generated code.  The default is true.</doc>
        </property>
        <property name="ptII" class="ptolemy.data.expr.Parameter" value="property(&quot;ptolemy.ptII.dir&quot;)">
            <doc>The location of the Ptolemy II classes.  The default is the value of the ptolemy.ptII.dir java system property</doc>
        </property>
        <property name="ptIIUserDirectory" class="ptolemy.data.expr.StringParameter" value="$ptII">
            <doc>The top level directory to write the code in. The default is the value of the ptII parameter. The code will appear in 'ptIIUserDirectory/targetPath'.</doc>
        </property>
        <property name="targetPackage" class="ptolemy.data.expr.StringParameter" value="$modelName">
            <doc>The package to generate code in. Defaults to the model name</doc>
        </property>
        <property name="targetPath" class="ptolemy.data.expr.StringParameter" value="ptolemy/copernicus/$codeGenerator/cg/$modelName">
            <doc>The path relative to the ptIIUserDirectory to generate code in.</doc>
        </property>
        <property name="outputDirectory" class="ptolemy.data.expr.StringParameter" value="$ptIIUserDirectory/$targetPath">
            <doc>The directory that code will be generated in.</doc>
        </property>
        <property name="modelPath" class="ptolemy.data.expr.StringParameter" value="file:/C:/ptII/ptolemy/codegen/demo/Ramp/Sequence.xml">
            <doc>The path to the model, including the .xml extension.  modelPath is converted to a URL internally before use.</doc>
        </property>
        <property name="modelName" class="ptolemy.data.expr.StringParameter" value="Sequence">
            <doc> The name of the model, read from the .xml file and sanitized.</doc>
        </property>
        <property name="iterations" class="ptolemy.data.expr.StringParameter" value="0">
            <doc>Number of iterations to run the model for. Usually, the model itself contains the number of iterations to run for. Defaults to 1000.</doc>
        </property>
        <property name="iterationsParameter" class="ptolemy.data.expr.StringParameter" value=",iterations:$iterations">
            <doc>Defaults to &quot;iterations:&quot; + iterations.  Set this to the empty string if the model has the number of iterations built in.</doc>
        </property>
        <property name="compileOptions" class="ptolemy.data.expr.StringParameter" value="">
            <doc>User supplied arguments to be passed to the code generator.  Defaults to the empty string.</doc>
        </property>
        <property name="javaClassPath" class="ptolemy.data.expr.Parameter" value="property(&quot;java.class.path&quot;)">
        </property>
        <property name="classPath" class="ptolemy.data.expr.StringParameter" value="$ptIIUserDirectory${classPathSeparator}$javaClassPath${classPathSeparator}$sootClasses${classPathSeparator}$necessaryClassPath">
            <doc>The class path. Defaults to the value of of the java.class.path property.</doc>
        </property>
        <property name="necessaryClasses" class="ptolemy.data.expr.Parameter" value="{&quot;ptolemy.domains.sdf.kernel.SDFScheduler&quot;,&quot;ptolemy.copernicus.java.Main&quot;,&quot;ptolemy.kernel.util.NamedObj&quot;,&quot;jasmin.Main&quot;,&quot;ptolemy.vergil.MoMLViewerApplet&quot;,&quot;diva.graph.GraphController&quot;}">
            <doc>An array of Strings, where each element names a class that needs to be present in the classpath </doc>
        </property>
        <property name="necessaryClassPath" class="ptolemy.data.expr.StringParameter" value="C:/ptII;C:/ptII/lib/jasminclasses.jar">
            <doc>Class path that refers to necessary classes. Derived from necessaryClasses</doc>
        </property>
        <property name="classPathSeparator" class="ptolemy.data.expr.Parameter" value="property(&quot;path.separator&quot;)">
            <doc>The classpath separator. Under Windows, the default is ';'. Under Unix, the default is ':'</doc>
        </property>
        <property name="javaHome" class="ptolemy.data.expr.Parameter" value="property(&quot;java.home&quot;)">
            <doc>Defaults to the value of the java.home property</doc>
        </property>
        <property name="java" class="ptolemy.data.expr.StringParameter" value="$javaHome/bin/java">
            <doc>Defaults to the value of the java.home property + bin/java, for example: c:/jdk1.3.1/bin/java</doc>
        </property>
        <property name="javaPtIIProperty" class="ptolemy.data.expr.StringParameter" value="-Dptolemy.ptII.dir=$ptII">
            <doc>The flag to pass to the java process that defines the value of the ptolemy.ptII.dir property.  Defaults to &quot;-Dptolemy.ptII.dir=&quot; + ptII</doc>
        </property>
        <property name="javaSystemJar" class="ptolemy.data.expr.StringParameter" value="$javaHome/lib/rt.jar">
            <doc>Defaults to the value of the java.home property + &quot;/lib/rt.jar&quot;</doc>
        </property>
        <property name="jvmSize" class="ptolemy.data.expr.StringParameter" value="-Xmx256m">
            <doc>The command line arguments to pass to the java interpreter that control the size.  The default is -Xmx256m</doc>
        </property>
        <property name="templateDirectory" class="ptolemy.data.expr.StringParameter" value="ptolemy/copernicus/$codeGenerator">
            <doc>The directory for finding template files.</doc>
        </property>
        <property name="runCommandTemplateFile" class="ptolemy.data.expr.StringParameter" value="ptolemy/copernicus/$codeGenerator/runCommandTemplate.txt">
            <doc>The template file that contains the command to run the generated code.</doc>
        </property>
        <property name="runOptions" class="ptolemy.data.expr.StringParameter" value="">
            <doc>User supplied arguments to be passed to the command that will run the generated code. Defaults to the empty string.</doc>
        </property>
        <property name="sootDir" class="ptolemy.data.expr.StringParameter" value="$ptII/lib">
            <doc>The directory that contains the soot jar files. Defaults to the value of the ptII parameter  + &quot;/lib&quot;</doc>
        </property>
        <property name="sootClasses" class="ptolemy.data.expr.StringParameter" value="$sootDir/sootclasses.jar${classPathSeparator}$sootDir/jasminclasses.jar${classPathSeparator}$javaSystemJar">
            <doc>The location of sootclasses.jar, jasminclasses.jar and the Java system jar (usually rt.jar).  The necessaryClassPath parameter may end up duplicating some of the elements of this parameter.</doc>
        </property>
        <property name="ptIIUserDirectoryAsURL" class="ptolemy.data.expr.StringParameter" value="file:/C:/ptII">
            <doc>The top level directory to write the code in as a URL.  Derived from the value of the ptIIUserDirectory parameter.</doc>
        </property>
        <property name="watchDogTimeout" class="ptolemy.data.expr.StringParameter" value="720000">
            <doc>The number of milliseconds that code generation will run for. Defaults to 720000, which is 12 minutes.</doc>
        </property>
        <property name="output" class="ptolemy.data.expr.StringParameter" value="">
            <doc>The filename to redirect the standard output stream of the code generator to.  This is used, for example, in the nightly build to provide easily parseable error messages.  If the value is not set, then the output will not be redirected. </doc>
        </property>
    </property>
    <property name="StaticSchedulingCodeGenerator" class="ptolemy.codegen.kernel.StaticSchedulingCodeGenerator">
        <property name="_location" class="ptolemy.kernel.util.Location" value="[95.0, 180.0]">
        </property>
    </property>
    <property name="Annotation" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="This model is a simple example of the code generator.&#10;Double click on the blue StaticSchedulingCodeGenerator&#10;and then click on the Generate button.&#10;&#10;The code that is generated runs and then starts up &#10;a plotter to display the results.">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[220.0, 10.0]">
        </property>
    </property>
    <property name="Annotation2" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="textSize" class="ptolemy.data.expr.Parameter" value="12">
        </property>
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{1.0, 0.0, 0.0, 1.0}">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="For this demo to work you will need:&#10;* make and a compiler.  Under Windows, you may need to install Cygwin,&#10;  see http://ptolemy.eecs.berkeley.edu/ptolemyII/ptIIlatest/cygwin.htm&#10;  Under Windows, you may need to add C:\cygwin\bin to your path.&#10;* This model uses the plotter, so it requires that jvm.dll be in your path.&#10;  This file can be found in the jre/bin/client directory of the JDK, so you&#10;  may need to add a director like&#10;  c:\Progra~1\Java\jdk1.5.0_14\jre\bin\client&#10;  to your path.  Ptolemy attempts to temporarily add the proper directory&#10;  to your path, but it might not always succeed.  If the generated executable&#10;  starts up and then exits, you may need to the directory that contains &#10;  libjvm.dll directly to your path and then run the generated executable.&#10;* Under Windows, you may need to add c:\Cygwin\bin to your path to avoid&#10;  the &quot;impure_ptr&quot; message.">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[50.0, 290.0]">
        </property>
    </property>
    <property name="Annotation3" class="ptolemy.vergil.kernel.attributes.TextAttribute">
        <property name="textColor" class="ptolemy.actor.gui.ColorAttribute" value="{0.6,0.6,0.6,1.0}">
        </property>
        <property name="text" class="ptolemy.kernel.util.StringAttribute" value="Author: Gang Zhou">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[25.0, 515.0]">
        </property>
    </property>
    <entity name="Ramp" class="ptolemy.actor.lib.Ramp">
        <property name="step" class="ptolemy.actor.parameters.PortParameter" value="2">
        </property>
        <doc>Create a sequence of tokens with increasing value</doc>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[80.0, 255.0]">
        </property>
    </entity>
    <entity name="SequencePlotter" class="ptolemy.actor.lib.gui.SequencePlotter">
        <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={50, 301, 508, 348}, maximized=false}">
        </property>
        <property name="_plotSize" class="ptolemy.actor.gui.SizeAttribute" value="[500, 300]">
        </property>
        <property name="_location" class="ptolemy.kernel.util.Location" value="[250.0, 255.0]">
        </property>
        <configure>
<?plotml <!DOCTYPE plot PUBLIC "-//UC Berkeley//DTD PlotML 1//EN"
"http://ptolemy.eecs.berkeley.edu/xml/dtd/PlotML_1.dtd">
<plot>
<title>SequencePlotter</title>
<xLabel></xLabel>
<yLabel></yLabel>
<xRange min="1.7976931348623157E308" max="-1.7976931348623157E308"/>
<yRange min="1.7976931348623157E308" max="-1.7976931348623157E308"/>
<default marks="dots" stems="yes"/>
</plot>?>
        </configure>
    </entity>
    <relation name="relation" class="ptolemy.actor.TypedIORelation">
        <property name="width" class="ptolemy.data.expr.Parameter" value="1">
        </property>
    </relation>
    <link port="Ramp.output" relation="relation"/>
    <link port="SequencePlotter.input" relation="relation"/>
</entity>
