How IoTWare Works?

IoTWare is a communication mechanism for IoT devices based on open standards. IoTWare aims to bring together different areas of interactions, IoT devices and systems that have no synergy between them. IoTWare’s large integration capacity makes it easy to add new systems to closed systems and to turn them into neighbors.

Life Cycle

  • The development life cycle defined by IoTWare provides a common infrastructure to close open issues in IoT systems and produce answers. This cycle, which consists of Design-Development-Engineering-Commissioning-Operation-Optimization steps, is designed to meet the needs of the systems, and defines the tasks of different roles and the functioning of the system.
  • During the design phase, the domain engineer designs the concepts and relationships of the system. 
  • During the development phase, the software engineer carries out the development and implementation activities.
  • During the engineering phase, the system engineer evaluates and assembles the structural design in their hand according to the needs and ensures the transition from general structure to a specific structure. 
  • During the commissioning phase, the deployment technician completes the sensors’ setup and establishes the sensor-software relationship.
  • During operation, the system owner/operator is ready to use the system.
  • All stakeholders are concerned with optimization outcomes.
  • IoTWare is a toolkit that can automatically produce IoT systems, it operates as a platform that performs all life cycle steps and targets all stakeholders.
  • IoTWare speeds up the development phase, minimizes software engineering and allows you to use your time for creative stages.
  • IoTWare can have different domain models, it does not target a single IoT domain. Ex. Smart Building, Industry 4.0.

Domain Model

  • Physical entities in the IoTWare domain model represent the devices used (such as sensors and actuators), while virtual entities represent realizations that do not correspond to a physical entity, but produce additional functions with the outputs obtained by processing the outputs of physical entities or other virtual entities. For example, an algorithm that collects information from sensors and makes decisions by processing this information is a virtual entity.
  • Basic indicators such as temperature and humidity are defined for data types. 
  • Data Point Type represents entities in IoTWare platform in terms of one or more Feature Types. It can either provide or require feature type. 
  • Feature type is used to express a function of entities in the IoTWare platform. It represents capabilities in the system. (E.g. The ability to generate temperature information or measure wind speed.)
  • The domain engineer is concerned with the data type, feature type and data point type sections seen in the domain model. They design the types of data and decide which entities are going to be used in the system. 
  • Service type represents the data type and feature type in the code. Accordingly, a code framework is produced, and the software engineer fills this framework by implementing data point types.
  • Service, is an instance of service type that communicates with a particular physical entity in the system, making the capabilities of this entity accessible on the IoTWare platform or realize virtual entities.
  • The system model is determined by sensors and actuators that the system engineer decides to use. IoTWare knows the type of service that corresponds to the sensors, because relationships are established beforehand in the system model, and automatically generates the code of the service types corresponding to the physical sensors when producing the system. After this stage, the fusion code is created, and services apply virtual entities or communicate with physical entities. 

Data Type

Data types in the system can be divided into primitive and complex data types. A quantity with a single unit of measurement, such as temperature, is classified as a primitive data type. Information with multiple units of measurement, such as coordinates, measured with degrees, minutes, and seconds, is classified as a complex data type.

Feature Type

Feature type describes a functionality of an entity. Major components of a Feature Type include an exposed value of type Data Type, parameters of type Data Types, and context of the functionality in building automation domain. Example: wind speed measuring feature.

Data Point Type

Formally describes an entity in terms of features it provides or requires. Contains dependencies to other Data Point Types, its context within building automation domain and other required information.

Service Type

An item based on Data Point Type and composed of implementation and parameter values. It can be compiled to communicate with a Physical Entity or realize a Virtual Entity.


System is a model containing the entities to be used to meet the system requirements coming from the customer, the service definitions (created with the parameter values assigned to the parameters of the service types) that will communicate with the entities and the relations between the services. In the system phase, the interrelations of the devices are established. Heterogeneity in sensors is translated into a common language.