A.1 Locations

Each location must encode an identifier, the parent location, the size of the location ($s \in R$), the type the location represents and the step-size ($H \in N^{\star }$) for the location [14].

The concrete syntax, as accepted by the plug-in is as follows (angular brackets ($\langle $ $\rangle $) denote optional parts in the definition):

$ \begin{array}{r} \mathsf{location} \;  ID \;  \langle \mathsf{in} \;  parentID \rangle : \mathsf{size} = value \;  \langle , \;  \mathsf{step-size} = value\rangle  \langle , \;  \mathsf{type} = \{ \mathsf{membrane},\mathsf{compartment}\} \rangle ; \end{array} $

 
The keyword $\mathsf{location}$ labels the purpose of this definition. The keyword must be proceeded by the $ID$ for this new location. If the model defines multiple locations, the spatial location can be specified by adding the keyword $\mathsf{in}$ and the $ID$ for the parent. The size is the only required property in the location definition (where $value \in R$), while the type is optional as it defaults to $\mathsf{compartment}$. The step-size ($value \in N^{*}$) is only required if performing analysis of a Bio-PEPA model with levels (for more details see [11]). If no locations are defined the default location is used, which is a compartment labelled main with size equal to one [14]. As an example, in sections A.8 - A.10, in the Unidireactional and Bidirectional Transportation examples, there are two locations specified:

location main

:

size = 2, type = membrane;

location child in main

:

size = 1;

The first location is a membrane of size 2 with $ID$ main and the second is a compartment with $ID$ child and size equal to 1. In the second definition, the $type$ is not declared as it defaults to compartment.