# P System with Fractional Reduction
## 5 Experimental Results
### Simulation Experiments
#### 5.1.1 UPSimulator: P System Simulation Software  
In order to more conveniently describe the simulation model, literature [23] introduced the language UPLanguage (UPL for short) for describing the P System, which is used to describe the membrane structure, membrane properties, initial object multiset and rule sets of the P System. It integrates object-oriented thinking and can define a membrane with a certain function as a membrane class. Membranes can be used as a type of membrane, and when used, only one statement is needed to instantiate a membrane of that type. Membranes can also be inherited by another membrane, and the inherited membrane will have all the content of that membrane and can also have its own unique content. Meanwhile, in UPL, rules are described as having two parts: conditions and results, allowing the characteristics of the rules to be arbitrarily combined.  
UPL will be described using the BNF paradigm. In UPL, define a membrane class, starting with the keyword 'Membrane', followed by the type of membrane (a combination of letters), and the membrane content enclosed in parentheses:  
<MembraneDef> ::=\"Membrane\"<MemType> [ \"extends\"<MemType> { \",\" <MemType> } ] ] \"(\"<Submembrane> | <Objects> | <RuleDef> | <Properties>\")\" ]\"<MemType> ::= <Letters>  
The 'extensions' section declares which membrane classes this membrane class inherits from, and this section is optional.  
\begin{table}
\begin{tabular}{c c c} \hline \hline
**Time Slice** & **Rules for Implementation** & **Results of the Implementation** \\ \hline \multirow{6}{*}{34} & \multirow{6}{*}{B\({}_{1}\): \(r_{12}\);} & M\({}_{1}\): \(c\), t b, \(15^{1}\), b\({}_{2}\)\(25^{2}\), \(a_{1}\)\(25^{3}\), \(x^{5}\), \(x^{5}\); \\  & & A\({}_{1}\): \(n_{1}\)\({}^{15}\), \(m_{1}^{25}\), \(u^{9}\), \(F\), \(g15^{1}\), h, j, \(\lambda^{15}\); \\  & & A\({}_{1}\): \(n_{1}\)\({}^{15}\), \(m_{1}^{25}\), \(u^{9}\), \(F\), \(g15^{1}\), h, j, \(\lambda^{15}\); \\  & & A\({}_{2}\): \(d^{10}\), Num\({}^{39}\), e, \(u^{10}\), \(y^{15}\), j, k, CreateSubMem, o\({}^{10}\); \\  & & B\({}_{1}\): e, \(\lambda^{5}\), \(x^{5}\); \\  & & B\({}_{2}\): e, \(x^{5}\); \(B_{3}\): z, \(B_{4}\): Num\({}^{37}\), CreateSubMem; \\ \hline \multirow{6}{*}{54} & \multirow{6}{*}{M\({}_{1}\): \(r_{20}\), \(r  
After introducing UPL to describe the simulation model, the author also designed UPS simulation software, whose overall architecture is shown in Figure 11. When using the P System to solve problems, the problem can be decomposed into a series of subtasks. For each subtask, we can use one or more membranes to complete it, and each membrane that completes these tasks is a membrane class. After constructing all the required membrane classes, construct validation examples based on the problem, which is the simulation environment. Then use a recognizer to identify the environment and the string composed of all the membranes used. When the recognizer recognizes, it will continuously construct conditions, results, rules, objects, and membranes based on the identified content and place them inside the correct membranes. Finally, based on the identified simulation environment, a skin membrane is constructed. The skin membrane and its internal submembranes will evolve according to rules under the control of the controller, whose main function is to ensure parallelism and randomness during membrane execution. The user interface will display the status of the skin membrane in a timely manner, and users can also control the entire simulation process through the interface. The specific design of the P System description language and simulation software can be referred to in reference [23].