Structural modeling in Dalus allows you to define the physical and logical architecture of your system through interconnected components. Build hierarchical systems by creating parts, connecting them through ports and interfaces, and organizing flows with visual color coding.

System Architecture Overview

Dalus provides a complete canvas for modeling complex systems with hierarchical organization. The left sidebar shows your model hierarchy, making it easy to navigate between different levels of your system.

What are Parts

Parts are the fundamental building blocks of your system - representing physical components, logical modules, or any architectural element. Each part can contain nested sub-parts and connects to other parts through ports.

Creating Parts

Create parts using the toolbar on the left side of the canvas. Click the Part button (or press P) to add new parts to your model. You can name parts by editing their labels directly.

Double-click any part to open it in a new tab and work within its internal structure, allowing you to build nested hierarchies.

Part Properties and Attributes

When you select a part, the right sidebar shows all its properties including attributes, sub-parts, ports, and connected actions/states. Add custom attributes to define variables and properties specific to each part.

Creating Ports and Interfaces

Ports define connection points on parts where interfaces attach. Create ports using the Port button (press O) and they’ll snap to part edges. Interfaces connect ports between different parts, enabling system interactions.

Creating Connections

Connections define the specific flows within interfaces - matter, energy, information, or binding relationships. Select an interface to configure its connections in the right sidebar, specifying types, directions, and linked variables.

Color Groups

Organize complex interfaces using color groups for visual coding. Assign colors to related flows to make large systems easier to understand and navigate.

Interface Templates

Save frequently used interface configurations as templates for reuse across your models. Build a library of standard interface types for your domain to maintain consistency.

This approach enables you to build well-organized, analyzable system architectures with clear relationships between all components.