reset

# This file was generated by MLDesigner version 3.0.0


# importing SystemDS library for data structure definition
# line 5 in $MLD_USER/Demo/sinMod/sinMod.ptcl: source $MLD/lib/system/SystemDS.ptcl
# This file was generated by MLDesigner version 3.0.0


# definition of data structures

newds {SystemDS:Packet} {Root}

newds {SystemDS:Address} {Root}

newds {SystemDS:Statistics} {Root}

newds {SystemDS:System} {Root}

newds {SystemDS:BaseMatrix} {Root}

newds {SystemDS:CDFOutput} {SystemDS:Root.System}
newdsmember {SystemDS:Root.System.CDFOutput} {BinCenter} {Root.Float} {0.000000}
newdsmember {SystemDS:Root.System.CDFOutput} {BinUpperEdge} {Root.Float} {0.000000}
newdsmember {SystemDS:Root.System.CDFOutput} {CumulativeValue} {Root.Float} {0.000000} {[0, 1]}

newds {SystemDS:DataSetDescriptor} {SystemDS:Root.System}
newdsmember {SystemDS:Root.System.DataSetDescriptor} {DataSetName} {Root.String} {0}
newdsmember {SystemDS:Root.System.DataSetDescriptor} {XExpression} {Root.String} {0}
newdsmember {SystemDS:Root.System.DataSetDescriptor} {YExpression} {Root.String} {0}
newdsmember {SystemDS:Root.System.DataSetDescriptor} {DeltaExpression} {Root.String} {0}
newdsmember {SystemDS:Root.System.DataSetDescriptor} {PlotSymbol} {Root.String} {0}
newdsmember {SystemDS:Root.System.DataSetDescriptor} {FillPattern} {Root.String} {0}
newdsmember {SystemDS:Root.System.DataSetDescriptor} {MaxBarWidth} {Root.String} {0}
newdsmember {SystemDS:Root.System.DataSetDescriptor} {LineStyle} {Root.String} {0}
newdsmember {SystemDS:Root.System.DataSetDescriptor} {ConnectPoints} {Root.String} {0}
newdsmember {SystemDS:Root.System.DataSetDescriptor} {Color} {Root.String} {0}
newdsmember {SystemDS:Root.System.DataSetDescriptor} {ProbeDescriptor} {Root}

newds {SystemDS:QueueElement} {SystemDS:Root.System}
newdsmember {SystemDS:Root.System.QueueElement} {Tag} {Root.Integer} {0} {[-1, Inf)}
newdsmember {SystemDS:Root.System.QueueElement} {Element} {Root}

newds {SystemDS:ThroughputAndDelayDS} {SystemDS:Root.System}
newdsmember {SystemDS:Root.System.ThroughputAndDelayDS} {MeanThroughput} {Root.Float} {0.000000} {[0, Inf)}
newdsmember {SystemDS:Root.System.ThroughputAndDelayDS} {VarianceOfThroughput} {Root.Float} {0.000000} {[-1, Inf)}
newdsmember {SystemDS:Root.System.ThroughputAndDelayDS} {MeanDelay} {Root.Float} {0.000000} {[0, Inf)}
newdsmember {SystemDS:Root.System.ThroughputAndDelayDS} {VarianceOfDelay} {Root.Float} {0.000000} {[-1, Inf)}
newdsmember {SystemDS:Root.System.ThroughputAndDelayDS} {NumberOfSamples} {Root.Integer} {0} {[0, Inf)}

newds {SystemDS:TimingPacket} {SystemDS:Root.System}
newdsmember {SystemDS:Root.System.TimingPacket} {TimeCreated} {Root.Float} {0.000000} {[0, Inf)}
newdsmember {SystemDS:Root.System.TimingPacket} {IntermediateTime} {Root.Float} {0.000000} {[0, Inf)}
newdsmember {SystemDS:Root.System.TimingPacket} {TimeFinished} {Root.Float} {0.000000} {[0, Inf)}
newdsmember {SystemDS:Root.System.TimingPacket} {Length} {Root.Integer} {0} {[0, Inf)}
newdsmember {SystemDS:Root.System.TimingPacket} {Type} {Root.Integer} {0}

newds {SystemDS:NetworkProtocol} {Root}
newdsmember {SystemDS:Root.NetworkProtocol} {Name} {Root.String} {""}

newenum {SystemDS:Boolean} {Root.ENUM}
newenummember {SystemDS:Root.ENUM.Boolean} {FALSE} {0}
newenummember {SystemDS:Root.ENUM.Boolean} {TRUE} {1}

newds {SystemDS:HistogramReport} {SystemDS:Root.Statistics}
newdsmember {SystemDS:Root.Statistics.HistogramReport} {CenterOfBin} {Root.Float} {0.000000}
newdsmember {SystemDS:Root.Statistics.HistogramReport} {NumberInBin} {Root.Integer} {0} {[0, Inf)}
newdsmember {SystemDS:Root.Statistics.HistogramReport} {NumberInAllBins} {Root.Integer} {0} {[0, Inf)}
newdsmember {SystemDS:Root.Statistics.HistogramReport} {NumInAndBelowThisBin} {Root.Integer} {0} {[0, Inf)}

newds {SystemDS:BasicStatistics} {SystemDS:Root.Statistics}
newdsmember {SystemDS:Root.Statistics.BasicStatistics} {IntervalMean} {Root.Float} {0.000000}
newdsmember {SystemDS:Root.Statistics.BasicStatistics} {IntervalVariance} {Root.Float} {0.000000}
newdsmember {SystemDS:Root.Statistics.BasicStatistics} {Minimum} {Root.Float} {0.000000}
newdsmember {SystemDS:Root.Statistics.BasicStatistics} {Maximum} {Root.Float} {0.000000}
newdsmember {SystemDS:Root.Statistics.BasicStatistics} {NumSamples} {Root.Integer} {0} {[0, Inf)}

newds {SystemDS:DimensionedBasicStats} {SystemDS:Root.Statistics.BasicStatistics}
newdsmember {SystemDS:Root.Statistics.BasicStatistics.DimensionedBasicStats} {Dimension} {Root.Integer} {-1}

newds {SystemDS:TimeAverageStatistics} {SystemDS:Root.Statistics}
newdsmember {SystemDS:Root.Statistics.TimeAverageStatistics} {IntervalMean} {Root.Float} {0.000000}
newdsmember {SystemDS:Root.Statistics.TimeAverageStatistics} {MinimumInstantaneousValue} {Root.Float} {0.000000}
newdsmember {SystemDS:Root.Statistics.TimeAverageStatistics} {MaximumInstantaneousValue} {Root.Float} {0.000000}
newdsmember {SystemDS:Root.Statistics.TimeAverageStatistics} {DurationOfInterval} {Root.Float} {0.000000}
newdsmember {SystemDS:Root.Statistics.TimeAverageStatistics} {Dimension} {Root.Integer} {-1}

newds {SystemDS:TAStatsWithPriority} {SystemDS:Root.Statistics.TimeAverageStatistics}
newdsmember {SystemDS:Root.Statistics.TimeAverageStatistics.TAStatsWithPriority} {Priority} {Root.Integer} {0}

newds {SystemDS:DIStats} {SystemDS:Root.Statistics}
newdsmember {SystemDS:Root.Statistics.DIStats} {NumberActive} {Root.Integer} {0} {[0, Inf)}

newds {SystemDS:QueueAndServerStats} {SystemDS:Root.Statistics}
newdsmember {SystemDS:Root.Statistics.QueueAndServerStats} {NumberEntered} {Root.Integer} {0} {[0, Inf)}
newdsmember {SystemDS:Root.Statistics.QueueAndServerStats} {NumberExited} {Root.Integer} {0} {[0, Inf)}
newdsmember {SystemDS:Root.Statistics.QueueAndServerStats} {NumberRejected} {Root.Integer} {0} {[0, Inf)}
newdsmember {SystemDS:Root.Statistics.QueueAndServerStats} {MeanBufferOccupancy} {Root.Float} {0.000000} {[0, Inf)}
newdsmember {SystemDS:Root.Statistics.QueueAndServerStats} {MeanDelayThroughQueue} {Root.Float} {0.000000} {[0, Inf)}
newdsmember {SystemDS:Root.Statistics.QueueAndServerStats} {MeanServerOccupancy} {Root.Float} {0.000000} {[0, Inf)}
newdsmember {SystemDS:Root.Statistics.QueueAndServerStats} {MeanDelayThroughServer} {Root.Float} {0.000000} {[0, Inf)}

newds {SystemDS:QueueStats} {SystemDS:Root.Statistics}
newdsmember {SystemDS:Root.Statistics.QueueStats} {QueueNumber} {Root.Integer} {0} {[-1, Inf)}
newdsmember {SystemDS:Root.Statistics.QueueStats} {NumberInQueue} {Root.Integer} {0} {[-1, Inf)}
newdsmember {SystemDS:Root.Statistics.QueueStats} {NumberEntered} {Root.Integer} {0} {[-1, Inf)}
newdsmember {SystemDS:Root.Statistics.QueueStats} {NumberExited} {Root.Integer} {0} {[-1, Inf)}
newdsmember {SystemDS:Root.Statistics.QueueStats} {NumberRejected} {Root.Integer} {0} {[-1, Inf)}
newdsmember {SystemDS:Root.Statistics.QueueStats} {MeanBufferOccupancy} {Root.Float} {0.000000} {[-1, Inf)}
newdsmember {SystemDS:Root.Statistics.QueueStats} {MaxBufferOccupancy} {Root.Float} {0.000000} {[-1, Inf)}
newdsmember {SystemDS:Root.Statistics.QueueStats} {MeanDelayThroughQueue} {Root.Float} {0.000000} {[-1, Inf)}
newdsmember {SystemDS:Root.Statistics.QueueStats} {FrontElementPriority} {Root.Integer} {-1} {[-1, Inf)}
newdsmember {SystemDS:Root.Statistics.QueueStats} {LastElementReleasedPriority} {Root.Integer} {-1} {[-1, Inf)}

newds {SystemDS:IPAddress} {SystemDS:Root.Address}
newdsmember {SystemDS:Root.Address.IPAddress} {Byte1} {Root.Integer} {192} {[0, 256)}
newdsmember {SystemDS:Root.Address.IPAddress} {Byte2} {Root.Integer} {168} {[0, 256)}
newdsmember {SystemDS:Root.Address.IPAddress} {Byte3} {Root.Integer} {0} {[0, 256)}
newdsmember {SystemDS:Root.Address.IPAddress} {Byte4} {Root.Integer} {1} {[0, 256)}

newds {SystemDS:TCPProtocol} {SystemDS:Root.NetworkProtocol}
newdsmember {SystemDS:Root.NetworkProtocol.TCPProtocol} {SourceIP} {SystemDS:Root.Address.IPAddress}
newdsmember {SystemDS:Root.NetworkProtocol.TCPProtocol} {DestIP} {SystemDS:Root.Address.IPAddress}
newdsmember {SystemDS:Root.NetworkProtocol.TCPProtocol} {SourcePort} {Root.Integer} {80} {[0, 65536)}
newdsmember {SystemDS:Root.NetworkProtocol.TCPProtocol} {DestPort} {Root.Integer} {80} {[0, 65536)}

newds {SystemDS:UDPProtocol} {SystemDS:Root.NetworkProtocol}

newvector {SystemDS:VectorOfPackets} {SystemDS:Root.NetworkProtocol.TCPProtocol}

newenum {SystemDS:YesNo} {Root.ENUM}
newenummember {SystemDS:Root.ENUM.YesNo} {No} {0}
newenummember {SystemDS:Root.ENUM.YesNo} {Yes} {1}

newenum {SystemDS:AddressingMode} {Root.ENUM}
newenummember {SystemDS:Root.ENUM.AddressingMode} {Indexed} {0}
newenummember {SystemDS:Root.ENUM.AddressingMode} {NonIndexed} {1}

newenum {SystemDS:BlockingMechanism} {Root.ENUM}
newenummember {SystemDS:Root.ENUM.BlockingMechanism} {Wait_for_Resource} {0}
newenummember {SystemDS:Root.ENUM.BlockingMechanism} {Exit_without_any_Resource_Units} {1}
newenummember {SystemDS:Root.ENUM.BlockingMechanism} {Seize_Available_Units} {2}

newenum {SystemDS:ConditionsToReportInfo} {Root.ENUM}
newenummember {SystemDS:Root.ENUM.ConditionsToReportInfo} {Always} {0}
newenummember {SystemDS:Root.ENUM.ConditionsToReportInfo} {OnlyDuringDEBUG} {1}

newenum {SystemDS:FitPolicy} {Root.ENUM}
newenummember {SystemDS:Root.ENUM.FitPolicy} {FirstFit} {0}
newenummember {SystemDS:Root.ENUM.FitPolicy} {BestFit} {1}

newenum {SystemDS:PreemptDiscipline} {Root.ENUM}
newenummember {SystemDS:Root.ENUM.PreemptDiscipline} {Dont_Preempt} {0}
newenummember {SystemDS:Root.ENUM.PreemptDiscipline} {Allow_Preemption} {1}
newenummember {SystemDS:Root.ENUM.PreemptDiscipline} {Mixed_Preemption} {2}

newenum {SystemDS:PreemptResponse} {Root.ENUM}
newenummember {SystemDS:Root.ENUM.PreemptResponse} {Resume} {0}
newenummember {SystemDS:Root.ENUM.PreemptResponse} {Restart} {1}
newenummember {SystemDS:Root.ENUM.PreemptResponse} {Discard} {2}

newenum {SystemDS:QueueDiscipline} {Root.ENUM}
newenummember {SystemDS:Root.ENUM.QueueDiscipline} {First_In_First_Out} {0}
newenummember {SystemDS:Root.ENUM.QueueDiscipline} {Last_In_First_Out} {1}

newenum {SystemDS:InitialQueueState} {Root.ENUM}
newenummember {SystemDS:Root.ENUM.InitialQueueState} {Initial_Input_Flows_Through} {0}
newenummember {SystemDS:Root.ENUM.InitialQueueState} {Initial_Input_Is_Held} {1}

newenum {SystemDS:QueueRejectMechanism} {Root.ENUM}
newenummember {SystemDS:Root.ENUM.QueueRejectMechanism} {Incoming_DS_Rejected} {0}
newenummember {SystemDS:Root.ENUM.QueueRejectMechanism} {Lowest_Priority_DS_Rejected} {1}

newenum {SystemDS:ServerMechanism} {Root.ENUM}
newenummember {SystemDS:Root.ENUM.ServerMechanism} {Dedicated_Server} {0}
newenummember {SystemDS:Root.ENUM.ServerMechanism} {Round_Robin} {1}
newenummember {SystemDS:Root.ENUM.ServerMechanism} {Processor_Sharing} {2}
newenummember {SystemDS:Root.ENUM.ServerMechanism} {Priority_Scheduling} {3}
newenummember {SystemDS:Root.ENUM.ServerMechanism} {Earliest_Deadline_First} {4}
newenummember {SystemDS:Root.ENUM.ServerMechanism} {Least_Laxity_First} {5}
newenummember {SystemDS:Root.ENUM.ServerMechanism} {OSEK_OS_Server} {6}
newenummember {SystemDS:Root.ENUM.ServerMechanism} {OSEK_Time_Server} {7}

newenum {SystemDS:TerminateMechanism} {Root.ENUM}
newenummember {SystemDS:Root.ENUM.TerminateMechanism} {Isolated} {0}
newenummember {SystemDS:Root.ENUM.TerminateMechanism} {Cooperate} {1}

newenum {SystemDS:QuantityResourceLastAction} {Root.ENUM}
newenummember {SystemDS:Root.ENUM.QuantityResourceLastAction} {NoActionPerformed} {-1}
newenummember {SystemDS:Root.ENUM.QuantityResourceLastAction} {RequestAllocate} {0}
newenummember {SystemDS:Root.ENUM.QuantityResourceLastAction} {RequestTakeAvailable} {1}
newenummember {SystemDS:Root.ENUM.QuantityResourceLastAction} {RequestQueue} {2}
newenummember {SystemDS:Root.ENUM.QuantityResourceLastAction} {RequestReject} {3}
newenummember {SystemDS:Root.ENUM.QuantityResourceLastAction} {RequestQueueDisplace} {4}
newenummember {SystemDS:Root.ENUM.QuantityResourceLastAction} {Free} {5}
newenummember {SystemDS:Root.ENUM.QuantityResourceLastAction} {Change_Capacity} {6}
newenummember {SystemDS:Root.ENUM.QuantityResourceLastAction} {Allocate_Queued_Request} {7}

newenum {SystemDS:ServerResourceLastAction} {Root.ENUM}
newenummember {SystemDS:Root.ENUM.ServerResourceLastAction} {NoActionPerformed} {-1}
newenummember {SystemDS:Root.ENUM.ServerResourceLastAction} {New_TransactionAccept} {0}
newenummember {SystemDS:Root.ENUM.ServerResourceLastAction} {New_TransactionReject} {1}
newenummember {SystemDS:Root.ENUM.ServerResourceLastAction} {New_TransactionDisplace} {2}
newenummember {SystemDS:Root.ENUM.ServerResourceLastAction} {Transaction_Completed_Service} {3}
newenummember {SystemDS:Root.ENUM.ServerResourceLastAction} {RoundRobin_Context_Switch} {4}
newenummember {SystemDS:Root.ENUM.ServerResourceLastAction} {Service_Rate_Multiplier_Modified} {5}

newenum {SystemDS:MVL4Bit} {Root.ENUM}
newenummember {SystemDS:Root.ENUM.MVL4Bit} {Zero} {0}
newenummember {SystemDS:Root.ENUM.MVL4Bit} {One} {1}
newenummember {SystemDS:Root.ENUM.MVL4Bit} {X} {2}
newenummember {SystemDS:Root.ENUM.MVL4Bit} {Z} {3}

newds {SystemDS:Resources} {Root}

newds {SystemDS:FCFSServerResource} {SystemDS:Root.Resources}
newdsmember {SystemDS:Root.Resources.FCFSServerResource} {NumberOfDimensions} {Root.Integer} {1} {[1, Inf)}
newdsmember {SystemDS:Root.Resources.FCFSServerResource} {InitialNumberOfServers} {Root.Integer} {1} {[1, Inf)}
newdsmember {SystemDS:Root.Resources.FCFSServerResource} {InitialServiceRateMultiplier} {Root.Float} {1.000000} {(0, Inf)}
newdsmember {SystemDS:Root.Resources.FCFSServerResource} {MaximumOccupancy} {Root.Integer} {100} {[0, Inf)}
newdsmember {SystemDS:Root.Resources.FCFSServerResource} {QueueRejectMechanism} {SystemDS:Root.ENUM.QueueRejectMechanism} {Incoming_DS_Rejected}
newdsmember {SystemDS:Root.Resources.FCFSServerResource} {StatsEnabled?} {SystemDS:Root.ENUM.YesNo} {No}
newdsmember {SystemDS:Root.Resources.FCFSServerResource} {StatsProbeName} {Root.String} {0}
newdsmember {SystemDS:Root.Resources.FCFSServerResource} {StatsNumberOfBatches} {Root.Integer} {10} {(0, Inf)}
newdsmember {SystemDS:Root.Resources.FCFSServerResource} {StatsStartupTime} {Root.Float} {0.000000} {[0, Inf)}
newdsmember {SystemDS:Root.Resources.FCFSServerResource} {StatsGeneratePlot?} {SystemDS:Root.ENUM.YesNo} {No}
newdsmember {SystemDS:Root.Resources.FCFSServerResource} {PointerToInternals} {Root}

newds {SystemDS:QuantityResource} {SystemDS:Root.Resources}
newdsmember {SystemDS:Root.Resources.QuantityResource} {NumberOfDimensions} {Root.Integer} {1} {[1, Inf)}
newdsmember {SystemDS:Root.Resources.QuantityResource} {InitialCapacity} {Root.Integer} {1} {[0, Inf)}
newdsmember {SystemDS:Root.Resources.QuantityResource} {MaximumQueueOccupancy} {Root.Integer} {100} {[0, Inf)}
newdsmember {SystemDS:Root.Resources.QuantityResource} {BlockingMechanism} {SystemDS:Root.ENUM.BlockingMechanism} {Wait_for_Resource}
newdsmember {SystemDS:Root.Resources.QuantityResource} {QueueDiscipline} {SystemDS:Root.ENUM.QueueDiscipline} {First_In_First_Out}
newdsmember {SystemDS:Root.Resources.QuantityResource} {QueueRejectMechanism} {SystemDS:Root.ENUM.QueueRejectMechanism} {Incoming_DS_Rejected}
newdsmember {SystemDS:Root.Resources.QuantityResource} {AddressingMode} {SystemDS:Root.ENUM.AddressingMode} {Indexed}
newdsmember {SystemDS:Root.Resources.QuantityResource} {AddressedFitPolicy} {SystemDS:Root.ENUM.FitPolicy} {FirstFit}
newdsmember {SystemDS:Root.Resources.QuantityResource} {LastModifiedDimension} {Root.Integer} {-1} {[-1, Inf)}
newdsmember {SystemDS:Root.Resources.QuantityResource} {ResourceState} {Root.Vector}

newds {SystemDS:ServerResource} {SystemDS:Root.Resources}
newdsmember {SystemDS:Root.Resources.ServerResource} {NumberOfDimensions} {Root.Integer} {1} {[1, Inf)}
newdsmember {SystemDS:Root.Resources.ServerResource} {InitialNumberOfServers} {Root.Integer} {1} {[1, Inf)}
newdsmember {SystemDS:Root.Resources.ServerResource} {InitialServiceRateMultiplier} {Root.Float} {1.000000} {[0, Inf)}
newdsmember {SystemDS:Root.Resources.ServerResource} {ServerMechanism} {SystemDS:Root.ENUM.ServerMechanism} {Dedicated_Server}
newdsmember {SystemDS:Root.Resources.ServerResource} {MaximumOccupancy} {Root.Integer} {100} {[0, Inf)}
newdsmember {SystemDS:Root.Resources.ServerResource} {ContextSwitchingOverhead} {Root.Float} {0.000000} {[0, Inf)}
newdsmember {SystemDS:Root.Resources.ServerResource} {PreemptDiscipline} {SystemDS:Root.ENUM.PreemptDiscipline} {Dont_Preempt}
newdsmember {SystemDS:Root.Resources.ServerResource} {QueueDiscipline} {SystemDS:Root.ENUM.QueueDiscipline} {First_In_First_Out}
newdsmember {SystemDS:Root.Resources.ServerResource} {QueueRejectMechanism} {SystemDS:Root.ENUM.QueueRejectMechanism} {Incoming_DS_Rejected}
newdsmember {SystemDS:Root.Resources.ServerResource} {LastModifiedDimension} {Root.Integer} {-1} {[-1, Inf)}
newdsmember {SystemDS:Root.Resources.ServerResource} {ResourceState} {Root.Vector}

newds {SystemDS:IntMatrix} {SystemDS:Root.BaseMatrix}
newdsmember {SystemDS:Root.BaseMatrix.IntMatrix} {Rows} {Root.Integer} {1} {[1, Inf)}
newdsmember {SystemDS:Root.BaseMatrix.IntMatrix} {Columns} {Root.Integer} {1} {[1, Inf)}
newdsmember {SystemDS:Root.BaseMatrix.IntMatrix} {Matrix} {Root.IntVector} {0:0}

newds {SystemDS:FloatMatrix} {SystemDS:Root.BaseMatrix}
newdsmember {SystemDS:Root.BaseMatrix.FloatMatrix} {Rows} {Root.Integer} {1} {[1, Inf)}
newdsmember {SystemDS:Root.BaseMatrix.FloatMatrix} {Columns} {Root.Integer} {1} {[1, Inf)}
newdsmember {SystemDS:Root.BaseMatrix.FloatMatrix} {Matrix} {Root.FloatVector} {0:0.000000}

newds {SystemDS:QuantityResourceState} {SystemDS:Root.Statistics}
newdsmember {SystemDS:Root.Statistics.QuantityResourceState} {Dimension} {Root.Integer} {0} {[0, Inf)}
newdsmember {SystemDS:Root.Statistics.QuantityResourceState} {UnitsAllocated} {Root.Integer} {0} {[0, Inf)}
newdsmember {SystemDS:Root.Statistics.QuantityResourceState} {Capacity} {Root.Integer} {0} {[0, Inf)}
newdsmember {SystemDS:Root.Statistics.QuantityResourceState} {QueueOccupancy} {Root.Integer} {0} {[0, Inf)}
newdsmember {SystemDS:Root.Statistics.QuantityResourceState} {HighestPriorityWaiting} {Root.Integer} {-1} {[-1, Inf)}
newdsmember {SystemDS:Root.Statistics.QuantityResourceState} {LowestPriorityWaiting} {Root.Integer} {-1} {[-1, Inf)}
newdsmember {SystemDS:Root.Statistics.QuantityResourceState} {LastAction} {SystemDS:Root.ENUM.QuantityResourceLastAction} {NoActionPerformed}
newdsmember {SystemDS:Root.Statistics.QuantityResourceState} {UnitsToRemove} {Root.Integer} {0} {[0, Inf)}
newdsmember {SystemDS:Root.Statistics.QuantityResourceState} {IndexedUsageVector} {Root.IntVector} {0:0}

newds {SystemDS:ServerResourceState} {SystemDS:Root.Statistics}
newdsmember {SystemDS:Root.Statistics.ServerResourceState} {Dimension} {Root.Integer} {0} {[0, Inf)}
newdsmember {SystemDS:Root.Statistics.ServerResourceState} {ServersInUse} {Root.Integer} {0} {[0, Inf)}
newdsmember {SystemDS:Root.Statistics.ServerResourceState} {TotalOccupancy} {Root.Integer} {0} {[0, Inf)}
newdsmember {SystemDS:Root.Statistics.ServerResourceState} {QueueOccupancy} {Root.Integer} {0} {[0, Inf)}
newdsmember {SystemDS:Root.Statistics.ServerResourceState} {LastAction} {SystemDS:Root.ENUM.ServerResourceLastAction} {NoActionPerformed}
newdsmember {SystemDS:Root.Statistics.ServerResourceState} {TimeInResource_LastReleased_} {Root.Float} {-1.000000}
newdsmember {SystemDS:Root.Statistics.ServerResourceState} {TimeInQueue_LastReleased_} {Root.Float} {-1.000000}
newdsmember {SystemDS:Root.Statistics.ServerResourceState} {ServiceRateMultiplier} {Root.Float} {0.000000} {[0, Inf)}
newdsmember {SystemDS:Root.Statistics.ServerResourceState} {UtilizationByPriority} {Root.IntVector} {0:0}

newenum {SystemDS:Change_Controller_CS} {Root.ENUM}
newenummember {SystemDS:Root.ENUM.Change_Controller_CS} {Pennies} {0}
newenummember {SystemDS:Root.ENUM.Change_Controller_CS} {Nickels} {1}
newenummember {SystemDS:Root.ENUM.Change_Controller_CS} {Dime} {2}
newenummember {SystemDS:Root.ENUM.Change_Controller_CS} {Quarters} {3}
newenummember {SystemDS:Root.ENUM.Change_Controller_CS} {Outputing_Change} {4}
newenummember {SystemDS:Root.ENUM.Change_Controller_CS} {Collecting_Money} {5}

newds {SystemDS:Probes} {Root}

newds {SystemDS:IntVectorDs} {SystemDS:Root.Probes}
newdsmember {SystemDS:Root.Probes.IntVectorDs} {Index} {Root.Integer} {0} {[0, Inf)}
newdsmember {SystemDS:Root.Probes.IntVectorDs} {Value} {Root.Integer} {0}
newdsmember {SystemDS:Root.Probes.IntVectorDs} {VectorNumber} {Root.Integer} {0} {[0, Inf)}

newds {SystemDS:FloatVectorDs} {SystemDS:Root.Probes}
newdsmember {SystemDS:Root.Probes.FloatVectorDs} {Index} {Root.Integer} {0} {[0, Inf)}
newdsmember {SystemDS:Root.Probes.FloatVectorDs} {Value} {Root.Float} {0.000000}
newdsmember {SystemDS:Root.Probes.FloatVectorDs} {VectorNumber} {Root.Integer} {0} {[0, Inf)}

newds {SystemDS:MVL4BitVectorDs} {SystemDS:Root.Probes}
newdsmember {SystemDS:Root.Probes.MVL4BitVectorDs} {Index} {Root.Integer} {0} {[0, Inf)}
newdsmember {SystemDS:Root.Probes.MVL4BitVectorDs} {Value} {SystemDS:Root.ENUM.MVL4Bit} {Zero}
newdsmember {SystemDS:Root.Probes.MVL4BitVectorDs} {VectorNumber} {Root.Integer} {0} {[0, Inf)}

# importing libraries for data structure definition

domain SDF

# line 11 in $MLD_USER/Demo/sinMod/sinMod.ptcl: source $MLD/MLD_Libraries/SDF/Demo/modulator/modulator.ptcl
# This file was generated by MLDesigner version 3.0.0

# importing SystemDS library for data structure definition
# line 4 in $MLD/MLD_Libraries/SDF/Demo/modulator/modulator.ptcl: source $MLD/lib/system/SystemDS.ptcl

# importing libraries for data structure definition

# line 8 in $MLD/MLD_Libraries/SDF/Demo/modulator/modulator.ptcl: source ../SinusGenerator/SinusGenerator.ptcl
# This file was generated by MLDesigner version 3.0.0

# importing SystemDS library for data structure definition
# line 4 in $MLD/MLD_Libraries/SDF/Demo/SinusGenerator/SinusGenerator.ptcl: source $MLD/lib/system/SystemDS.ptcl

# importing libraries for data structure definition



defmodule SinusGenerator {
    domain SDF

    # definition of model parameters
    newparam stopTime float {$stopTime}
    newparam curIter int {$curIter}
    newparam absIter int {$absIter}
    newparam absSimul int {$absSimul}
    newparam SampleRate float {2*PI}
    newparam Frequency float {PI/50}
    newparam Phase float {0.0}

    # definition of model memories

    # definition of model events

    # definition of model resources

    # definition of instances and their properties
    instance Sin#1 Sin
    instance Ramp#1 Ramp
    trysetparam Ramp#1 {step} {2*PI*$Frequency/$SampleRate}
    trysetparam Ramp#1 {value} {$Phase}

    # define the connections
    connect Ramp#1 output Sin#1 input
    alias Sinus Sin#1 output

    # create sources and sinks for autoterminated ports
}


defmodule modulator {
    domain SDF

    # definition of model parameters
    newparam stopTime float {$stopTime}
    newparam curIter int {$curIter}
    newparam absIter int {$absIter}
    newparam absSimul int {$absSimul}
    newparam freq string {0.062832}

    # definition of model memories

    # definition of model events

    # definition of model resources

    # definition of instances and their properties
    instance Mpy.input=2#1 MpyFloat
    numports Mpy.input=2#1 {Input} {2}
    instance SinusGenerator#1 SinusGenerator
    trysetparam SinusGenerator#1 {SampleRate} {2*PI}
    trysetparam SinusGenerator#1 {Frequency} {$freq}
    trysetparam SinusGenerator#1 {Phase} {0.0}

    # define the connections
    alias in Mpy.input=2#1 Input#1
    alias out Mpy.input=2#1 Output
    connect SinusGenerator#1 Sinus Mpy.input=2#1 Input#2

    # create sources and sinks for autoterminated ports
}
# line 12 in $MLD_USER/Demo/sinMod/sinMod.ptcl: source $MLD/MLD_Libraries/SDF/Demo/SinusGenerator/SinusGenerator.ptcl


defsystem sinMod
domain SDF
# define the target and set the target parameters
target default-SDF
trytargetparam logFile {}
trytargetparam schedulePeriod {0.0}
trytargetparam usedScheduler {0}

# definition of model parameters
newparam GlobalSeed int {1234567890}
newparam RunLength float {400}
newparam Frequency float {PI/100}
newparam Phase float {0.0}

# definition of model memories

# definition of model events

# definition of model resources

# definition of instances and their properties
instance modulator#1 modulator
trysetparam modulator#1 {freq} {0.2*PI}
instance SinusGenerator#1 SinusGenerator
trysetparam SinusGenerator#1 {SampleRate} {2*PI}
trysetparam SinusGenerator#1 {Frequency} {$Frequency}
trysetparam SinusGenerator#1 {Phase} {$Phase}
instance XMgraph.input=1#1 XMgraph
numports XMgraph.input=1#1 {input} {1}
trysetparam XMgraph.input=1#1 {title} {A modulator demo}
trysetparam XMgraph.input=1#1 {saveFile} {}
trysetparam XMgraph.input=1#1 {options} {=800x400+0+0 -0 x}
trysetparam XMgraph.input=1#1 {ignore} {0}
trysetparam XMgraph.input=1#1 {xUnits} {1.0}
trysetparam XMgraph.input=1#1 {xInit} {0.0}
trysetparam XMgraph.input=1#1 {EndCondition} {FALSE}
trysetparam XMgraph.input=1#1 {NumberOfItems} {1}
trysetparam XMgraph.input=1#1 {Cumulation} {0}
trysetparam XMgraph.input=1#1 {Enabled} {TRUE}

# define the connections
connect SinusGenerator#1 Sinus modulator#1 in
connect modulator#1 out XMgraph.input=1#1 input#1

# create sources and sinks for autoterminated ports

# execution of iterations



# create probes




if {[info exists parameterfile] && \
    [info exists parameterset ] && \
    [info exists parameteriter]} {
  simulate $parameterfile $parameterset $parameteriter 0 0
} else {
  puts {Cannot execute simulation without specification of the parameter}
  puts {file. One of possible reasons is that you tried to simulate the}
  puts {system using "source" command. Use "execute" command instead to }
  puts {run simulations, see "help execute" }
}

sinMod.ptcl