Sophie

Sophie

distrib > Fedora > 18 > x86_64 > media > updates > by-pkgid > 45a94e45036b4f2592a7e2c3922f90c7 > files > 70

adevs-doc-2.6-4.fc18.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>adevs: adevs::ParSimulator Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">adevs
   
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><b>adevs</b>      </li>
      <li class="navelem"><a class="el" href="classadevs_1_1ParSimulator.html">ParSimulator</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">adevs::ParSimulator Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="adevs::ParSimulator" --><!-- doxytag: inherits="AbstractSimulator&lt; X, T &gt;" -->
<p><code>#include &lt;<a class="el" href="adevs__par__simulator_8h_source.html">adevs_par_simulator.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for adevs::ParSimulator:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classadevs_1_1ParSimulator.png" usemap="#adevs::ParSimulator_map" alt=""/>
  <map id="adevs::ParSimulator_map" name="adevs::ParSimulator_map">
<area href="classadevs_1_1AbstractSimulator.html" alt="adevs::AbstractSimulator&lt; X, T &gt;" shape="rect" coords="0,0,200,24"/>
</map>
 </div></div>

<p><a href="classadevs_1_1ParSimulator-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classadevs_1_1ParSimulator.html#a822680d8072514ca06924c12900fa280">ParSimulator</a> (<a class="el" href="classadevs_1_1Devs.html">Devs</a>&lt; X, T &gt; *model, <a class="el" href="classadevs_1_1MessageManager.html">MessageManager</a>&lt; X &gt; *msg_manager=NULL)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classadevs_1_1ParSimulator.html#a14abbf7bdc209e333106bb173fd36b7a">ParSimulator</a> (<a class="el" href="classadevs_1_1Devs.html">Devs</a>&lt; X, T &gt; *model, <a class="el" href="classadevs_1_1LpGraph.html">LpGraph</a> &amp;g, <a class="el" href="classadevs_1_1MessageManager.html">MessageManager</a>&lt; X &gt; *msg_manager=NULL)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa616baf5f9ca3e3d92cf37cefc026e3e"></a><!-- doxytag: member="adevs::ParSimulator::nextEventTime" ref="aa616baf5f9ca3e3d92cf37cefc026e3e" args="()" -->
T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classadevs_1_1ParSimulator.html#aa616baf5f9ca3e3d92cf37cefc026e3e">nextEventTime</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the model's next event time. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classadevs_1_1ParSimulator.html#ae120194193004ec58d0de29262e3306a">execUntil</a> (T stop_time)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classadevs_1_1ParSimulator.html#a56056c16ed7c812b6b05a315067c0f69">~ParSimulator</a> ()</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>This is the conservative simulator described in "Building Software for Simulation". Models, network and atomic, can be assigned to specific threads (processors) by calling the setProc() method. The components of a network will inherit its thread assignment. Model's with an explicit assignment must have a positive lookahead. <a class="el" href="classadevs_1_1Atomic.html">Atomic</a> models that are unassigned, by inheritance or otherwise, must have a positive lookahead and will be assigned randomly to a thread. Note that this simulator does not support dynamic structure models. </p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a822680d8072514ca06924c12900fa280"></a><!-- doxytag: member="adevs::ParSimulator::ParSimulator" ref="a822680d8072514ca06924c12900fa280" args="(Devs&lt; X, T &gt; *model, MessageManager&lt; X &gt; *msg_manager=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">adevs::ParSimulator::ParSimulator </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classadevs_1_1Devs.html">Devs</a>&lt; X, T &gt; *&#160;</td>
          <td class="paramname"><em>model</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classadevs_1_1MessageManager.html">MessageManager</a>&lt; X &gt; *&#160;</td>
          <td class="paramname"><em>msg_manager</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Create a simulator for the provided model. The <a class="el" href="classadevs_1_1Atomic.html">Atomic</a> components will be assigned to the preferred processors, or assigned randomly if no preference is given or the preference can not be satisfied. The message manager is used to handle inter-thread events. If msg_manager is NULL, the assignment and copy constructors of output objects are used and their is no explicit cleanup (see the <a class="el" href="classadevs_1_1MessageManager.html">MessageManager</a> documentation). This constructor assumes all to all connection of the processors. </p>

<p>References <a class="el" href="classadevs_1_1LpGraph.html#ae74e4618db37c766244dfe9d2ce9ee42">adevs::LpGraph::addEdge()</a>.</p>

</div>
</div>
<a class="anchor" id="a14abbf7bdc209e333106bb173fd36b7a"></a><!-- doxytag: member="adevs::ParSimulator::ParSimulator" ref="a14abbf7bdc209e333106bb173fd36b7a" args="(Devs&lt; X, T &gt; *model, LpGraph &amp;g, MessageManager&lt; X &gt; *msg_manager=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">adevs::ParSimulator::ParSimulator </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classadevs_1_1Devs.html">Devs</a>&lt; X, T &gt; *&#160;</td>
          <td class="paramname"><em>model</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classadevs_1_1LpGraph.html">LpGraph</a> &amp;&#160;</td>
          <td class="paramname"><em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classadevs_1_1MessageManager.html">MessageManager</a>&lt; X &gt; *&#160;</td>
          <td class="paramname"><em>msg_manager</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This constructor accepts a directed graph whose edges tell the simulator which processes feed input to which other processes. For example, a simulator with processors 1, 2, and 3 where 1 -&gt; 2 and 2 -&gt; 3 would have two edges: 1-&gt;2 and 2-&gt;3. </p>

</div>
</div>
<a class="anchor" id="a56056c16ed7c812b6b05a315067c0f69"></a><!-- doxytag: member="adevs::ParSimulator::~ParSimulator" ref="a56056c16ed7c812b6b05a315067c0f69" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">adevs::ParSimulator::~ParSimulator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Deletes the simulator, but leaves the model intact. The model must exist when the simulator is deleted, so delete the model only after the simulator is deleted. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ae120194193004ec58d0de29262e3306a"></a><!-- doxytag: member="adevs::ParSimulator::execUntil" ref="ae120194193004ec58d0de29262e3306a" args="(T stop_time)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void adevs::ParSimulator::execUntil </td>
          <td>(</td>
          <td class="paramtype">T&#160;</td>
          <td class="paramname"><em>stop_time</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Execute the simulator until the next event time is greater than the specified value. There is no global clock, so this must be the actual time that you want to stop. </p>

<p>Implements <a class="el" href="classadevs_1_1AbstractSimulator.html#ac0d6feb60b3bc286cfb3262118536848">adevs::AbstractSimulator&lt; X, T &gt;</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>/home/rotten/adevs-2.6/include/<a class="el" href="adevs__par__simulator_8h_source.html">adevs_par_simulator.h</a></li>
</ul>
</div>


<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 10 2012 18:42:49 for adevs by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5
</small></address>

</body>
</html>