Translating Stochastic CLS into Maude

Similar documents
How To Understand How Gene Expression Is Regulated

Lecture 1 MODULE 3 GENE EXPRESSION AND REGULATION OF GENE EXPRESSION. Professor Bharat Patel Office: Science 2, b.patel@griffith.edu.

Gene Transcription in Prokaryotes

Qualitative Simulation and Model Checking in Genetic Regulatory Networks

Gene Switches Teacher Information

Name Class Date. Figure Which nucleotide in Figure 13 1 indicates the nucleic acid above is RNA? a. uracil c. cytosine b. guanine d.

Language-oriented Software Development and Rewriting Logic

The Leader Election Protocol of IEEE 1394 in Maude

CellLine, a stochastic cell lineage simulator: Manual

13.4 Gene Regulation and Expression

GENE REGULATION. Teacher Packet

Software Modeling and Verification

Analysis of Algorithms I: Optimal Binary Search Trees

Genetic information (DNA) determines structure of proteins DNA RNA proteins cell structure enzymes control cell chemistry ( metabolism )

Module 3 Questions. 7. Chemotaxis is an example of signal transduction. Explain, with the use of diagrams.

Chapter 6: Biological Networks

Testing LTL Formula Translation into Büchi Automata

Translation Study Guide

Chemical reactions allow living things to grow, develop, reproduce, and adapt.

Replication Study Guide

INF5140: Specification and Verification of Parallel Systems

Dynamic Process/Service Composition/Combination

1 Mutation and Genetic Change

Feed Forward Loops in Biological Systems

[Refer Slide Time: 05:10]

Control of Gene Expression

A Propositional Dynamic Logic for CCS Programs

Verifying Specifications with Proof Scores in CafeOBJ

Molecular Genetics. RNA, Transcription, & Protein Synthesis

What happens to the food we eat? It gets broken down!

The Mole Concept. The Mole. Masses of molecules

CCR Biology - Chapter 8 Practice Test - Summer 2012

Gene Regulation -- The Lac Operon

STATUS REPORT ON MAUDE-NPA TOOL

Chapter 18 Regulation of Gene Expression

Activity 7.21 Transcription factors

Counterexample-guided Design of Property-based Dynamic Software Updates

Software Engineering

Enzymes and Metabolism

Static Program Transformations for Efficient Software Model Checking

GenBank, Entrez, & FASTA

NO CALCULATORS OR CELL PHONES ALLOWED

Automata Theory. Şubat 2006 Tuğrul Yılmaz Ankara Üniversitesi

AP BIOLOGY 2009 SCORING GUIDELINES

Translate chemical symbols and the chemical formulas of common substances to show the component parts of the substances including:

RNA Structure and folding

Journal of Mathematics Volume 1, Number 1, Summer 2006 pp

Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification

A Mathematical Model of a Synthetically Constructed Genetic Toggle Switch

MICROBIAL GENETICS. Gene Regulation: The Operons

Assignment 2: Option Pricing and the Black-Scholes formula The University of British Columbia Science One CS Instructor: Michael Gelbart

Formal Verification of Software

Complex multicellular organisms are produced by cells that switch genes on and off during development.

How To Understand Enzyme Kinetics

A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems

Simulation-Based Security with Inexhaustible Interactive Turing Machines

Today s Agenda. Automata and Logic. Quiz 4 Temporal Logic. Introduction Buchi Automata Linear Time Logic Summary

CGT 581 G Procedural Methods L systems

Name: Date: Period: DNA Unit: DNA Webquest

Induction of Enzyme Activity in Bacteria:The Lac Operon. Preparation for Laboratory: Web Tutorial - Lac Operon - submit questions

Scottish Qualifications Authority

Protein Protein Interaction Networks

Biotechnology and Recombinant DNA (Chapter 9) Lecture Materials for Amy Warenda Czura, Ph.D. Suffolk County Community College

On strong fairness in UNITY

13.2 Ribosomes & Protein Synthesis

RNA & Protein Synthesis

Development of dynamically evolving and self-adaptive software. 1. Background

CHAPTER 7 GENERAL PROOF SYSTEMS

Gene Models & Bed format: What they represent.

Algorithmic Software Verification

Stochastic Gene Expression in Prokaryotes: A Point Process Approach

PRESTWICK ACADEMY NATIONAL 5 BIOLOGY CELL BIOLOGY SUMMARY

Formal Verification by Model Checking

Protein Synthesis How Genes Become Constituent Molecules

REGULATIONS FOR THE DEGREE OF MASTER OF SCIENCE IN COMPUTER SCIENCE (MSc[CompSc])

Name Date Period. 2. When a molecule of double-stranded DNA undergoes replication, it results in

Fundamentals of Software Engineering

Rotation Operation for Binary Search Trees Idea:

Using chromosomal laci Q1 to control. high copy number plasmids in Escherichia coli. Weickert; Gene 223; 1998 :

agucacaaacgcu agugcuaguuua uaugcagucuua

Specification and Analysis of Contracts Lecture 1 Introduction

Software Engineering using Formal Methods

Runtime Verification - Monitor-oriented Programming - Monitor-based Runtime Reflection

A Visual Language Based System for the Efficient Management of the Software Development Process.

Lecture 1. Basic Concepts of Set Theory, Functions and Relations

The Model Checker SPIN

CHAPTER 5. Number Theory. 1. Integers and Division. Discussion

SMock A Test Platform for the Evaluation of Monitoring Tools

Transcription:

Translating Stochastic CLS into Maude (ONGOING WORK) Thomas Anung Basuki 1 Antonio Cerone 1 Paolo Milazzo 2 1. Int. Institute for Software Technology, United Nations Univeristy, Macau SAR, China 2. Dipartimento di Informatica, Università di Pisa, Italy Iaşi September, 2008 Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 1 / 38

Introduction The Calculus of Looping Sequences (CLS) is a formalism for the description of biological systems Stochastic CLS is the stochastic extension of CLS A simulator based on Stochastic CLS has been developed Our original aim was to apply model checking to Stochastic CLS models We wanted to use Probabilistic Maude (PMaude) as a model checker unfortunately, the model checking module of PMaude seems not to be available... Consequently, we have chosen Real-Time Maude (Maude with a notion of time) we have adapted Gillespie s stochastic simulation algorithm in order to be used in Real-Time Maude we have used Real-Time Maude analysis tool to verify properties on the results of a number of simulations (statistical model checking) Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 2 / 38

Outline of the talk 1 Introduction 2 The Calculus of Looping Sequences (CLS) Definition of CLS The lac operon in CLS Stochastic CLS 3 (Statistical) model checking of Stochastic CLS models Choosing a model checker Translation of Stochastic CLS into Real-Time Maude Analysis examples Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 3 / 38

The Calculus of Looping Sequences (CLS) We assume an alphabet E. Terms T and Sequences S of CLS are given by the following grammar: T ::= S S ::= ɛ ( ) L S T T T a S S where a is a generic element of E, and ɛ is the empty sequence. The operators are: S S : Sequencing ( ) L S : Looping (S is closed and it can rotate) T 1 T 2 : Containment (T 1 contains T 2 ) T T : Parallel composition (juxtaposition) Actually, looping and containment form a single binary operator ( S ) L T. Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 4 / 38

Examples of Terms (i) (ii) (iii) ( a b c ) L ɛ ( a b c ) L ( d e ) L ɛ ( a b c ) L (f g ( d e ) L ɛ) Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 5 / 38

Structural Congruence The Structural Congruence relations S and T are the least congruence relations on sequences and on terms, respectively, satisfying the following rules: S 1 (S 2 S 3 ) S (S 1 S 2 ) S 3 S ɛ S ɛ S S S T 1 T 2 T T 2 T 1 T 1 (T 2 T 3 ) T (T 1 T 2 ) T 3 T ɛ T T ( ɛ ) L ( ) L ( ) L ɛ T ɛ S1 S 2 T T S2 S 1 T We write for T. Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 6 / 38

CLS Patterns Let us consider variables of three kinds: term variables (X, Y, Z,...) sequence variables ( x, ỹ, z,...) element variables (x, y, z,...) Patterns P and Sequence Patterns SP of CLS extend CLS terms and sequences with variables: P ::= SP SP ::= ɛ a ( ) L SP P P P X SP SP x x where a is a generic element of E, ɛ is the empty sequence, and x, x and X are generic element, sequence and term variables The structural congruence relation extends trivially to patterns Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 7 / 38

Rewrite Rules Pσ denotes the term obtained by replacing any variable in T with the corresponding term, sequence or element. Σ is the set of all possible instantiations σ A Rewrite Rule is a pair (P, P ), denoted P P, where: P, P are patterns variables in P are a subset of those in P A rule P P can be applied to all terms Pσ. Example: a x a b x b can be applied to a c a (producing b c b) cannot be applied to a c c a Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 8 / 38

CLS modeling examples: the lac operon (1) DNA i p o z y a mrna proteins R lac Repressor beta-gal. permease transacet. i p o z y a a) RNA Polimerase R NO TRANSCRIPTION i p o z y a b) RNA Polimerase R LACTOSE TRANSCRIPTION Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 9 / 38

CLS modeling examples: the lac operon (2) Ecoli ::= ( m ) L (laci lacp laco lacz lacy laca polym) Rules for DNA transcription/translation: laci x laci x repr polym x lacp ỹ x PP ỹ x PP laco ỹ x lacp PO ỹ x PO lacz ỹ x laco PZ ỹ x PZ lacy ỹ x lacz PY ỹ betagal x PY laca x lacy PA perm x PA x laca transac polym (R1) (R2) (R3) (R4) (R5) (R6) (R7) Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 10 / 38

CLS modeling examples: the lac operon (3) Ecoli ::= ( m ) L (laci lacp laco lacz lacy laca polym) Rules to describe the binding of the lac Repressor to gene o, and what happens when lactose is present in the environment of the bacterium: repr x laco ỹ x RO ỹ LACT ( m x ) L ( ) L X m x (X LACT ) x RO ỹ LACT x laco ỹ RLACT ) L ( ) L ( x (perm X ) perm x X LACT ( perm x ) L ( ) L X perm x (LACT X ) betagal LACT betagal GLU GAL (R8) (R9) (R10) (R11) (R12) (R13) Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 11 / 38

CLS modeling examples: the lac operon (4) Ecoli ::= ( m ) L (laci lacp laco lacz lacy laca polym) Example: Ecoli LACT LACT ( m ) L (laci lacp laco lacz lacy laca polym repr) LACT LACT ( m ) L (laci lacp RO lacz lacy laca polym) LACT LACT ( m ) L (laci lacp laco lacz lacy laca polym RLACT ) LACT ( perm m ) L (laci A betagal transac polym RLACT ) LACT ( perm m ) L (laci A betagal transac polym RLACT GLU GAL) Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 12 / 38

Outline of the talk 1 Introduction 2 The Calculus of Looping Sequences (CLS) Definition of CLS The lac operon in CLS Stochastic CLS 3 (Statistical) model checking of Stochastic CLS models Choosing a model checker Translation of Stochastic CLS into Real-Time Maude Analysis examples Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 13 / 38

Background: the kinetics of chemical reactions Usual notation for chemical reactions: l 1 S 1 +... + l ρ S ρ k k 1 l 1P 1 +... + l γp γ where: S i, P i are molecules (reactants) l i, l i are stoichiometric coefficients k, k 1 are the kinetic constants The kinetics is described by the law of mass action: d[p i ] dt = l i k[s 1 ] l1 [S ρ ] lρ } {{ } reaction rate l i k 1 [P 1 ] l 1 [Pγ ] l γ } {{ } reaction rate Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 14 / 38

Background: Gillespie s simulation algorithm represents a chemical solution as a multiset of molecules computes the reaction rate a µ by multiplying the kinetic constant by the number of possible combinations of reactants Example: chemical solution with X 1 molecules S 1 and X 2 molecules S 2 reaction R 1 : S 1 + S 2 2S 1 rate a 1 = ( X 1 1 )( X2 1 ) k1 = X 1 X 2 k 1 reaction R 2 : 2S 1 S 1 + S 2 rate a 2 = ( X 1 2 ) k2 = X 1(X 1 1) 2 k 2 Given a set of reactions {R 1,... R M } and a current time t The time t + τ at which the next reaction will occur is randomly chosen with τ exponentially distributed with parameter M ν=1 a ν; The reaction R µ that has to occur at time t + τ is randomly chosen a with probability µ P M. ν=1 aν At each step t is incremented by τ and the chemical solution is updated. Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 15 / 38

Stochastic CLS Stochastic CLS incorporates Gillespie s stochastic framework into the semantics of CLS Rewrite rules are enriched with a kinetic constant What is a reactant combination in Stochastic CLS? A reactant combination is an occurence (up to ) of a left hand side of a rewrite rule Two definitions of the semantics of Stochastic CLS exist The first computes the number of reactant combinations by adding unique labels to the alphabet symbols in the term The second computes the number of reactant combinations compositionally Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 16 / 38

The occ function For the sake of the translation into Maude we have defined a recursive function occ(t, T ) that gives the number of combinations of reactants T in the term T. occ(t, ɛ) = 0 j 1 + occ(s, S1 ) + occ(s, T ) if S is a prefix of E S occ(s, E S 1 T ) = 1 occ(s, S 1 ) + occ(s, T ) otherwise occ(s, (S 1 ) L (T ) T 1 ) = occ (S, S 1 ) + occ(s, T ) + occ(s, T 1 ) j occ((s) L T 1, (S 1 ) L 1 + occ((s) T T 2 ) = L T 1, T 2 ) occ((s) L T 1, T ) + occ((s) L T 1, T 2 ) occ(s T, S T 1 ) = 8 >< occ((s) L T T 1, (S 1 ) L T 2 T 3 ) = >: j (1+exactocc(S,T1 ))exactocc(t,t 1 ) 1+exactocc(S,T ) occ(s T, T 1 ) (1+exactocc((S) L T,T 3 ))exactocc(t 1,T 3 ) 1+exactocc((S) L T,T 1 ) if S S 1 and T 1 T otherwise if exactocc(t, T 1 ) > 0 otherwise if S S 1, T T 2 and exactocc(t 1, T 3 occ((s) L T T 1, T 2 ) + occ((s) L T T 1, T 3 ) otherwise.... Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 17 / 38

The occ function: examples occ ( a b, a a b b b ) = 6 ( (m ) L ( ) L ( ) L ( ) ) L occ a, m a m m a = 2 ( occ a b, ( ) L ( ) ) L m (a b) m (a b a) = 3 occ ( a b, a b c a b ) = 2 ( occ a b, ( ) ) L b a b a a b c = 3 Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 18 / 38

A Stochastic CLS model of the lac operon (1) DNA i p o z y a mrna proteins R lac Repressor beta-gal. permease transacet. i p o z y a a) RNA Polimerase R NO TRANSCRIPTION i p o z y a b) RNA Polimerase R LACTOSE TRANSCRIPTION Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 19 / 38

A Stochastic CLS model of the lac operon (2) Transcription of DNA, binding of lac Repressor to gene o, and interaction between lactose and lac Repressor: laci x 0.02 laci x Irna Irna 0.1 Irna repr polym x lacp ỹ 0.1 x PP ỹ x PP ỹ 0.01 polym x lacp ỹ x PP laco ỹ 20.0 polym Rna x lacp laco ỹ Rna 0.1 Rna betagal perm transac repr x laco ỹ 1.0 x RO ỹ x RO ỹ 0.01 repr x laco ỹ repr LACT 0.005 RLACT RLACT 0.1 repr LACT (S1) (S2) (S3) (S4) (S5) (S6) (S7) (S8) (S9) (S10) Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 20 / 38

A Stochastic CLS model of the lac operon (3) The behaviour of the three enzymes for lactose degradation: ( x ) L (perm X ) 0.1 ( perm x ) L X LACT ( perm x ) L X 0.001 ( perm x ) L (LACT X ) (S11) (S12) betagal LACT 0.001 betagal GLU GAL (S13) Degradation of all the proteins and mrna involved in the process: perm 0.001 ɛ (S14) betagal transac Irna 0.001 ɛ (S16) repr 0.01 ɛ (S18) Rna RLACT 0.002 LACT (S20) 0.001 ɛ (S15) 0.002 ɛ (S17) 0.01 ɛ (S19) Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 21 / 38

Simulation results (1) 50 40 betagal perm perm on membrane Number of elements 30 20 10 0 0 500 1000 1500 2000 2500 3000 3500 Time (sec) Production of enzymes in the absence of lactose ( m ) L (laci A 30 polym 100 repr) Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 22 / 38

Simulation results (2) 50 40 betagal perm perm on membrane Number of elements 30 20 10 0 0 500 1000 1500 2000 2500 3000 3500 Time (sec) Production of enzymes in the presence of lactose 100 LACT ( m ) L (laci A 30 polym 100 repr) Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 23 / 38

Simulation results (3) 120 100 LACT (env.) LACT (inside) GLU Number of elements 80 60 40 20 0 0 200 400 600 800 1000 1200 1400 1600 1800 Time (sec) Degradation of lactose into glucose 100 LACT ( m ) L (laci A 30 polym 100 repr) Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 24 / 38

Outline of the talk 1 Introduction 2 The Calculus of Looping Sequences (CLS) Definition of CLS The lac operon in CLS Stochastic CLS 3 (Statistical) model checking of Stochastic CLS models Choosing a model checker Translation of Stochastic CLS into Real-Time Maude Analysis examples Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 25 / 38

A model checker for Stochastic CLS As candidate model checkers we have considered: PRISM Murphi PMaude All of them are probabilistic/stochastic model checkers PMaude is the most suitable It uses a language based on rewrite rules (rewrite logic) that eases the translation of Stochastic CLS rules Unfortunately, the model checking module of PMaude seems not to be available a possible alternative: Real-Time Maude Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 26 / 38

Real-Time Maude Maude is a specification language equipped with efficient analysis tools, which supports three modelling paradigms: algebraic style (via equations) rewrite logic (via rewrite rules) object oriented (via classes and messages) Real-Time Maude extends Maude with a notion of time rewrite rule applications might consume (a fixed amount of) time Real-Time Maude has two kinds of rules istantaneous rules: crl [l] : t => t if cond tick rules: crl [l] : t => t in time τ if cond Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 27 / 38

Translation of Stochastic CLS into Real-Time Maude Real-Time Maude is not stochastic we will include Gillespie s simulation algorithm (slightly changed) in the translation of Stochastic CLS models it will be used to generate single executions of the model Real-Time Maude analysis tools will be applied to the simulation results This is statistical model checking we loose exhaustivity (properties are checked on a number of runs) huge systems could be handled may allow property driven simulations Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 28 / 38

A slight modification to Gillespie s algorithm Given reactions {R 1,..., R M } and initial molecular population X 1,..., X M : Step 0 Initialize current time t = 0 and stepped time t step = 0 Step 1 Compute reaction propensities a 1,..., a n and Σ M ν=1 a ν Step 2 Choose reaction µ and reaction time τ Step 3 If t + τ t step then t step = t step + t Step 4 Execute reaction µ and set t = t + τ Step 5 If t total time then conclude, else return to Step 1 Simulations are still exact our modification doesn t change states and choices of the simulation simulation results are sampled every t time units Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 29 / 38

(Modified) Gillespie s algorthm in Real-Time Maude Every step of the simulation algorithm is translated into an instantaneous rule, apart from Step 3 (the increase of the stepped time) (set tick def 1/100.) crl [increase] : < step:3, t:r1, tau:r2, t step:r3, delta t:r4 > => < step:4, t step:r3+r4 > in time R3 if (R1+R2) >= R3 crl [no increase] : < step:3, t:r1, tau:r2, t step:r3, delta t:r4 > => < step:4 > in time R3 if (R1+R2) < R3 Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 30 / 38

Translation of Stochastic CLS into Real-Time Maude T ::= S S ::= ɛ ( ) L S T T T a S S (omod CLS is pr NAT sorts Elem Seq Term Loop subsorts Elem < Seq < Term op empty : -> Seq [ctor] op. : Seq Seq -> Seq [assoc gather (E e) id: empty ctor] op { } : Elem Nat -> Term op [ ]LContains [ ] : Seq Term -> Term [prec 41 gather (& &) ctor] op : Term Term -> Term [assoc comm prec 45 gather (E e) id: endom) empty ctor] Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 31 / 38

Translation of Stochastic CLS into Real-Time Maude Lotka reactions as Stochastic CLS rules S 1 10 S 1 S 1 S 1 S 2 0.01 S 2 S 2 S 2 10 ɛ rl [ S1 ] : < O : CLSTerm term : (T S1), mu : 1, step : 4 > => < O : CLSTerm term : (T S1 S1), step : 5 > rl [ S2 ] : < O : CLSTerm term : (T S1 S2), mu : 2, step : 4 > => < O : CLSTerm term : (T S2 S2), step : 5 > rl [ S3 ] : < O : CLSTerm term : (T S2), mu : 3, step : 4 > => < O : CLSTerm term : T, step : 5 > Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 32 / 38

Analysis example: stochastic simulation 0.5 Simple reaction: S 1 S 2 10 Lotka reactions: S 1 S 1 S 1 0.01 S 1 S 2 S 2 S 2 10 S 2 ɛ Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 33 / 38

Analysis example: statistical model checking Initialisation of 100 stochastic simulations rl [ initialise1 ] : < step : 0 > => < seed : random(1), step : 1 >.. rl [ initialise100 ] : < step : 0 > => < seed : random(100), step : 1 > Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 34 / 38

Analysis example: statistical model checking By using the tsearch command we can check all possible behaviours Starting with 4 x S 1 and 4 x S 2 we search 10 states where S 2 is absent (tsearch [10] INIT({S1}4 {S2}4) =>* {< O:Oid : CLSTerm term : T:Term > C:Configuration} such that occ(s2,t:term) = 0 in time <= 1/10.) Solution 1 C:Configuration --> < term: {S1}5, finaltime: 7.8293318117206676e-2 >. Solution 10 C:Configuration --> < term: {S1}8, finaltime: 5.6307762323583766e-2 > Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 35 / 38

Analysis example: statistical model checking The find earliest searches for the earliest time when a given state is reached Starting with 4 x S 1 and 4 x S 2 we search the earliest time when S 2 disappear (find earliest INIT({S1}4 {S2}4) =>* {< CLSTerm term:t:term > C:Configuration} such that occ(s2,t:term) == 0.) Result: {< term: {S1}8, finaltime: 5.6307762323583766e-2 > in time 3/50} Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 36 / 38

Analysis example: statistical model checking Verification of properties espressed as LTL formulas. Some state formulas: vanished(t) indicates that term T has vanished from the system, IsLessThan(T,T ) indicates that the occurences of term T are less than the occurences of T. Starting with 4 x S 1 and 4 x S 2 we prove that S 2 will eventually disappear (i.e. vanished(s 2 )) that the amount of S 2 will eventually become less than the amount of S 1 (i.e. IsLessThan(S 2,S 1 )) (mc INIT({S1}4 {S2}4) =t <> vanished(s2) in time<=1.) Result Bool : true (mc INIT({S1} 4 {S2} 4) =t <> IsLessThan(S2,S1) in time<=1.) Result Bool : true Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 37 / 38

Conclusions We have presented preliminary ideas for the application of (statistical) model checking to Stochastic CLS models Many things to do: Prove the correctness of the translation into Real-Time Maude w.r.t. Stochastic CLS semantics Improve the efficiency of the computation of the occ function Model and analyse some more significant case study (e.g. the Lactose operon) Paolo Milazzo (Università di Pisa) SCLS into MAUDE Iaşi September, 2008 38 / 38