  We investigate computing models that are presented as families of finite
computing devices with a uniformity condition on the entire family. Examples of
such models include Boolean circuits, membrane systems, DNA computers, chemical
reaction networks and tile assembly systems, and there are many others.
However, in such models there are actually two distinct kinds of uniformity
condition. The first is the most common and well-understood, where each input
length is mapped to a single computing device (e.g. a Boolean circuit) that
computes on the finite set of inputs of that length. The second, called
semi-uniformity, is where each input is mapped to a computing device for that
input (e.g. a circuit with the input encoded as constants). The former notion
is well-known and used in Boolean circuit complexity, while the latter notion
is frequently found in literature on nature-inspired computation from the past
20 years or so.
  Are these two notions distinct? For many models it has been found that these
notions are in fact the same, in the sense that the choice of uniformity or
semi-uniformity leads to characterisations of the same complexity classes. In
other related work, we showed that these notions are actually distinct for
certain classes of Boolean circuits. Here, we give analogous results for
membrane systems by showing that certain classes of uniform membrane systems
are strictly weaker than the analogous semi-uniform classes. This solves a
known open problem in the theory of membrane systems. We then go on to present
results towards characterising the power of these semi-uniform and uniform
membrane models in terms of NL and languages reducible to the unary languages
in NL, respectively.
