spike reproducible simulation experiments with con fi
play

Spike reproducible simulation experiments with con fi guration fi - PowerPoint PPT Presentation

Spike reproducible simulation experiments with con fi guration fi le branching Jacek Chodak, Monika Heiner (supervisor) Brandenburg University of Technology Cottbus, Germany jacek.chodak@b-tu.de, monika.heiner@b-tu.de


  1. Spike – reproducible simulation experiments with con fi guration fi le branching Jacek Chodak, Monika Heiner (supervisor) Brandenburg University of Technology Cottbus, Germany jacek.chodak@b-tu.de, monika.heiner@b-tu.de http://www-dssz.informatik.tu-cottbus.de/DSSZ/Software/Spike 01 CSMB 2019 jacek.chodak@b-tu.de

  2. Agenda PetriNuts Framework Why Spike Functionality How branching works Architecture Future 02 works CSMB 2019 jacek.chodak@b-tu.de

  3. PetriNuts Framework Modelling CTL / CSL model checking: Web based Simulation - symbolically animation - simulative Animation SPIKE CHARLIE [1] SNOOPY MARCIE [2] PATTY [5] [3, 4] CTL model checking Structural Simulation analysis / reduction Reachability graph analysis 03 References: • [1] M Heiner, M Schwarick and J Wegener: PETRI NETS 2015 • [2] M Heiner, C Rohr and M Schwarick: PETRI NETS 2013 • [3] M Herajy, F Liu, C Rohr and M Heiner: BMC Systems Biology 2017 CSMB 2019 • [4] C Rohr, W Marvan, M Heiner: Bioinformatics 2010 • [5] K Schulz, BA thesis, BTU Cottbus, CS department 2008 jacek.chodak@b-tu.de

  4. Why Spike Speed-up simulation Models can contain dozens of thousands of nodes. T o speed up simulation, a model can be reduced or divided into modules (spatial decomposition, decomposition by node types) and simulated in a distributed way. Reproducibility There are many parameters: model parameters (e.g., initial marking, kinetic constants); simulations parameters (e.g., type of algorithm, length of trace, number of stochastic runs). Experiments with Spike are documented by con fi guration fi les. Simplifying work fl ow of simulation experiments CLI controlling multiple simulations without user intervention; typically for di ff erent model con fi gurations 04 and/or simulator con fi gurations. CSMB 2019 jacek.chodak@b-tu.de

  5. Functionality CPN time HPN SPN Clean ERODE siphons o d e M l time time Simulation Reduction SPN <=> CPN <=> > e d u c M o = e d d e R l < further general reduction Supported PN classes; HPN rules under consideration coloured and uncoloured Constant places Import Functionality ERODE CANDL ANDL SBML Reproducibility Conversion Export Model 05 Supported formats and simulation ANDL human readable formats for Petri nets and Coloured Petri nets, respectively, ANDL used internally by the PetriNuts framework con fi guration ERODE CANDL PNML /** */ * Example configuration for ANDL model (the Systems Biology Markup Language) - an XML-based representation // - line comment /* - block comment */ SBML // Import - exactly one model format designed to exchange computational models of biological processes import: { /* relative path to the place(current/working directory) * of spike execution */ from: "model/diffusion_2D4.andl"; CSMB 2019 } configuration: { simulation: { name: "exampleANDL"; // Name of a simulation type: stochastic; solver: direct: { // all threads: 1; runs: 100; } an XML-based interchange format for Petri nets (no time) PNML //range: 0:2:100;// start:step:end // or intervals /* * range.start = interval.start; * range.end = interval.end; * range.step = (interval.end - interval.start) / interval.splitting; */ interval: 0:50:100;// start:spliting:end export: { // Array of places to save (if empty export all) jacek.chodak@b-tu.de places: [];// all places //transitions: [];// all transitions csv: { sep: ";";// Separator a tool for the evaluation and reduction of chemical reaction networks file: name << "_" << type << "_" << solver << ".csv";// File name } ERODE } } }

  6. Con fi guration configuration: { model: { de fi nition of constants: { (named) constants ... } speci fi cation of places: { model parameters ... and simulator options } observers: { de fi nition of observers ... (auxiliary variables) } } simulation : { ... speci fi cation of export: { multiple exports of ... } simulation results } ... } 06 CSMB 2019 jacek.chodak@b-tu.de

  7. Con fi guration constants: { // name of a group all: { / ∗ if constant does not exist ∗ then it will be created and ∗ can be used in the configuration , ∗ for example in defining a place marking ∗ / M: ”D/2 + 1”; } kineticParam: { Threshold: 1200; } } de fi nition of (named) constants which can get a speci fi c value or a set of values, either speci fi ed by a list or an interval; supported data types: boolean, integer, real, string 07 CSMB 2019 jacek.chodak@b-tu.de

  8. Con fi guration places: { // example of use of the newly created constant M P: "1000`(M,M)"; P_2_2: 500; } speci fi cation of model parameters using either constants or (direct) values as arguments; values can be given as a single speci fi c value or a set of values, speci fi ed by a list or an interval 08 CSMB 2019 jacek.chodak@b-tu.de

  9. Con fi guration observers: { place: { OP01: { function: "P_1_1 + P_2_3"; } } } de fi nition of observers (auxiliary variables) allow for extra measures by de fi ning numerical functions; depending on the type of observer, it can involve, beside constants, places, transitions or simultaneously places and transitions 09 CSMB 2019 jacek.chodak@b-tu.de

  10. Con fi guration simulation: { name: "exampleDiffusion_2D4"; // Name of a simulation type: stochastic; // continuous, stochastic, hybrid solver: direct: { // if 0 try to use as many thread as CPU cores threads: 0; runs: 10; } // range: 0:2:100;// start:step:end // or intervals /* * range.start = interval.start; * range.end = interval.end; * range.step = (interval.end - interval.start) * / interval.splitting; */ varSplit: [10:5:20]; interval: 0:varSplit:100;// start:spliting:end ... } simulator options 10 using either constants or (direct) values as arguments; values can be given as a single speci fi c value or a set of values, speci fi ed by a list or an interval CSMB 2019 jacek.chodak@b-tu.de

  11. Con fi guration export: { /* * export places with given prefix P_1 * or which belong to the colour set Grid2D */ places: ["P_1.*", "Grid2D"]; transitions: c["t3"];// given coloured transitions transitions: u["t3_1_1_1_2"];// given uncoloured transitions observers: [];// export all observers csv: { sep: ";";// Separator file: import.name << "_places" << "_" << type << "_" << solver << "_" << solver.runs << "x" << interval.end << "x" << model.constants.all.D << ".csv";// File name } } export: { ... } speci fi cation of multiple exports of simulation results 11 by use of regular expressions over the nodes of which the simulation traces are to be recorded; it is possible to combine the results of places, transitions and observers, coloured and uncoloured, in one CSV fi le CSMB 2019 jacek.chodak@b-tu.de

  12. How branching works ... [10, 20] D: [10, 20]; ... varSplit: [10:5:20]; interval: 0:varSplit:100; ... ... ... D: 10; D: 20; ... ... [10:5:20] [10:5:20] varSplit: [10:5:20]; varSplit: [10:5:20]; interval: 0:varSplit:100; interval: 0:varSplit:100; ... ... ... ... ... D: 10; D: 20; D: 20; ... ... ... ... varSplit: 10; varSplit: 15; varSplit: 20; interval: 0:varSplit:100; interval: 0:varSplit:100; interval: 0:varSplit:100; ... ... ... 12 CSMB 2019 SIMULATION jacek.chodak@b-tu.de QUEUE

  13. How branching works SIMULATION QUEUE N 01 Simulation Simulation time ... time Simulation Results Results time Results 13 CSMB 2019 jacek.chodak@b-tu.de

  14. Architecture runs simulation executes con fi guration Simulation Con fi guration prune Future save Modules Converter eval works unfold load Command Main Line Interface runs commands queue initializes 14 CSMB 2019 jacek.chodak@b-tu.de

  15. Future works model decomposition m p o n e t s w i n t o n e h t C n i s n o t p e m r f o a C c e s e d u t m c e d b u M o o i d r d d t e e s e R l i l D distributed simulation sophisticated Future synchronization either for a set of simulations model reduction works or a decomposed model we are open for further suggestions 15 CSMB 2019 jacek.chodak@b-tu.de

  16. Thank you for attention 16 CSMB 2019 jacek.chodak@b-tu.de

  17. Supported Simulation simulation algorithms algorithms 1. Gillespie Stochastic 2. τ -leaping 3. δ -leaping time 4. FAU 1. BDF 2. Adams-Moulton 3. Rosenbrock Continuous 4. classic Runge-Kutta time 5. Euler 1. exact 6. two-steps Euler 2. accelerated exact Hybrid 3. HRSSA 4. accelerated HRSSA 17 5. dynamic partitioning time CSMB 2019 jacek.chodak@b-tu.de

Recommend


More recommend