Art Villanueva – G2 Ops System Engineering Solution Director
Keywords – Model-Based Systems Engineering, MBSE, SysML, Petri Nets, Document-Based Systems Engineering, DBSE, Unified Modeling Language, UML, Sparx’s Enterprise Architect, Object Modeling Group, CPN Tools
Estimated Reading Time: 4 minutes
For systems engineers that design mission-, time-, or safety-critical systems, Petri nets should be an arrow in their quiver.
A Petri net is an application of graph theory to model states and transitions. In contrast to a semi-formal language like SysML, a Petri net, or place/transition net, is a formal, mathematical language often used in describing executable architectures. Engineers must recognize that tools and formal languages like Petri nets (and the generalized colored Petri nets (CPNs)) exist. So the question remains, Are Petri Nets a viable alternative to MBSE and SysML?
Formal and Semi-formal Systems Engineering Modeling Languages
A decade ago, Model-Based Systems Engineering (MBSE) was a side initiative for many defense and aerospace companies. The net benefits of MBSE were frequently debated and, sometimes, the practice was actively disparaged. MBSE is now a prevalent term often included as a requirement in many government Requests for Proposals (RFPs) solicitations. Yet, there’s a misunderstanding of what it is even among practitioners. Last year, to my horror, I was stunned at a seminar to see a presenter tout using PowerPoint diagrams and photos of hand-drawn boxes and lines to claim his adherence to the MBSE practice!
Unlike traditional Document-Based Systems Engineering (DBSE), MBSE uses languages such as SysML and OPM to provide concordance and enhance comprehension: keys in providing effective modeling artifacts. SysML is an outgrowth of the Unified Modeling Language (UML), a popular modeling language among software architects. SysML is the de facto standard for model-based systems engineers and is often mandated by project solicitors. However, SysML can be exploited, especially when coupled with non-specialized tools like Visio or PowerPoint. Even some specialty tools such as Sparx’s Enterprise Architect allow easy deviation from the Object Modeling Group’s (OMG’s) published standards. As with a person that knows English words but doesn’t understand the grammar, or a C programmer given too much power to manipulate memory, using SysML without sufficient guardrails can result in a disaster that may go undetected until verification and validation.
Petri Net Advantages
Unlike SysML, Petri nets are limited to modeling a system’s dynamic properties and allow for mathematical evaluations of correctness.
A poorly designed system, for example, may yield race conditions and deadlocks when modeled with Petri nets. These issues, of course, are much better detected during the modeling/design phase than during the implementation phase. Petri net properties help verify behavioral SysML artifacts such as activity diagrams, sequence diagrams, state machine diagrams, and are complementary to SysML parametric diagrams.
Not a Panacea
Unfortunately, the mathematical formality of Petri nets and the lack of widespread, easy-to-use tools tend to dissuade modelers from adopting it. Perhaps the most prevalent Petri net modeling and analysis tool is CPN Tools1. Still, it is a clunky, dated, Java-based software package that is slow and does not follow the traditional user interface norms to which most computer-savvy individuals have grown accustomed. (No, a left-button click does not do what you think it’s supposed to do.).
Knowing is Half the Battle
For most applications, semi-formal modeling languages such as SysML are perfectly sufficient for performing modeling and architecture tasks. Indeed, much of SysML usage is for documenting existing systems and automating things like reliability analysis, generating reports, and gap analysis, in addition to actual design. That said, Petri nets should be in any systems engineer’s toolchest for designing mission-, time-, or safety-critical systems. If nothing else, engineers should know that tools and formal languages like Petri nets (and the generalized Colored Petri Nets (CPNs)) are available for their use.
Learn more about MBSE, Cybersecurity, and Cloud Engineering at G2-Ops.com