The platform delivers a powerful Object Oriented Model that is designed to be used by both developers and other users who do not write code. The Model is typically developed by engineers and business people who are not developers. Later, developers may use the model to write code for custom user interfaces, reports, smart , advanced algorithms, data science, and machine learning. ThinkIQ VisualizeTM and TransformTM are no-code or low-code deployments, while InsightTM and AutonomyTM provide a full-featured IoT development platform.
This section is aimed at non-developers who need to understand some simple modeling concepts. Developers should refer to the Developer Platform documentation for more detail.
Instances in the model represent actual physical items or single occurrences of something. For example, the instance of "Drinking Water Supply Pump" represents a specific pump in your organization at a specific plant. Instances are created for specific things in specific places.
Types in the platform are used to define the characteristics and behavior of the data for specific objects. As an example, an Equipment Type of Pump defines the characteristics and behavior of the data associated with pumps in the Model. Types allow the user to define characteristics once and reuse the Type on all instances of the same object. In this way, the Equipment Type of Pump, provides a template for all pumps. Types can be defined independently of any particular item or plant. In this way, types provide a powerful tool for reuse and standardization.
This reuse is achieved through Inheritance. An Instance of a Type inherits all the characteristics and Attributes that are defined on the Type. An Instance can only inherit from one Type.
Most Types support composition. This means that you can define Types built up from other (smaller) Types. For example an Equipment Type called "Batch Tank" might be composed of several simpler Types such as Agitator, Heater, Inlet Valve and Outlet Valve. Composition can be nested to any arbitrary depth.