Davinci follows a modeling standard based on the System Modeling Language (SysML) v2 schema to represent concepts in its digital model. This schema is encapsulated within a database method that supports graphical interactions, with an intuitive search and traversal interface. At the core of this schema are objects, which represent specific elements of the system being modeled. Each object has its own set of parameters, which can be defined, as well as child objects that further specify these parameters. Objects also interact with one another through various relationships, outlining how they connect and influence each other across the model.
Objects have intrinsic properties that vary depending on their type. For instance, attributes have a value field that holds the data associated with the attribute. Interfaces, on the other hand, define the connections between ports, detailing how these ports interact with other elements in the system. These properties are crucial in shaping the behavior and functionality of objects within the model.
Objects can contain other objects of specific types, which further define the nature of the parent object. For example, a part object may contain an owned attribute object, such as mass, or other parts that contribute to defining the structure of its part tree. These child objects serve to clarify and expand on the characteristics of the parent object, helping to model the system in more detail.
Objects can form connections with one another, signifying various types of interactions. For example, an “engine” object may be linked to a “fuel tank” object, indicating the engine’s reliance on fuel provided by the tank. Alternatively, an object might have a specific owned port, which interfaces with other ports in the system.Relationships between objects can be directional and given a type:
In relationships represent a flow of data or control into an object. For example, a “sensor” might have an “in” relationship with an “actuator,” allowing it to receive data.
Out relationships signify the flow of data or control from an object. For example, a “controller” may have an “out” relationship with an “actuator,” enabling it to control the actuator’s behavior through a data connection.
Inout relationships represent two-way interactions. For instance, a “communication module” might have an “inout” relationship with both a “sensor” (to receive data) and an “actuator” (to send commands).
Relationships are categorized by their type and direction, ensuring clear definitions of object interactions within the system.
In addition to the core SysML schema, there are several extensions available to facilitate the creation of custom document-based artifacts derived from the digital model. These extensions allow for the seamless integration of model objects into various document types. For example, variables within the model can be referenced in code, text within documents can include inline references to model objects, and table cells can object values based on the model’s current state. These extensions help bridge the gap between the model and real-world documentation, ensuring that the model data is consistently reflected across all generated artifacts seamlessly.