{"id":567,"date":"2025-09-19T09:32:40","date_gmt":"2025-09-19T07:32:40","guid":{"rendered":"https:\/\/blog.rwth-aachen.de\/pads\/?p=567"},"modified":"2025-09-19T16:27:49","modified_gmt":"2025-09-19T14:27:49","slug":"visualizing-object-centric-petri-nets","status":"publish","type":"post","link":"https:\/\/blog.rwth-aachen.de\/pads\/2025\/09\/19\/visualizing-object-centric-petri-nets\/","title":{"rendered":"Visualizing Object-Centric Petri Nets"},"content":{"rendered":"<p>by Lukas Liss based on a paper by Tobias Brachmann, Istv\u00e1n Koren, Lukas Liss, and Wil van der Aalst<\/p>\n<p>Process mining has become essential for understanding how organizations actually work, but there&#8217;s been a fundamental limitation: traditional approaches focus on single entities like &#8220;orders&#8221; or &#8220;customers,&#8221; missing the bigger picture of how multiple entities interact in real business processes.<\/p>\n<p><strong>The Challenge: Beyond Single-Case Thinking<\/strong><\/p>\n<p>Imagine analyzing an e-commerce process. Traditional process mining might follow individual orders from creation to delivery. However, real business processes are more complex \u2013 orders involve products, customers, warehouses, and shipping providers, all interacting in intricate ways. A single order might involve multiple products, each with different suppliers and delivery requirements. This complexity gets lost when we only look at one type of entity at a time.<\/p>\n<p>This is where <strong>Object-Centric Process Mining (OCPM)<\/strong> comes in. Instead of following just orders or just customers, OCPM tracks all the different types of objects and their interactions simultaneously. An established process model for this are <strong>Object-Centric Petri Nets (OCPNs)<\/strong> \u2013 a more sophisticated way to model processes that can handle multiple interacting lifecycles.<\/p>\n<p><strong>The Visualization Problem<\/strong><\/p>\n<p>Here&#8217;s where things get tricky: these richer, more realistic process models are much harder to visualize clearly. Traditional Petri net visualization tools weren&#8217;t designed for this complexity. When you have multiple object types, variable connections between them, and complex interdependencies, standard graph layout algorithms produce cluttered, hard-to-interpret diagrams.<\/p>\n<p>Think of it like trying to use a city road map to understand a complex subway system with multiple interconnected lines \u2013 the visualization just wasn&#8217;t designed for that level of complexity.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-569 size-full\" src=\"https:\/\/blog.rwth-aachen.de\/pads\/files\/2025\/09\/A-Tailored-Visualization-Approach.png\" alt=\"\" width=\"624\" height=\"148\" srcset=\"https:\/\/blog.rwth-aachen.de\/pads\/files\/2025\/09\/A-Tailored-Visualization-Approach.png 624w, https:\/\/blog.rwth-aachen.de\/pads\/files\/2025\/09\/A-Tailored-Visualization-Approach-300x71.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/p>\n<p><strong>Our Solution: A Tailored Visualization Approach<\/strong><\/p>\n<p>Our research addresses this gap by developing a specialized layout algorithm specifically designed for OCPNs. Rather than forcing these complex models into generic graph visualization tools, we created an approach that understands and leverages the unique characteristics of object-centric processes.<\/p>\n<p><strong>Key Innovations<\/strong><\/p>\n<ol>\n<li><strong> Smart Quality Metrics<\/strong> We defined six quality metrics that guide the visualization:<\/li>\n<\/ol>\n<ul>\n<li>Traditional graph aesthetics (minimizing edge crossings, reducing edge length)<\/li>\n<li>Object-centric considerations (grouping related object types, maintaining clear flow direction)<\/li>\n<\/ul>\n<ol start=\"2\">\n<li><strong> Adapted Sugiyama Algorithm<\/strong> We extended the well-known Sugiyama framework \u2013 a hierarchical graph layout method \u2013 to handle object-centric specifics:<\/li>\n<\/ol>\n<ul>\n<li><strong>Cycle Breaking<\/strong>: Handling loops in process flows<\/li>\n<li><strong>Layer Assignment<\/strong>: Organizing elements into logical hierarchical levels<\/li>\n<li><strong>Vertex Ordering<\/strong>: Arranging elements within each level to minimize visual confusion<\/li>\n<li><strong>Positioning &amp; Routing<\/strong>: Computing final coordinates and drawing clean connections<\/li>\n<\/ul>\n<ol start=\"3\">\n<li><strong> Object-Type Awareness<\/strong> Unlike generic tools, our algorithm actively groups places (representing object states) by their object type, making it easier to understand how different business entities flow through the process.<\/li>\n<\/ol>\n<p><strong>Real-World Impact<\/strong><\/p>\n<p>We built this into a practical tool called the <strong>OCPN Visualizer<\/strong> \u2013 a web-based application that researchers and practitioners can use. The tool includes:<\/p>\n<ul>\n<li>Interactive configuration options for customizing layouts<\/li>\n<li>Real-time visualization updates as you adjust parameters<\/li>\n<li>Export capabilities for integration into other workflows<\/li>\n<li>A reusable JavaScript library for developers<\/li>\n<\/ul>\n<p><strong>Why This Matters<\/strong><\/p>\n<p>This work addresses a real bottleneck in object-centric process mining adoption. As organizations increasingly recognize the value of understanding their complex, interconnected processes, they need tools that can make this complexity manageable and interpretable.<\/p>\n<p>The research contributes to the field in three ways:<\/p>\n<ol>\n<li><strong>Theoretical Foundation<\/strong>: Quality metrics that combine graph aesthetics with domain-specific needs<\/li>\n<li><strong>Algorithmic Innovation<\/strong>: A layout algorithm tailored to object-centric characteristics<\/li>\n<li><strong>Practical Tools<\/strong>: Open-source implementations that others can use and build upon<\/li>\n<\/ol>\n<p><strong>Looking Forward<\/strong><\/p>\n<p>While our approach works well for small to medium-sized models, there&#8217;s still room for improvement with very large, complex process models. Future work could explore more advanced edge routing techniques, better handling of dense interconnections, and more sophisticated filtering options for exploring large models.<\/p>\n<p>The broader impact extends beyond just visualization \u2013 by making object-centric process models more interpretable, this work helps bridge the gap between advanced process mining techniques and their practical application in real organizations.<\/p>\n<p><strong>Resources<\/strong><\/p>\n<p>Find the source code, a link to the web-based tool, and example input data on Github: <a href=\"https:\/\/github.com\/rwth-pads\/ocpn-visualizer\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/rwth-pads\/ocpn-visualizer<\/a><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-570 size-full\" src=\"https:\/\/blog.rwth-aachen.de\/pads\/files\/2025\/09\/github-picture.png\" alt=\"\" width=\"624\" height=\"308\" srcset=\"https:\/\/blog.rwth-aachen.de\/pads\/files\/2025\/09\/github-picture.png 624w, https:\/\/blog.rwth-aachen.de\/pads\/files\/2025\/09\/github-picture-300x148.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>by Lukas Liss based on a paper by Tobias Brachmann, Istv\u00e1n Koren, Lukas Liss, and Wil van der Aalst Process mining has become essential for understanding how organizations actually work, [&hellip;]<\/p>\n","protected":false},"author":1478,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"c2c_always_allow_admin_comments":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-567","post","type-post","status-publish","format-standard","hentry","category-allgemein"],"_links":{"self":[{"href":"https:\/\/blog.rwth-aachen.de\/pads\/wp-json\/wp\/v2\/posts\/567","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.rwth-aachen.de\/pads\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.rwth-aachen.de\/pads\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.rwth-aachen.de\/pads\/wp-json\/wp\/v2\/users\/1478"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.rwth-aachen.de\/pads\/wp-json\/wp\/v2\/comments?post=567"}],"version-history":[{"count":5,"href":"https:\/\/blog.rwth-aachen.de\/pads\/wp-json\/wp\/v2\/posts\/567\/revisions"}],"predecessor-version":[{"id":574,"href":"https:\/\/blog.rwth-aachen.de\/pads\/wp-json\/wp\/v2\/posts\/567\/revisions\/574"}],"wp:attachment":[{"href":"https:\/\/blog.rwth-aachen.de\/pads\/wp-json\/wp\/v2\/media?parent=567"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.rwth-aachen.de\/pads\/wp-json\/wp\/v2\/categories?post=567"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.rwth-aachen.de\/pads\/wp-json\/wp\/v2\/tags?post=567"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}