<!DOCTYPE OMNotebook>
<Notebook>
 <GroupCell closed="false" >
  <GroupCell closed="false" >
   <TextCell style="Title" >
    <Text>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Arial; font-size:38pt; font-weight:600; color:#000000;">A Coupled Pipelined DEVS Model (p. 400)&lt;/p>&lt;/body>&lt;/html></Text>
   </TextCell>
   <GroupCell closed="false" >
    <TextCell style="Section" >
     <Text>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Times; font-size:18pt; font-weight:600; color:#000000;">The Random Package&lt;/p>&lt;/body>&lt;/html></Text>
    </TextCell>
    <InputCell style="Input" closed="true" >
     <Input>package Random</Input>
     <Output></Output>
     <Rule name="InitializationCell" >True</Rule>
    </InputCell>
    <TextCell style="Text" >
     <Text>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Times New Roman; font-size:12pt; color:#000000;">&lt;/p>&lt;/body>&lt;/html></Text>
    </TextCell>
    <InputCell style="Input" closed="true" >
     <Input>import Modelica.Math;</Input>
     <Output></Output>
     <Rule name="InitializationCell" >True</Rule>
    </InputCell>
    <TextCell style="Text" >
     <Text>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Times New Roman; font-size:12pt; color:#000000;">&lt;/p>&lt;/body>&lt;/html></Text>
    </TextCell>
    <InputCell style="Input" closed="true" >
     <Input>constant Real NV_MAGICCONST=4*exp(-0.5)/sqrt(2.0);</Input>
     <Output></Output>
     <Rule name="InitializationCell" >True</Rule>
    </InputCell>
    <TextCell style="Text" >
     <Text>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Times New Roman; font-size:12pt; color:#000000;">&lt;/p>&lt;/body>&lt;/html></Text>
    </TextCell>
    <InputCell style="Input" closed="true" >
     <Input>type Seed=Integer[3];</Input>
     <Output></Output>
     <Rule name="InitializationCell" >True</Rule>
    </InputCell>
    <TextCell style="Text" >
     <Text>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Times New Roman; font-size:12pt; color:#000000;">&lt;br />DymolaBUG: for some strange  reason Dymola crashes when the following statement is initialized&lt;br />type Seed=Integer[3](min=zeros(3),max=ones(3)*255);&lt;br />this will also cause MathModelica to loop forever in the evaluation of the model.&lt;br />The follwing statement should be used instead&lt;br />type Seed;&lt;br />&lt;/p>&lt;/body>&lt;/html></Text>
    </TextCell>
    <InputCell style="Input" closed="true" >
     <Input>function random "input random number generator with external storage of the seed"
  input Seed si "input random seed";
  output Real x "uniform random variate between 0 and 1";
  output Seed so "output random seed";
algorithm
  so[1] := rem((171 * si[1]),30269);
  so[2] := rem((172 * si[2]),30307);
  so[3] := rem((170 * si[3]),30323);
  // zero is a poor Seed, therfore substitute 1;
  if so[1] == 0 then
    so[1] := 1;
  end if;
  if so[2] == 0 then
    so[2] := 1;
  end if;
  if so[3] == 0 then
    so[3] := 1;
  end if;
  x := rem((so[1]/30269.0 +so[2]/30307.0 + so[3]/30323.0),1.0);
end random;</Input>
     <Output></Output>
     <Rule name="InitializationCell" >True</Rule>
    </InputCell>
    <TextCell style="Text" >
     <Text>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Times New Roman; font-size:12pt; color:#000000;">&lt;/p>&lt;/body>&lt;/html></Text>
    </TextCell>
    <InputCell style="Input" closed="true" >
     <Input>function normalvariate "normally distributed random variable"
  input Real mu "mean value";
  input Real sigma "standard deviation";
  input Seed si "input random seed";
  output Real x "gaussian random variate";
  output Seed so "output random seed";
protected
  Seed s1, s2;
  Real z, zz, u1, u2;
  Boolean break=false;
algorithm
  s1 := si;
  u2 := 1;
  while not break loop
    (u1,s2) := random(s1);
    (u2,s1) := random(s2);
    z := NV_MAGICCONST*(u1-0.5)/u2;
    zz := z*z/4.0;
    break := zz &lt;= (- Math.log(u2));
  end while;
  x := mu + z*sigma;
  so := s1; 
end normalvariate;
</Input>
     <Output></Output>
     <Rule name="InitializationCell" >True</Rule>
    </InputCell>
    <TextCell style="Text" >
     <Text>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Times New Roman; font-size:12pt; color:#000000;">&lt;/p>&lt;/body>&lt;/html></Text>
    </TextCell>
    <InputCell style="Input" closed="true" >
     <Input>connector discreteConnector
   discrete Boolean dcon;
end discreteConnector;</Input>
     <Output></Output>
     <Rule name="InitializationCell" >True</Rule>
    </InputCell>
    <TextCell style="Text" >
     <Text>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Times New Roman; font-size:12pt; color:#000000;">&lt;/p>&lt;/body>&lt;/html></Text>
    </TextCell>
    <InputCell style="Input" closed="true" >
     <Input>end Random;</Input>
     <Output></Output>
     <Rule name="InitializationCell" >True</Rule>
    </InputCell>
   </GroupCell>
   <GroupCell closed="false" >
    <TextCell style="Section" >
     <Text>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Times; font-size:18pt; font-weight:600; color:#000000;">SimpleDEVSServer&lt;/p>&lt;/body>&lt;/html></Text>
    </TextCell>
    <InputCell style="Input" closed="true" >
     <Input>connector EventPort
  Boolean signal;
end EventPort;</Input>
     <Output></Output>
    </InputCell>
    <TextCell style="Text" >
     <Text>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Times New Roman; font-size:12pt; color:#000000;">&lt;/p>&lt;/body>&lt;/html></Text>
    </TextCell>
    <InputCell style="Input" closed="true" >
     <Input>model SimpleDEVSServer
  import Modelica.Constants.inf; // ?? check if import specified constant
  extends BasicDEVSTwoPort;
  Boolean   internalEvent;
  Boolean   externalEvent;
  parameter Real  mean  = 2.0  "mean of job service time";
  parameter Real  stdev = 0.5;
  discrete  Real  servTime;  // time needed to service current job
 discrete  Random.Seed randomSeed(start={23,87,187});
 
equation
  internalEvent = pre(tNextEvent)&lt;=time;
  externalEvent = inp.signal;
  //outp.signal   = internalEvent; 
  when {externalEvent,internalEvent} then
    (servTime,randomSeed) = Random.normalvariate(mean,stdev, pre(randomSeed));
    if edge(externalEvent) and not pre(DEVSactive) then          
      DEVSactive = true;
      tNextEvent  = time + abs(servTime); 
    elseif edge(externalEvent) and pre(DEVSactive) then
      DEVSactive = true;
      tNextEvent  = pre(tNextEvent); 
    else
      DEVSactive = false;
      tNextEvent = pre(tNextEvent); 
    end if;
  end when;
  
  outp.signal = if pre(DEVSactive) and edge(internalEvent) then true else false;
end SimpleDEVSServer;</Input>
     <Output></Output>
    </InputCell>
    <TextCell style="Text" >
     <Text>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Times New Roman; font-size:12pt; color:#000000;">&lt;/p>&lt;/body>&lt;/html></Text>
    </TextCell>
    <InputCell style="Input" closed="true" >
     <Input>model SignalView  "Increase width of sample trigger signals" // ?? update
  EventPort    inp;
  EventPort    outp;
  parameter Real width=0.001;
  discrete  Real T0;
equation
  when inp.signal then
    T0=time;
  end when;
  outp.signal=(time>=T0) and (time&lt;T0+width);
end TriggerSignalView;</Input>
     <Output></Output>
    </InputCell>
    <TextCell style="Text" >
     <Text>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Times New Roman; font-size:12pt; color:#000000;">&lt;/p>&lt;/body>&lt;/html></Text>
    </TextCell>
    <InputCell style="Input" closed="true" >
     <Input>class Conn1
equation
  connect(simpleDEVSServer.outp, viewSignal2.inp);
end Conn1;</Input>
     <Output></Output>
    </InputCell>
    <TextCell style="Text" >
     <Text>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Times New Roman; font-size:12pt; color:#000000;">&lt;/p>&lt;/body>&lt;/html></Text>
    </TextCell>
    <InputCell style="Input" closed="true" >
     <Input>class Conn2
equation
  connect(generateJobEvents.outp, viewSignal1.inp);
end Conn2;</Input>
     <Output></Output>
    </InputCell>
    <TextCell style="Text" >
     <Text>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Times New Roman; font-size:12pt; color:#000000;">&lt;/p>&lt;/body>&lt;/html></Text>
    </TextCell>
   </GroupCell>
   <GroupCell closed="false" >
    <TextCell style="Section" >
     <Text>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Times; font-size:18pt; font-weight:600; color:#000000;">ThreeServerPipeline Model&lt;/p>&lt;/body>&lt;/html></Text>
    </TextCell>
    <TextCell style="Text" >
     <Text>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Times New Roman; font-size:12pt; color:#000000;">Several basic DEVS model components can be connected together to form a coupled model, which itself is a DEVS model. This is illustrated by the Modelica realization of a simple DEVS coupled model by placing three simple servers in series to form a three server pipeline, see Figure ?? In the further down the job generator has been attached to the three server pipeline.  The generator outputs events that are considered to be jobs that need some time to be processed by the server.Inside the basic server model only the time needed to complete a job is represented,not the detailed manner in which the processing is done.When a server receives a job it goes into busy mode (&lt;span style=" font-family:Courier New;">DEVSactive = true&lt;/span>). Since the server has no buffering capabilities,if it is already busy,it ignores incoming jobs.When a server has finished processing a job, a job completed event is emitted and the server returns to passive mode (&lt;span style=" font-family:Courier New;">DEVSactive = false&lt;/span>).&lt;/p>&lt;/body>&lt;/html></Text>
    </TextCell>
    <TextCell style="Text" >
     <Text>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Times New Roman; font-size:12pt; color:#000000;">&lt;img src="file:///C:/OpenModelica132/bin/OMNoteboook_tempfiles/8.png" width="440" height="137" />&lt;/p>&lt;/body>&lt;/html></Text>
     <Image name="file:///C:/OpenModelica132/bin/OMNoteboook_tempfiles/8.png" >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</Image>
    </TextCell>
    <TextCell style="Text" >
     <Text>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Times New Roman; font-size:12pt; color:#000000;">&lt;span style=" font-family:Courier New; font-weight:600;">Figure ??:&lt;/span>&lt;span style=" font-family:Courier New;"> Coupled model consisting of three servers S1, S2, and S3, connected in a pipeline.&lt;/span>&lt;/p>&lt;/body>&lt;/html></Text>
    </TextCell>
    <TextCell style="Text" >
     <Text>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Times New Roman; font-size:12pt; color:#000000;">The coupled pipelined DEVS model class represented in Modelica can be described as follows:&lt;/p>&lt;/body>&lt;/html></Text>
    </TextCell>
    <InputCell style="Input" closed="true" >
     <Input>model ThreeServerPipeline
  input  EventPort   extInSignal;
  output EventPort   outSignal;
  SimpleDEVSServer   S1(mean=2.0);
  SimpleDEVSServer   S2(mean=2.5);
  SimpleDEVSServer   S3(mean=1.5);
equation
   connect(extInSignal, S1.inp);
   connect(S1.outp, S2.inp);
   connect(S2.outp, S3.inp);
   connect(S3.outp, outSignal);
end ThreeServerPipeline;</Input>
     <Output></Output>
    </InputCell>
    <TextCell style="Text" >
     <Text>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Times New Roman; font-size:12pt; color:#000000;">&lt;/p>&lt;/body>&lt;/html></Text>
    </TextCell>
    <InputCell style="Input" closed="true" >
     <Input>model testPipeline
   ThreeServerPipeline  pipeLine;
   GenerateJobEvents    jobgenerator(period=4);
equation
  connect(jobgenerator.outp, pipeLine.extInput);
end testPipeline;</Input>
     <Output></Output>
    </InputCell>
    <GroupCell closed="false" >
     <TextCell style="Subsection" >
      <Text>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Times; font-size:14pt; font-weight:600; color:#000000;">Simuleras????????&lt;/p>&lt;/body>&lt;/html></Text>
     </TextCell>
     <TextCell style="Text" >
      <Text>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Times New Roman; font-size:12pt; color:#000000;">&lt;span style=" font-family:Courier New; font-weight:600;">Diagram ??:&lt;/span>&lt;span style=" font-family:Courier New;"> Signals for the testPipeline model including a ThreeServerPipeline containing the servers S1, S2, and S3.&lt;/span>&lt;/p>&lt;/body>&lt;/html></Text>
     </TextCell>
    </GroupCell>
   </GroupCell>
  </GroupCell>
 </GroupCell>
</Notebook>
