We identify and demonstrate a weakness of Petri Nets (PN) in specifying complex behavior. Specifically, we show how, when specifying multiple requirements in one Petri net model, modelers are obliged to specify mechanisms for combining these requirements. This yields, in many cases, over-specification and incorrect models. We demonstrate how some execution paths are missed, and some are generated unintentionally. To support this claim, we analyze Petri net models from the literature, identify the combination mechanisms, and demonstrate their effect on the correctness of the model. To address this problem, we propose to model the system behavior using behavioral programming (BP), a software development and modeling paradigm designed for seamless integration of independent requirements. Specifically, we demonstrate how the semantics of BP, which define how to interweave scenarios into a single model, allow avoiding the over-specification. Additionally, while BP maintains the same mathematical properties as PN, it provides means for changing the model dynamically, thus increasing the agility of the specification. We compare BP and PN in quantitative and qualitative measures by analyzing the models, their generated execution paths, and the specification process. Finally, while BP is supported by tools that allow for applying formal methods and reasoning techniques to the model, it lacks the legacy of PN tools and algorithms. To address this issue, we propose semantics and a tool for translating BP models to PN and vice versa.
翻译:我们发现并展示了Petri Nets (Petri Nets) 在具体描述复杂行为方面的弱点。 具体地说, 我们展示了当在一个Petri Nets 模型中指定多重要求时, 模型人必须如何指定将这些要求结合起来的机制。 在许多情况下, 这产生了超分和不正确的模型。 我们展示了某些执行路径被错过, 有些是无意生成的。 为了支持这一说法, 我们从文献中分析Petri Nets 模型, 确定组合机制, 并展示其对模型正确性的影响。 为了解决这一问题, 我们提议使用行为编程(BP)、 软件开发和建模模式来模拟系统的行为。 具体地说, 我们展示了BP的语义性, 如何将各种情景编织成一个单一模型, 从而避免过于具体化。 此外, 虽然BPI 模型的数学属性与 PN 模型一样, 提供了动态改变模型的手段, 从而提高规格的灵敏性。 我们提议在定量和定性措施中比较BP和PN, 通过分析模型、 其生成执行路径和规格过程。 最后的模型, 我们使用了SLALA 工具使用了S 。