Açıklama Yok

Simon Van Mierlo bde869774b updated readme 7 yıl önce
debugging_environment de372972dd added modified reflection extension 7 yıl önce
javascript_models e94b5905ef initial commit 8 yıl önce
javascript_runtime e94b5905ef initial commit 8 yıl önce
node_modules e94b5905ef initial commit 8 yıl önce
old_models e94b5905ef initial commit 8 yıl önce
python_runtime e94b5905ef initial commit 8 yıl önce
python_sccd_compiler e94b5905ef initial commit 8 yıl önce
tests e94b5905ef initial commit 8 yıl önce
.gitignore e94b5905ef initial commit 8 yıl önce
README.md bde869774b updated readme 7 yıl önce
bouncing.html e94b5905ef initial commit 8 yıl önce
bouncing_balls.js e94b5905ef initial commit 8 yıl önce
bouncing_balls.js.xml e94b5905ef initial commit 8 yıl önce
package.json e94b5905ef initial commit 8 yıl önce
particle_interaction.py e94b5905ef initial commit 8 yıl önce
particle_interaction_vis.py e94b5905ef initial commit 8 yıl önce
particle_interaction_vis.xml e94b5905ef initial commit 8 yıl önce
particle_interaction_vis_runner.py e94b5905ef initial commit 8 yıl önce
particle_interaction_vis_runner_sockets.py e94b5905ef initial commit 8 yıl önce
runner.bat e94b5905ef initial commit 8 yıl önce
tkinter_widget.py e94b5905ef initial commit 8 yıl önce
visualization_client.py e94b5905ef initial commit 8 yıl önce
visualization_server.html e94b5905ef initial commit 8 yıl önce
visualization_server.js e94b5905ef initial commit 8 yıl önce
visualization_server.py e94b5905ef initial commit 8 yıl önce

README.md

Usage

  • Installation (NetLogo):
    • install the custom NetLogo reflection extension found in debugging_environment/NetLogo/Reflection-Extension
  • Run Server:
    • inside debugging_environment: node debugging_server.js
  • Run Client:
    • (for DSDEVS debugger) inside debugging_environment: python simulation_client.py
    • (for NetLogo debugger) inside debugging_environment: python simulation_client_netlogo.py
  • Interface:
    • go to localhost:9595 for the debugging interface
      • Operations (Toolbar):
        • Simulate: simulates the model as-fast-as-possible.
        • Realtime Simulate: simulates the model in (scaled) real-time (change the scale by adjusting the parameter to the right of the button).
        • Pause
        • Big Step: perform one iteration of the simulation algorithm.
        • Small Step: perform one of the eight phases of one iteration of the simulation algorithm. Detail on each phase is listed below.
          • Imminent components are shown in blue.
          • Selected component is shown in blue.
          • Output generated is visualized under the output ports. Click on a message to show its contents in the console.
          • Output is routed along port connections (and potentially translated).
          • Components that will execute their external transition function are shown in red, those that will execute their internal transition function in blue.
          • The next state of each transitioning component is computed.
          • The next time at which an internal transition function is scheduled is computed and displayed.
          • Structural changes are displayed.
        • Reset the simulation to its initial state. Also resets the visualization.
        • Add a Breakpoint with four parameters:
          • The name of the breakpoint.
          • A function, returning True (simulation halts) or False (simulation does not halt). The parameter t is an array of two elements representing the current time and phase, m is the model being simulated, and tr is a set of models that just transitioned to a new state.
          • Enabled allows to specify whether the breakpoint is enabled or not.
          • Disable on Trigger allows to specify whether the breakpoint is to be disabled once it has been triggered.
      • Operations (Canvas Elements):
        • Instances:
          • Left-clicking an instance will log its current state in the console.
          • Right-clicking an instance allows to change one of its state variables with a god event.
          • Left-clicking an input port allows to inject a message on that port at a specified time.
        • Breakpoints:
          • Clicking the trash bin icon next to the breakpoint's name will delete it.
          • Clicking the breakpoint will enable or disable it.
          • Triggered breakpoints are highlighted in red.
      • Information:
        • Instances:
          • Names of coupled DEVS models are displayed in italics.
          • Input ports are green, output ports are purple.
          • The time at which the next internal transition function is scheduled is shown in the top right corner.
          • Hovering over an instance will display its current state.
          • Hovering over a port of an instance shows its name and connections.
        • The simulation time is displayed, as well as the phase (in case multiple transitions are executed on the same simulated time instance).
    • go to localhost:9696 for the (DSDEVS) visualization (for NetLogo, running the simulation client will start the NetLogo visualization)
      • Left-clicking a particle sends a realtime interrupt to the simulation (which selects that particle).
      • Pressing the delete button sends a realtime interrupt to the simulation (deleting all selected particles).
      • Right-clicking a particle will display the state of that particle in the debugging interface.

Models and Source Files

  • User Model:
    • particle_interaction.py (for DSDEVS)
    • debugging_environment/NetLogo/BouncingBalls.nlogo (for NetLOgo)
  • User Visualization:
    • Statechart model: javascript_models/particle_interaction_vis_js_instrumented.xml
    • Webpage: visualization_server.html
  • Simulator (DSDEVS):
    • Statechart model: debugging_environment/pypdevs/sccd.xml
    • Simulation client: debugging_environment/simulation_client.py
  • Simulator (NetLogo):
    • Statechart model: debugging_environment/NetLogo/simulator.xml
    • Simulation client: debugging_environment/simulation_client_netlogo.py
  • Communication Layer: debugging_server.js