System Abstraction
The device architecture and enums represent how our platform needed to interact with devices to enable our core value prop of "digitization" (data processing), but they were not representative of how our users saw them. Although our users wanted to manipulate data, the majority understood its computation as arithmetic; they were not data literate in a procedural programming sense. Devices were still conceptually rooted in function and purpose: what they did and why in relation to manufacturing lines. How a device processed data was only a means to an end for our users.
This presented some challenges as the function and purpose of devices are wildly open-ended. Defining all of them in advance would be equivalent to defining all the possible products anyone would ever make in advance: a foolish task. I needed to develop a conceptual model that balanced technical requirements with functional/formal intuition to present a system image that would guide our users' understanding of the platform. Currently, users all had different mental models of the platform, impending their ability to effectively accomplish tasks and troubleshoot errors.