03_Example Solutions - gschleusner1972/strange_matter GitHub Wiki

Clash Detection Example - More than the Sum of its parts….

There are two main patterns for clash detection. Whether it’s standards-based using BCF or a custom schema to track issues, they all do something like this.

  • Generate Clash Results
  • Results filtered into some subset of issues
  • Create an issue that gets stored in a file or web service.
  • Model Application loads the model.
  • The model editing/viewing application creates a “temporary join” between the issues and the modeled elements.
  • When the applications are closed, the “connection” logic is lost and thus has to be recalculated when the next user brings the data together. Certainly, IDs exist that enable this join, but that has to be recomputed. You would have to open the source model each time you want to review the data.
💡 What if the data was connected? What kinds of things become possible? Let’s think through some very basic workflows that could exist
  • One could look across my projects to find patterns without opening a tool and instead look at the data

    flowchart LR
        Component_1 --> Clashes_Relationship --> Component_2
    
    Loading
  • One could make custom “relationship_Types” that express meaning and not just “something clashed.”

    flowchart LR
        Component_1 --> Clashes_Relationship_Routing_Error --> Component_2
    
    Loading
  • One could capture the actual fix in the data so if it ever resurfaces on the project or project type, you have captured the knowledge of how it was previously solved.

    flowchart LR
        Component_1 --> Clashes_Relationship_Routing_Error
    		 --> Component_2 -->Fix_Relationship-->Component_1
    
    Loading
  • Finally, you could make an ML/ AI tool that Learned from this data and suggested or implemented an “AutoFix” instruction and then include the actual algorithm used in the data so it’s not a mystery in the future.

    flowchart LR
        Component_1 --> Clashes_Relationship_Routing_Error
    		 --> Component_2 -->Auto_Fix_Relationship-->Auto_Fix_Algorithm--> Component_1
    
    Loading

Key Take Aways - Making Data More than its parts

This example shows how making data connections to other data outside of an application can add to and collect knowledge that is currently lost in our processes. its currently not computable, or trainable because it’s not machine-readable.

This is not surprising given this shows up in USD, Software Development, and all other examples.

⚠️ **GitHub.com Fallback** ⚠️