\chapter{Simplifying the broadcast language}
\label{app:bl}
The original broadcast language, as devised by \cite{holland1975ana,holland1992ana}, differs from the \MCS~ by including the following and additional system properties. The broadcast language alphabet $\Lambda$ contains ten \textit{symbols}, $\Lambda^*$ is the set of strings over $\Lambda$. The symbols constitute the atomic elements of the language. 
\[
	\Lambda=\{0,\ 1,\ *,\ :,\ \lozenge,\ \triangledown,\ \blacktriangledown,\ \triangle,\ p,\ '\}
\]

\section*{Broadcast units}
Four types of broadcast unit can be distinguished, any other broadcast units that do not follow one of those four schemes are \textit{null units}. An arbitrary string from $\Lambda^*$ which contains neither unquoted $*$ nor unquoted $:\ $ is denoted by $I_n$, with $n=\{1,2,3\}$. Broadcast units may engage in the following interactions based on discrete timesteps:
\begin{enumerate}
	\item $*I_1:I_2$\\ If a signal of type $I_1$ is detected at time $t$ then the signal $I_2$ is broadcast at time $t+1$.
	\item $*:I_1:I_2$\\ If there is no signal of type $I_1$ present at time $t$ then the signal $I_2$ is broadcast at time $t+1$.
	\item $*I_1::I_2$\\ If a signal of type $I_1$ is detected at time $t$ then a \textit{persistent} string (preceded by the $p$ symbol) of type $I_2$ (if any) is removed from the environment at the end of time $t$.
	\item $*I_1:I_2:I_3$\\ If a signal of type $I_1$ and a signal of type $I_2$ are both present at time $t$ then the signal $I_3$ is broadcast \textit{at same time} $t$ unless the string $I_3$ contains unquoted symbols $\{\triangledown, \blacktriangledown, \triangle\}$ or singly quoted occurrence of $*$, in which case the string $I_3$ is broadcast at time $t+1$.
\end{enumerate}
For broadcast units of type 1 and 2, the string $I_2$ refers to the output signal. Whereas $I_1$ is said to be a broadcast unit argument, and this applies to any types of broadcast unit. Nevertheless, we also have additional broadcast unit arguments $I_2$ for broadcast units of type 3 and 4. Finally, in the case of type 4 broadcast unit, $I_3$ corresponds to the output signal.

When a broadcast unit of type 2 is fired at time $t$, this implies the deletion of a persistent signal. Persistent signals include signals starting with an unquoted occurrence of $p$ but also active broadcast devices.

Also when an output signal is interpreted for broadcast, one quote is removed from each quoted symbol. This allows one to use the quote symbol to ``protect'' special symbols to be passed into the output signal. A broadcast unit may broadcast only once at each time step.
 
\section*{The symbols}
The interpretation of the symbols $\{\blacktriangledown,\ p\}$ is now presented.
\begin{description}
	\item $\blacktriangledown$ \hspace{0.5cm}This symbol is similar to $\triangledown$ but can concatenate different input signals.

	For example, with $S(t)=\{*10\triangledown:11\blacktriangledown:000\triangledown\blacktriangledown, 10111,1100\}$ we obtain at $t+1$: $S(t+1)=\{*10\triangledown:11\blacktriangledown:000\triangledown\blacktriangledown, 10111,1100, 00011100\}$. In this case $\triangledown$ designates the suffix $111$ occurring in the input signal $10111$ and $\blacktriangledown$ designates the suffix $00$ found in the detected signal $1100$. The format of the broadcast signal is $000\triangledown\blacktriangledown$, therefore we replace and concatenate $\triangledown$ and $\blacktriangledown$ accordingly and we obtain the output signal $00011100$.
	
\item $p$ \hspace{0.5cm}When this symbol occurs at the first position of a string, it designates a \textit{persistent} string which persists over time until deleted even if the string is not an active broadcast unit. A null device occurring at time $t$ which is not persistent exists only for a single timestep and is removed at the end of time $t$.
\end{description}

\section*{The modifications}
It was demonstrated that the broadcast language can model Genetic Regulatory Networks \citep{DBLP:conf/eurogp/DecraeneMMK07}. This was due to the ability of the broadcast language to mirror Boolean networks which illustrates the wide ranging processing power that broadcast systems are capable of. Nevertheless, it was also highlighted that the broadcast language is limited regarding the representation and simulation of biochemical networks. To address this issue, we propose to combine the Molcular Classifier System concept with the broadcast language in a new system termed \MCS. The \MCS~ complements the broadcast language and extends it by including the following refinements:

\begin{itemize}
	\item Instead of processing all broadcast devices sequentially and deterministically during a time step, the \MCS~ processes as follows: At each time step $t$, we pick a pair of broadcast devices at random. For each pair of devices, one of the broadcast devices is designated (at random) as the \emph{enzyme device} and the second one as the \emph{substrate device}. If the conditional statement of the enzyme device is satisfied by the informational string of the substrate device, then the action statement of the enzyme is executed upon the substrate.
	\item In the broadcast language specification given by Holland, additional rules were required to resolve some ambiguities raised by the interpretation of broadcast devices. To facilitate this, the \MCS~ simplifies the interpretation of broadcast units by preserving broadcast units of type 1 only (i.e., we remove broadcast units of type 2, 3 and 4).
	\item The ``black reversed triangle'' $\blacktriangledown$ is removed. This symbol was used to concatenate matched strings occurring in type 4 broadcast units. As type 4 broadcast units are removed, this symbol may no longer function.
	\item Similarly the notion of non-persistent devices is removed: By default all broadcast devices are considered as persistent molecules. Therefore the $p$ symbol is removed.
	\item As type 3 broadcast units and non-persistent devices no longer exist in this proposal, no molecule can be deleted from the population. However the deletion/dilution of molecules is needed to obtain a selective mechanism at the molecular level. Our suggestion is as follows, each time a successful reaction occurs, we pick a molecule at random and delete it from the population.
\end{itemize}