When it comes to software, every company has to evaluate whether an off the shelf or custom software option makes the most sense. Off the shelf products are often cheaper, but they may not be able to provide the complete functionality that your team needs to get their job done. For one pipeline engineering services firm, a custom software application made the most sense for them because they needed a product that could specifically encode their business logic.
The engineering design system that we created takes as its input a system of pipes, with their insulations, material types, and required temperatures. Its output is a network of heating cables that will maintain the pipes at the required temperatures for something approaching the minimum cost.
This keeps the pipes from freezing in cold weather, and keeps oil products with higher freeze points from solidifying even in normal temperatures. (Think a pipe with wax in it.)
The actual heat trace (heating cables) design is a complicated engineering task involving lots of electrical engineering and physics math, and isn’t generalizable. What is generalizable, however, is the inclusion of the business logic in deciding what components to include or not include.
For example, the system is capable of calculating which fixing tape to use, based on the temperatures reached, determining the amount of tape needed, and then converting the length of tape into a number of rolls required.
This happens automatically, every time a circuit is generated. For instance, if the client calls back and says they are adding an extra layer of insulation, a new design can be processed at the click of a button. Recalculating things like the amount of tape would be a tedious process. Even with a tool and simple rules, entering in all the data into a separate system would still take a significant amount of time.
With this automated system, we are also able to track previous inputs and cascade changes. When a small change is made to a design, it may have far reaching consequences. Our system is able to quickly re-validate all of the user selected items, and zero out any choices that are no longer appropriate. A system without the business logic embedded in it would require that the user re-validate all of their prior choices, a process that is both error prone, and easy to forget.
For more on custom software development, read our post on how the Agile methodology helps your company get the best possible final product.