<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Petri Net Simulation as a Service</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Petr Polasek</string-name>
          <email>polasek@fit.vutbr.cz</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vladimir Janousek</string-name>
          <email>janousek@fit.vutbr.cz</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Milan Ceska</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Faculty of Information Technology, BUT, IT4Innovations Centre of Excellence</institution>
          ,
          <addr-line>Bozetechova 1/2, 612 66 Brno</addr-line>
          ,
          <country country="CZ">Czech Republic</country>
        </aff>
      </contrib-group>
      <fpage>353</fpage>
      <lpage>362</lpage>
      <abstract>
        <p>This paper presents an approach to integrating a Petri net simulator into a service-oriented simulation architecture in order to provide on demand simulation as a service. As a concrete example the simulation tool Renew is wrapped as a service and used to simulate a sample traffic control system represented as a Petri net model that is able to adjust its parameters via reflective simulation in a distributed simulation environment. The simulation architecture where modeling and simulation is treated as a service (MSaaS) is presented. The main components, their roles and attributes are briefly discussed.</p>
      </abstract>
      <kwd-group>
        <kwd>simulation as a service</kwd>
        <kwd>Petri nets</kwd>
        <kwd>integration of tools</kwd>
        <kwd>simulation architecture</kwd>
        <kwd>web services</kwd>
        <kwd>system design</kwd>
        <kwd>simulation model</kwd>
        <kwd>model specification</kwd>
        <kwd>reflective simulation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction, motivation and context</title>
      <p>Modeling and Simulation (M&amp;S) plays an unsubstitutable role in successful
design of systems. A need for timely, cost-effective and resource-effective
development requires to have a model of a system that can be analyzed, simulated,
verified and even validated. As one may expect, modeling and simulation of
complex and heterogeneous systems requires the application of more than one
approach. Although developers have dozens of tools available that support
various formalisms and allow them to use different M&amp;S practices and
methodologies, their integration into a simulation environment is rather a challenging task.
Proper interaction and communication is a non-trivial task. Enabling access to
functionality of an integrated application to a group of people is a challenge. The
requirement for scalability and on demand computational power in simulation
environment may represent another complication.</p>
      <p>As a small and motivated team with limited resources, we have relied on
properly chosen software for modeling and simulation tasks and inclined to
integrate existing software and used a set of tools as a whole to achieve our goals.
This was always rather a challenging task as the integration of different modeling
and simulation tools was impossible without additional work. Our efforts devoted
to standardize communication processes, simplifying the integration, deployment
and additional requirements like remote simulation and model manipulation lead
to the creation of a service oriented architecture where modeling and simulation
is treated as a service (MSaaS). The goal was to have extensible architecture that
allows integration of various modeling and simulation tools with different levels
of functionality that can be used as a multiparadigm platform for modeling and
simulation.</p>
      <p>
        In this paper, we present the architecture and show how the Petri net
simulation tool Renew [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] can be integrated as a modeling and simulation service
and used to simulate a sample traffic control system represented by a Petri net
model that is able to adjust its parameters via reflective simulation in a
distributed simulation environment.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Service Oriented Architecture for Modeling and</title>
    </sec>
    <sec id="sec-3">
      <title>Simulation</title>
      <p>
        Service Oriented Architecture (SOA) as a software architecture with loosely
coupled services is not tied to specific technology and independent services can
be accessed without knowledge of their underlying implementation. It can be
applied in many different scenarios including web-based services running on
different network nodes (servers) or in more challenging cloud environment. The
comparison with existing architectures is in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. We employ the service-oriented
approach mainly to:
1. Enable integration of existing software to supplement our tools that support
dynamic and interactive development of systems with unclear specification.
2. Allow reusability of existing tools/applications/services so that they can be
widely used.
3. Enable remote simulation and model management.
4. Simplify the installation, deployment and administration of services
5. Allow better scalability and on demand computing power in a distributed
simulation environment
2.1
      </p>
      <sec id="sec-3-1">
        <title>Architecture Details</title>
        <p>The simulation architecture is based on web services. Web services stand for
discrete web-based applications that provide a software function over a network.
Web service has an interface described in Web Service Description Language
(WSDL) and interacts with other systems in a manner prescribed by its
description using a Simple Object Access Protocol (SOAP) that defines a messaging
framework.</p>
        <p>The advantages of web services allowed us to create a simulation framework
with well-defined API that can be used by developers. On one side, there is a set
of possibly interconnected services and on the other side, there is a client using
this interface to perform various tasks, all depending on abilities of the service.</p>
        <p>The architecture is shown in Fig. 1 and its main components are: simulator
as a service (SaaS), service broker (SB), other services and client.</p>
        <p>Simulation service allows clients to deploy and simulate models and can be
used to inspect running simulations. Every service has a defined interface and
allows the client to perform a set of operations. A service doesn’t need to support
every possible operation and may publish just a few of them - in practice there
are a variety of services with different features and clients can choose the proper
one that fits their needs. Operation categories are shown in Table 1.</p>
        <p>Services are registered in and located by Service broker that acts as UDDI
registry (Universal Description, Discovery and Integration). It is designed to
be interrogated by SOAP messages and to provide access to WSDL documents
describing the protocol bindings and message formats required to interact with
services listed in its directory. Service broker is used by clients also for a service
recommendation and may have implemented a set of rules to decide what service
to retrieve. A simple recommendation mechanism may be based on model format
or preferred formalisms. Non-simulation services are also registered via Service
broker and a client may get its description documents and start using them.</p>
        <p>
          Client is a service consumer. It can use Service broker’s registry to locate
requested or recommended service and then it communicates directly with
simulation or other services. The communication between the client and a service is
done via SOAP and it may be a simple request to start a simulation of a specific
model: if the model is accepted and the simulation is started, the simulation
service responds with the simulation identifier for further reference. Additional
configuration parameters may be provided by the client in the request and the
model payload can be sent either directly in the XML document, via SOAP
attachments or using SOAP Message Transmission Optimization Mechanism
(MTOM) [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ].
        </p>
        <p>
          Other services provide non-simulation but not less important functions. One
of them is the log presentation service that can be used to convert raw outputs
from simulators to more comprehensive and human readable graphical reports.
Our implementation of a log presentation service exists in a Squeak environment
[
          <xref ref-type="bibr" rid="ref20">20</xref>
          ] empowered with the SoapOpera and was integrated into the simulation
environment as a web service. Model transformation service is another useful
service for developers that is designed to translate models between different
formalisms so that a developer can use one formalism for the design and another
for the simulation. We have experimented with simple Petri net models that
were translated to models in classic DEVS formalism (Discrete Event Systems
Formalism) [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] according to the approach presented in [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. Model library service
provides very basic functionality. It is a common place where models together
with other related documents can be stored as project resources and shared with
other clients. It may also offer more sophisticated access control.
To integrate and deploy existing applications or tools and to transform them
into simulation services, we use Apache Axis2 [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] as a core engine for web
services. It is a re-designed and re-written successor to the widely used Apache Axis
[
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] SOAP stack with implementations available in Java and C languages. Axis2
provides us with a capability to add a web service interface to the existing
application and can function as a standalone server where a service can be deployed
without restart. It supports WSDL 2.0 and SOAP 1.2 which allows us to easily
build stubs to access remote services.
Renew as a Service Petri net simulation tool Renew is a Java-based
multiformalism editor and simulator that provides a flexible modeling approach based
on reference nets [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. We have extended the Renew tool so that it can be
deployed in Axis2 server and may act as a service that clients can use for simulation
purposes - moreover, the client can be another Renew service and this will allow
us to execute nested simulations remotely in the case study below.
        </p>
        <p>To develop a web service, we use a bottom-up approach, where implementation
of a service has to be coded first. A service operation logic is in Java classes where
methods have simple contracts that allow a caller to start or stop simulations, to
configure the service, to get logs, etc. This implementation requires the Renew
application to be installed on a target system, where it is executed as an external
program. Service classes are used to create a deployable service artifact - it is a
single archive file and we deploy it in the Axis2 server where it is immediately
accessible without reload. We use scripts that automate the service deployment
and the installation of the Renew application. Java libraries that may be needed
for a model execution can be either pre-installed together with Renew or can be
provided by the service later as well.</p>
        <p>To be able to invoke service methods over a network, a client that understands
the service API has to be implemented. For this purpose, we can use a service
description file, i.e. a WSDL file that Axis2 server generates on demand for every
deployed service. Then Apache Axis2 tools can be used to create stub classes
that may be called from another Java program to invoke the remote Renew
service.</p>
        <p>Although Renew already supports remote simulation with RMI (Remote
Method Invocation), we use SOAP as a messaging framework for communication
between services. SOAP has significant advantages over RMI. It uses XML, it
is language independent and allows platform independent services whereas RMI
is Java-centric. SOAP as a more robust technology allows functionality to be
accessible to a variety of clients and it allows a loosely coupled architecture.
Although RMI has smaller latency, it is more suited to smaller applications where
objects must stay in sync in all applications.
2.3</p>
      </sec>
      <sec id="sec-3-2">
        <title>Simulation as a Service in Cloud Environment</title>
        <p>
          The deployment of simulation services in cloud environments boosts efficiency,
allows scalability, simplifies deployment and administration tasks and allows
better control over the simulation environment. Especially in cases when the tool
integration, installation and service configuration is rather a complicated task, it
is worth having a virtual machine with a service or a set of services preinstalled
and available in the cloud environment. By maintaining a preconfigured image
you can avoid complicated service setup. An easy deployment of virtual
machines from captured image with pre-configured services increases architecture
scalability for demanding scenarios in multi-simulation environments. We have
used Windows Azure [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] to successfully deploy and manage simulator services
in the cloud environment.
3
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Case study</title>
      <p>
        To demonstrate a Petri Net simulator as a service, we have created a sample
model of a traffic control system that controls lights on a simple crossroad. The
model is able to adjust its configuration via reflective simulation. Renew was
effectively used with all its advantages to design and build the model and when
the tool was deployed as a service, it could operate as a remote simulator and as
a client at the same time allowing nested simulations to be executed remotely.
The main concept of reflective simulation is depicted in Fig. 2 and Fig. 3. In Fig.
2 we can see a traffic model with its control system and the way they influence
each other. The control system reacts to changes in the traffic (e.g. increased
volume of vehicles) which may trigger a change of traffic control system settings
(e.g. signal timing plans) and this further influences the traffic (e.g. improves
throughput) which may again require a change to control system settings and so
on. In this scenario an undesired oscillation may happen - imagine a situation
when increasing the green interval in one direction may cause excessive queuing
of vehicles waiting in the other direction. In this case, it would be better if
the control system could anticipate the effect of the change, infer on its own
future behavior and adjust the signal timing appropriately. The control system
is able to trigger nested simulations, to simulate its own behavior and to perform
decisions based on collected results. We call this a reflective simulation. You can
compare it with the approach to nested simulations presented in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] or [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
The model comprises of three main components, each of them being a Petri net:
the traffic model, the traffic control system and the simulation control model. The
crossroad and its traffic control model were inspired by the example presented in
[
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] and further modified to our purpose. Other components - the odel of traffic
and the simulation control model (in Fig. 4) were created from scratch.
      </p>
      <p>Traffic Model The traffic flow at the crossroad is divided into three phases
with blocking and non-blocking directions. In the traffic model net, tokens
represent vehicles that travel through the intersection. Each lane and each direction
has assigned a time it takes every vehicle to travel through the crossroad. The
model contains a statistics part that is dedicated to gathering statistics about the
traffic. This comprises the number of vehicles waiting to cross the intersection
in each lane and the number of vehicles that successfully travelled through the
crossroad in each phase. A Synchronous channel concept (uplinks and downlinks)
is used to trigger statistics gathering and to deliver results to the simulation
control model. The traffic model net has a part that allows its initialization when
running in a nested simulation - e.g. it sets a number of waiting vehicles before
the simulation starts.</p>
      <p>
        Traffic Control System The Petri net representing the traffic control
system is presented in [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. It reflects three phases of a crossroad, each with
signal lights for pedestrians and vehicles. In every phase, only vehicles from the
corresponding phase in the traffic model net are allowed to move through the
intersection. The actual behavior of the traffic control system is determined by
its main parameters that contain time values for signal timing plans. In
comparison with [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] the control system net was enhanced to allow changes to its
configuration (signal timing plans) and to communicate the active phase to the
traffic model net.
      </p>
      <p>Simulation Control The Petri net in Fig. 4 controls the simulation and
acts as a controller as shown in Fig. 3. It configures the traffic control system
according to collected data from the traffic model and based on results from
nested simulations. More specifically, it:
1. Initializes traffic model and traffic control system nets
2. Starts the simulation
3. Gathers and analyzes data from the traffic model
4. Communicates with other simulation services
5. Triggers nested simulations of its own model with different configurations
6. Collects and interprets logs from nested simulations
7. Changes traffic control system settings according to results from nested
simulations</p>
      <p>As reference nets work seamlessly with Java programs, part of the model is
implemented in Java language and it is called via action inscriptions or method
invocations. This enables access to remote services directly from the Petri net
model. For this purpose two Java classes are imported in the bottom right corner
in Fig. 4. The Util class is used to analyze traffic data and to spawn nested
simulations. Under the hood, a small framework with a set of Java libraries is
used for communication with remote simulators. The Simcontrol is a stub class
that wraps the simulation control net. It forwards its method calls to synchronous
channels of the wrapped net instance and enables them to be used from Java.</p>
      <p>The simulation control net instantiates the traffic net and the traffic control
system net and keeps their references, named as traffic and control.</p>
      <p>After the initial configuration the system starts to control the traffic.
According to statistics gathered from the traffic model (traffic: gatherStatistics())
that are evaluated (modify=Util.evaluateStatistics()), the system may decide to
reconfigure signal timing plans in traffic control net to increase the
throughput. Then a set of configuration candidates is suggested and a nested
simulation is executed for each of them to see if it brings some improvement (action
Util.runSimulations()). The master simulation control model acts as a client.
Each simulation is controlled by a single Java thread that communicates with
either a local or a remote simulation service(s). Although we can configure the
level of nesting and a model in a nested simulation may further trigger other
nested simulations of itself, our tests show that there is no significant benefit,
especially when compared to increased demand for resources.</p>
      <p>After some time, remote simulations are stopped and logs are acquired and
interpreted. The simulation that improved the throughput more than others is
chosen as the best candidate and its configuration is applied to the traffic control
system when possible. A brute force computing is used to achieve continuous
improvement and more than one round of nested simulations may be executed.
However, the model quickly converge to the optimal configuration, especially
when changes in the traffic flow are less extreme.</p>
      <p>A model containing all three nets (simulation control net, traffic control
system net and traffic model net) is sent to the simulator service along with all
necessary libraries, configuration and startup parameters. As we use Renew’s
non-graphical simulator for nested simulations, the model must be sent as a
single merged file in shadow net format. As a result the transmitted model contains
only the semantic information and not the visual appearance and it can be used
only by a non-graphical simulator. To preserve the graphical information the
PNML (Petri Net Markup Language) may be used instead when transferring
the model.</p>
      <p>Acknowledgement. The work was supported by the EU/Czech IT4Innovations
Centre of Excellence project CZ.1.05/1.1.00/02.0070 as well as the internal BUT
projects FIT-S-12-1 and FIT-S-14-2486.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Zeigler</surname>
            ,
            <given-names>B.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kim</surname>
            ,
            <given-names>T.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Praehofer</surname>
          </string-name>
          , H.:
          <article-title>Theory of Modeling and Simulation, Second Edition</article-title>
          . Academic Press (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Renew - The Reference</surname>
          </string-name>
          Net Workshop, http://www.renew.de
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Kummer</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wienberg</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Duvigneau</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kohler</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moldt</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rolke</surname>
          </string-name>
          , H.:
          <article-title>Renew - the Reference Net Workshop</article-title>
          . In: Tool Demonstrations, pp.
          <fpage>99</fpage>
          -
          <lpage>102</lpage>
          .
          <source>24th International Conference on Application and Theory of Petri Nets</source>
          <year>2003</year>
          .
          <article-title>Department of Technology Management, Technische Universiteit Eindhoven, Beta Research School for Operations Management and Logistics (</article-title>
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Janousek</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polasek</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Modeling and Simulation Management in Distibuted Environment Using Web Services</article-title>
          ,
          <source>In: WOSC 2008 - 14TH International Congress of Cybernetics and Systems</source>
          . Wroclaw (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Johns</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Taylor</surname>
          </string-name>
          , T.:
          <article-title>Professional Microsoft Robotics Developer Studio</article-title>
          , Paperback, Wiley (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Coen-Porsini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gallo</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zanzi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Integration of web based simulators in the SINPL platform</article-title>
          .
          <source>In: Proceedings of ESM 2006</source>
          . Ghent, BE, pp.
          <fpage>259</fpage>
          -
          <lpage>263</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Dahmann</surname>
            ,
            <given-names>J.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fujimoto</surname>
            ,
            <given-names>R.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weatherly</surname>
            <given-names>R.M.:</given-names>
          </string-name>
          <article-title>The Department of Defense High Level Architecture</article-title>
          .
          <source>In: Proceedings of the 1997 Winter Simulation Konference</source>
          (
          <year>1997</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Multi-Simulation Interface (MSI) Brochure</surname>
          </string-name>
          , http://msi.sourceforge.net
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <fpage>W3C</fpage>
          - SOAP Message Transmission Optimization Mechanism http://www.w3.org/ TR/2005/REC-soap12
          <string-name>
            <surname>-</surname>
          </string-name>
          mtom-20050125
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>10. SmallDEVS, www.fit.vutbr.cz/~janousek/smalldevs</mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Jacques</surname>
            ,
            <given-names>C.J.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wainer</surname>
            ,
            <given-names>G.A.</given-names>
          </string-name>
          :
          <article-title>Using the CD++ DEVS Tookit to Develop Petri Nets</article-title>
          .
          <source>In: Proc. of the 2002 Summer Computer Simulation Conference</source>
          , San Diego, CA, USA (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Apache Axis2 - Apache</surname>
            <given-names>Axis2</given-names>
          </string-name>
          /Java - Next Generation Web Services http://axis. apache.org/axis2/java/core
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Web</surname>
          </string-name>
          Services - Axis http://axis.apache.org/axis
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>14. Windows Azure cloud platform http://www.windowsazure.com</mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Cabac</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Duvigneau</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moldt</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rölke</surname>
            <given-names>H.</given-names>
          </string-name>
          :
          <article-title>Modeling dynamic architectures using nets-within-nets</article-title>
          .
          <source>In: Proceedings</source>
          , volume
          <volume>3536</volume>
          of Lecture Notes in Computer Science, pp.
          <fpage>148</fpage>
          -
          <lpage>167</lpage>
          . 26th International Conference,
          <source>Applications and Theory of Petri Nets</source>
          <year>2005</year>
          , Miami, USA (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Turek</surname>
          </string-name>
          , R.:
          <article-title>Modelovani vybranych dopravnich problemu s vyuzitim Petriho siti (in Czech) [Modeling of Chosen Traffic Problems with Petri Nets]</article-title>
          . In: Posterus.sk,
          <article-title>Portal pre odborne publikovanie [Portal for Scientific Publications]</article-title>
          , vol.
          <volume>3</volume>
          , nr.
          <volume>12</volume>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Sklenar</surname>
          </string-name>
          , J. - Introduction to OOP in Simula (Nested Simulation) http://staff. um.edu.mt/jskl1/talk.html
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Kindler</surname>
          </string-name>
          , E. -
          <source>Reflective Simulation - Simulation of Systems That Simulate. In: Proc. of ESM - European Simulation and Modeling</source>
          , Porto, Portugal (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Chandrasekaran</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cardoso</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Silver</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Miller</surname>
            ,
            <given-names>A.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sheth</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          :
          <article-title>Web service technologies and their synergy with simulation</article-title>
          .
          <source>In: Proceedings of the 2002 Winter Simulation Conference</source>
          , pp.
          <fpage>606</fpage>
          -
          <lpage>615</lpage>
          . San Diego, California (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>20. Squeak http://www.squeak.org</mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>