| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331 |
- <!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="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>pypdevsbbl.generic.transformers module — Python(P)DEVS-BBL documentation</title>
- <link rel="stylesheet" href="_static/nature.css" type="text/css" />
- <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
- <link rel="stylesheet" type="text/css" href="_static/custom.css" />
- <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
- <script type="text/javascript" src="_static/jquery.js"></script>
- <script type="text/javascript" src="_static/underscore.js"></script>
- <script type="text/javascript" src="_static/doctools.js"></script>
- <script type="text/javascript" src="_static/language_data.js"></script>
- <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
- <link rel="index" title="Index" href="genindex.html" />
- <link rel="search" title="Search" href="search.html" />
- <link rel="next" title="pypdevsbbl.tracers package" href="pypdevsbbl.tracers.html" />
- <link rel="prev" title="pypdevsbbl.generic.routing module" href="pypdevsbbl.generic.routing.html" />
- </head><body>
- <div class="related" role="navigation" aria-label="related navigation">
- <h3>Navigation</h3>
- <ul>
- <li class="right" style="margin-right: 10px">
- <a href="genindex.html" title="General Index"
- accesskey="I">index</a></li>
- <li class="right" >
- <a href="py-modindex.html" title="Python Module Index"
- >modules</a> |</li>
- <li class="right" >
- <a href="pypdevsbbl.tracers.html" title="pypdevsbbl.tracers package"
- accesskey="N">next</a> |</li>
- <li class="right" >
- <a href="pypdevsbbl.generic.routing.html" title="pypdevsbbl.generic.routing module"
- accesskey="P">previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">Python(P)DEVS-BBL documentation</a> »</li>
- <li class="nav-item nav-item-1"><a href="pypdevsbbl.html" >pypdevsbbl package</a> »</li>
- <li class="nav-item nav-item-2"><a href="pypdevsbbl.generic.html" accesskey="U">pypdevsbbl.generic package</a> »</li>
- </ul>
- </div>
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <div class="section" id="module-pypdevsbbl.generic.transformers">
- <span id="pypdevsbbl-generic-transformers-module"></span><h1>pypdevsbbl.generic.transformers module<a class="headerlink" href="#module-pypdevsbbl.generic.transformers" title="Permalink to this headline">¶</a></h1>
- <p>Set of PythonPDEVS building blocks for transforming data.</p>
- <p>The classes in this file concern themselves with message
- transformations throughout a system and can come in useful in
- numerous situations.</p>
- <dl class="class">
- <dt id="pypdevsbbl.generic.transformers.Transformer">
- <em class="property">class </em><code class="descclassname">pypdevsbbl.generic.transformers.</code><code class="descname">Transformer</code><span class="sig-paren">(</span><em>name: str</em>, <em>T=<function Transformer.<lambda>></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/transformers.html#Transformer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.transformers.Transformer" title="Permalink to this definition">¶</a></dt>
- <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">pypdevs.DEVS.AtomicDEVS</span></code></p>
- <p>Transforms data w.r.t. a function.</p>
- <div class="admonition note">
- <p class="first admonition-title">Note</p>
- <p class="last">The transformation itself happens upon arrival of a
- new item. The more expensive the transformation function, the
- more expensive the usage of this block. Keep this in mind when
- modeling for real-time simulations.</p>
- </div>
- <div align="center" class="align-center"><img alt="../paper/images/blocks/transform/transformer.svg" src="../paper/images/blocks/transform/transformer.svg" /></div>
- <table class="docutils field-list" frame="void" rules="none">
- <col class="field-name" />
- <col class="field-body" />
- <tbody valign="top">
- <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
- <li><strong>name</strong> (<em>str</em>) – The name of the block.</li>
- <li><strong>T</strong> (<em>def</em>) – Function that defines the transformation.
- It takes 3 arguments: <cite>i</cite> (the item), <cite>e</cite>
- (the elapsed time) and <cite>t</cite> (the total time).
- And it will return the transformed item.
- Defaults to the item itself.</li>
- </ul>
- </td>
- </tr>
- <tr class="field-even field"><th class="field-name">State:</th><td class="field-body"><ul class="first simple">
- <li><strong>time</strong> (<em>numeric</em>) – The total elapsed time.</li>
- <li><strong>transformed</strong> (<em>any</em>) – The transformed item.</li>
- <li><strong>original</strong> (<em>any</em>) – The original item (before transformation).</li>
- </ul>
- </td>
- </tr>
- <tr class="field-odd field"><th class="field-name">Input Ports:</th><td class="field-body"><p class="first"><strong>input</strong> (<em>any</em>) – The item to transform.</p>
- </td>
- </tr>
- <tr class="field-even field"><th class="field-name">Output Ports:</th><td class="field-body"><ul class="first last simple">
- <li><strong>transformed</strong> (<em>any</em>) – The transformed item.</li>
- <li><strong>original</strong> (<em>any</em>) – The original item (before transformation).</li>
- </ul>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="method">
- <dt id="pypdevsbbl.generic.transformers.Transformer.extTransition">
- <code class="descname">extTransition</code><span class="sig-paren">(</span><em>inputs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/transformers.html#Transformer.extTransition"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.transformers.Transformer.extTransition" title="Permalink to this definition">¶</a></dt>
- <dd></dd></dl>
- <dl class="method">
- <dt id="pypdevsbbl.generic.transformers.Transformer.intTransition">
- <code class="descname">intTransition</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/transformers.html#Transformer.intTransition"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.transformers.Transformer.intTransition" title="Permalink to this definition">¶</a></dt>
- <dd></dd></dl>
- <dl class="method">
- <dt id="pypdevsbbl.generic.transformers.Transformer.timeAdvance">
- <code class="descname">timeAdvance</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/transformers.html#Transformer.timeAdvance"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.transformers.Transformer.timeAdvance" title="Permalink to this definition">¶</a></dt>
- <dd></dd></dl>
- <dl class="method">
- <dt id="pypdevsbbl.generic.transformers.Transformer.outputFnc">
- <code class="descname">outputFnc</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/transformers.html#Transformer.outputFnc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.transformers.Transformer.outputFnc" title="Permalink to this definition">¶</a></dt>
- <dd></dd></dl>
- </dd></dl>
- <dl class="class">
- <dt id="pypdevsbbl.generic.transformers.LookupTable">
- <em class="property">class </em><code class="descclassname">pypdevsbbl.generic.transformers.</code><code class="descname">LookupTable</code><span class="sig-paren">(</span><em>name: str</em>, <em>table: dict</em>, <em>default=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/transformers.html#LookupTable"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.transformers.LookupTable" title="Permalink to this definition">¶</a></dt>
- <dd><p>Bases: <a class="reference internal" href="#pypdevsbbl.generic.transformers.Transformer" title="pypdevsbbl.generic.transformers.Transformer"><code class="xref py py-class docutils literal notranslate"><span class="pre">pypdevsbbl.generic.transformers.Transformer</span></code></a></p>
- <p>Finds the value in a lookup table.</p>
- <div align="center" class="align-center"><img alt="../paper/images/blocks/transform/lookup-table.svg" src="../paper/images/blocks/transform/lookup-table.svg" /></div>
- <table class="docutils field-list" frame="void" rules="none">
- <col class="field-name" />
- <col class="field-body" />
- <tbody valign="top">
- <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
- <li><strong>name</strong> (<em>str</em>) – The name of the block.</li>
- <li><strong>table</strong> (<em>dict</em>) – The lookup table. Each input is mapped on a
- key in this table, which is outputted.</li>
- <li><strong>default</strong> (<em>any</em>) – The default value if no mapping exists.
- Defaults to <code class="docutils literal notranslate"><span class="pre">None</span></code>.</li>
- </ul>
- </td>
- </tr>
- <tr class="field-even field"><th class="field-name">State:</th><td class="field-body"><ul class="first simple">
- <li><strong>time</strong> (<em>numeric</em>) – The total elapsed time.</li>
- <li><strong>transformed</strong> (<em>any</em>) – The transformed item.</li>
- <li><strong>original</strong> (<em>any</em>) – The original item (before transformation).</li>
- </ul>
- </td>
- </tr>
- <tr class="field-odd field"><th class="field-name">Input Ports:</th><td class="field-body"><p class="first"><strong>input</strong> (<em>any</em>) – The item to look up.</p>
- </td>
- </tr>
- <tr class="field-even field"><th class="field-name">Output Ports:</th><td class="field-body"><ul class="first last simple">
- <li><strong>transformed</strong> (<em>any</em>) – The looked up item.</li>
- <li><strong>original</strong> (<em>any</em>) – The original item (before lookup).</li>
- </ul>
- </td>
- </tr>
- </tbody>
- </table>
- </dd></dl>
- <dl class="class">
- <dt id="pypdevsbbl.generic.transformers.Pack">
- <em class="property">class </em><code class="descclassname">pypdevsbbl.generic.transformers.</code><code class="descname">Pack</code><span class="sig-paren">(</span><em>name: str</em>, <em>package=<class 'pypdevsbbl.extra.packaging.Package'></em>, <em>*args</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/transformers.html#Pack"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.transformers.Pack" title="Permalink to this definition">¶</a></dt>
- <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">pypdevs.DEVS.AtomicDEVS</span></code></p>
- <p>Collects all input in a generic package.</p>
- <p>A group of items is captured on this block’s input. Based on a
- predefined package (see <a class="reference internal" href="pypdevsbbl.extra.packaging.html#module-pypdevsbbl.extra.packaging" title="pypdevsbbl.extra.packaging"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pypdevsbbl.extra.packaging</span></code></a> submodule),
- the elapsed time and the simulation time, there can be deduced
- how the items can be combined.</p>
- <p>As soon as a message arrives on the <cite>release</cite> input, the package
- is released on the <cite>out</cite> port and the state is reset. Additionally,
- if the <a class="reference internal" href="pypdevsbbl.extra.packaging.html#pypdevsbbl.extra.packaging.Package.finished" title="pypdevsbbl.extra.packaging.Package.finished"><code class="xref py py-meth docutils literal notranslate"><span class="pre">pypdevsbbl.extra.packaging.Package.finished()</span></code></a> function of
- evaluates <code class="docutils literal notranslate"><span class="pre">True</span></code> after packing, the package will be released
- automatically.</p>
- <div align="center" class="align-center"><img alt="../paper/images/blocks/transform/pack.svg" src="../paper/images/blocks/transform/pack.svg" /></div>
- <table class="docutils field-list" frame="void" rules="none">
- <col class="field-name" />
- <col class="field-body" />
- <tbody valign="top">
- <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
- <li><strong>name</strong> (<em>str</em>) – The name of the block.</li>
- <li><strong>package</strong> – The package class in which to combine all input.
- Defaults to a generic <a class="reference internal" href="pypdevsbbl.extra.packaging.html#pypdevsbbl.extra.packaging.Package" title="pypdevsbbl.extra.packaging.Package"><code class="xref py py-class docutils literal notranslate"><span class="pre">pypdevsbbl.extra.packaging.Package</span></code></a>.</li>
- <li><strong>*args</strong> – Additional list of arguments to be passed to the
- Package class upon construction. This is empty
- by default.</li>
- </ul>
- </td>
- </tr>
- <tr class="field-even field"><th class="field-name">State:</th><td class="field-body"><ul class="first simple">
- <li><strong>package</strong> (<em>Package</em>) – See <a class="reference internal" href="pypdevsbbl.extra.packaging.html#pypdevsbbl.extra.packaging.Package" title="pypdevsbbl.extra.packaging.Package"><code class="xref py py-class docutils literal notranslate"><span class="pre">pypdevsbbl.extra.packaging.Package</span></code></a>.</li>
- <li><strong>release</strong> (<em>bool</em>) – Whether or not a release was requested.</li>
- <li><strong>time</strong> (<em>numeric</em>) – The total simulation time.</li>
- </ul>
- </td>
- </tr>
- <tr class="field-odd field"><th class="field-name">Input Ports:</th><td class="field-body"><ul class="first simple">
- <li><strong>input</strong> (<em>any</em>) – The object to add to the package.</li>
- <li><strong>release</strong> (<em>any</em>) – When the package needs to be released.</li>
- </ul>
- </td>
- </tr>
- <tr class="field-even field"><th class="field-name">Output Ports:</th><td class="field-body"><p class="first last"><strong>output</strong> (<em>Package</em>) – A package.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="method">
- <dt id="pypdevsbbl.generic.transformers.Pack.timeAdvance">
- <code class="descname">timeAdvance</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/transformers.html#Pack.timeAdvance"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.transformers.Pack.timeAdvance" title="Permalink to this definition">¶</a></dt>
- <dd></dd></dl>
- <dl class="method">
- <dt id="pypdevsbbl.generic.transformers.Pack.intTransition">
- <code class="descname">intTransition</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/transformers.html#Pack.intTransition"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.transformers.Pack.intTransition" title="Permalink to this definition">¶</a></dt>
- <dd></dd></dl>
- <dl class="method">
- <dt id="pypdevsbbl.generic.transformers.Pack.outputFnc">
- <code class="descname">outputFnc</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/transformers.html#Pack.outputFnc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.transformers.Pack.outputFnc" title="Permalink to this definition">¶</a></dt>
- <dd></dd></dl>
- <dl class="method">
- <dt id="pypdevsbbl.generic.transformers.Pack.extTransition">
- <code class="descname">extTransition</code><span class="sig-paren">(</span><em>inputs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/transformers.html#Pack.extTransition"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.transformers.Pack.extTransition" title="Permalink to this definition">¶</a></dt>
- <dd></dd></dl>
- </dd></dl>
- <dl class="class">
- <dt id="pypdevsbbl.generic.transformers.Unpack">
- <em class="property">class </em><code class="descclassname">pypdevsbbl.generic.transformers.</code><code class="descname">Unpack</code><span class="sig-paren">(</span><em>name: str</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/transformers.html#Unpack"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.transformers.Unpack" title="Permalink to this definition">¶</a></dt>
- <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">pypdevs.DEVS.AtomicDEVS</span></code></p>
- <p>Releases the contents of a package.</p>
- <p>When a <a class="reference internal" href="pypdevsbbl.extra.packaging.html#pypdevsbbl.extra.packaging.Package" title="pypdevsbbl.extra.packaging.Package"><code class="xref py py-class docutils literal notranslate"><span class="pre">pypdevsbbl.extra.packaging.Package</span></code></a> arrives on the
- <cite>input</cite>, it is unpacked and the list of contents is afterwards
- outputted on the <cite>out</cite> port.</p>
- <div align="center" class="align-center"><img alt="../paper/images/blocks/transform/unpack.svg" src="../paper/images/blocks/transform/unpack.svg" /></div>
- <table class="docutils field-list" frame="void" rules="none">
- <col class="field-name" />
- <col class="field-body" />
- <tbody valign="top">
- <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>name</strong> (<em>str</em>) – The name of the block.</td>
- </tr>
- <tr class="field-even field"><th class="field-name">State:</th><td class="field-body"><strong>contents</strong> (<em>list</em>) – The list of contents of the package.</td>
- </tr>
- <tr class="field-odd field"><th class="field-name">Input Ports:</th><td class="field-body"><strong>input</strong> (<em>Package</em>) – The package to unpack.</td>
- </tr>
- <tr class="field-even field"><th class="field-name">Output Ports:</th><td class="field-body"><strong>output</strong> (<em>list</em>) – All contents of the package.</td>
- </tr>
- </tbody>
- </table>
- <dl class="method">
- <dt id="pypdevsbbl.generic.transformers.Unpack.timeAdvance">
- <code class="descname">timeAdvance</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/transformers.html#Unpack.timeAdvance"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.transformers.Unpack.timeAdvance" title="Permalink to this definition">¶</a></dt>
- <dd></dd></dl>
- <dl class="method">
- <dt id="pypdevsbbl.generic.transformers.Unpack.intTransition">
- <code class="descname">intTransition</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/transformers.html#Unpack.intTransition"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.transformers.Unpack.intTransition" title="Permalink to this definition">¶</a></dt>
- <dd></dd></dl>
- <dl class="method">
- <dt id="pypdevsbbl.generic.transformers.Unpack.outputFnc">
- <code class="descname">outputFnc</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/transformers.html#Unpack.outputFnc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.transformers.Unpack.outputFnc" title="Permalink to this definition">¶</a></dt>
- <dd></dd></dl>
- <dl class="method">
- <dt id="pypdevsbbl.generic.transformers.Unpack.extTransition">
- <code class="descname">extTransition</code><span class="sig-paren">(</span><em>inputs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/transformers.html#Unpack.extTransition"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.transformers.Unpack.extTransition" title="Permalink to this definition">¶</a></dt>
- <dd></dd></dl>
- </dd></dl>
- </div>
- </div>
- </div>
- </div>
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
- <h4>Previous topic</h4>
- <p class="topless"><a href="pypdevsbbl.generic.routing.html"
- title="previous chapter">pypdevsbbl.generic.routing module</a></p>
- <h4>Next topic</h4>
- <p class="topless"><a href="pypdevsbbl.tracers.html"
- title="next chapter">pypdevsbbl.tracers package</a></p>
- <div id="searchbox" style="display: none" role="search">
- <h3>Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="search.html" method="get">
- <input type="text" name="q" />
- <input type="submit" value="Go" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
- </form>
- </div>
- </div>
- <script type="text/javascript">$('#searchbox').show(0);</script>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="related" role="navigation" aria-label="related navigation">
- <h3>Navigation</h3>
- <ul>
- <li class="right" style="margin-right: 10px">
- <a href="genindex.html" title="General Index"
- >index</a></li>
- <li class="right" >
- <a href="py-modindex.html" title="Python Module Index"
- >modules</a> |</li>
- <li class="right" >
- <a href="pypdevsbbl.tracers.html" title="pypdevsbbl.tracers package"
- >next</a> |</li>
- <li class="right" >
- <a href="pypdevsbbl.generic.routing.html" title="pypdevsbbl.generic.routing module"
- >previous</a> |</li>
- <li class="nav-item nav-item-0"><a href="index.html">Python(P)DEVS-BBL documentation</a> »</li>
- <li class="nav-item nav-item-1"><a href="pypdevsbbl.html" >pypdevsbbl package</a> »</li>
- <li class="nav-item nav-item-2"><a href="pypdevsbbl.generic.html" >pypdevsbbl.generic package</a> »</li>
- </ul>
- </div>
- <div class="footer" role="contentinfo">
- © Copyright 2020, Randy Paredis.
- Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
- </div>
- </body>
- </html>
|