Following the knowledge provided by the theory of programming, we present an abstract syntax of the membrane systems, and their semantics. We define an appropriate notion of configurations, and sets of inference rules corresponding to the three stages of an evolution step in membrane systems. A notion of bisimulation is defined; bisimulation relations allow to compare the evolution behaviour of two membrane systems.
On the other hand, the practice of programming related to membrane systems is given by the presentation of some sequential and parallel software simulators, emphasizing their specific features.