Skip to content

Visualizing Assurance Cases with Mermaid.js

The Trustworthy and Ethical Assurance (TEA) Platform leverages the power of Mermaid.js to provide a dynamic and intuitive visualization of assurance cases. Mermaid.js is an open-source rendering library that allows the creation of diagrams and flowcharts with Markdown-like notation, making it an ideal choice for representing the complex relationships and structures within assurance cases.

Introduction to Mermaid.js

Mermaid.js simplifies the process of generating diagrams through a text-based approach, where users can describe diagrams in a Markdown-inspired syntax. This approach enables developers and users of the TEA Platform to focus on the content and logic of their assurance cases without worrying about the intricacies of diagram design.

Using Mermaid in the TEA Platform

Within the TEA Platform, Mermaid.js is utilized to convert JSON representations of assurance cases into visually appealing and interactive flowcharts. These diagrams effectively illustrate the connections between different elements of an assurance case, such as Goals, Claims, Strategies, and Evidence, providing a clear overview of the case structure and facilitating easier analysis and communication.

Experimenting with Mermaid

To get a hands-on experience with Mermaid.js and explore its capabilities, users can utilize the Mermaid Live Editor. This online tool offers an interactive environment where you can write Mermaid syntax and instantly see the resulting diagram, enabling quick iterations and experimentation with different diagram configurations.

Integration in the TEA Platform

Mermaid.js is seamlessly integrated into the TEA Platform's frontend, where it plays a critical role in the Mermaid component, part of the platform's React-based user interface. This integration ensures that assurance cases are not only thoroughly documented but also easily interpretable through visual means.

For more details on how Mermaid.js is used within the TEA Platform and to dive deeper into the specific React components that facilitate this integration, please refer to our React Components page.