Atlas IoT-DDL Builder Tool (v1.0)

Configure your Atlas Thing, Resources, and Services using the IoT-DDL description language


The IoT-DDL configuration file is divided into segments, click on each segment below to learn more about the different configurations for your thing!



Thing Information


once you describe your thing, use the following dialogs to describe where you deploy your thing


Smart Space Information

Lower Bound Upper Bound
Temperature
Humidity
Voltage

Network Module


use the following dialog for your thing, through our protocol translator, to communicate with other things that use different technologies, protocols, and modules


Inter-Operable Communication

Name Path
Root
Network MQTT Client
Network Private Broker
Multicast Thing Identity
Multicast Entity Identity
Multicast API
Unicast

use the following dialog to enable the remote management, using OMA-DM LwM2M protocol, for your thing


Device Management (DM)

Memory Units

Currently no entities are defined for your thing

Add an Entity
Interactions Repository
Protocol Translator
Collected Data Repository (Logserver)
Online Vendor Documentation

What is an IoT-DDL?

IoT-DDL is an XML-based human- and machine-readable configuration scheme to describe a thing in IoT in terms of inner components, identity, capabilities, resources, attachments and services. The IoT-DDL also describes the knowledge (social bonds and relationships) injected or acquired by the thing, as well as the different interactions that engage the thing with cloud platforms, edges, users (e.g., end-user, developer) and space-mates (nearby things or remote ones).




What is a thing? and Why do you need to develop an IoT-DDL for your thing?

A thing in an IoT ecosystem, as illustrated in the figure below, is a composition of a set of resources, entities, services, and attachments that work together to provide various interactions and are defined through a set of attributes and properties that influence essential internal services. A thing’s resources describe the shared components that a thing requires to be part of the IoT (e.g., network module, memory unit). A thing’s entities define the different hardware and software components that allow a smart space and its things to interact with it. These individual interactions are represented as services, functions with well-defined interfaces (APIs) that can be utilized by users or other things. A thing may also offer additional interactions through external attachments, or cloud-based resources that offer additional services (e.g., log server, database, dashboard). Such configuration schemes are created by the thing vendor or owner and this then gets uploaded to the thing to enable the thing to self-discover its own power and engage with the surrounding IoT ecosystem.




What are the steps of building such IoT-DDL?

Five steps to build an Atlas_IoT-DDL.xml for your thing to be an Atlas thing

Step1:
Under the "Descriptive Metadata" section, you can provide general information regarding your thing (e.g., name, description, vendor) along with information about the smart space that will accommodate your new smart thing (e.g., Living room, Bedroom). Through this section, you can also provide the environmental/physical constraints your thing may need from the smart space for a safe operation (e.g., the minimum and maximum temperature of the smart space to accommodate your thing.


Step2:
Under the "Structural and Administrative Metadata" section, you can provide information regarding the network module (e.g., wifi, bluetooth) along with the communication protocol (e.g., REST HTTP) that will allow your smart thing will use to communicate with other things. Through this section, you can also provide information about the device management you would like to use to monitor your thing remotely and the different interoperability settings for your thing to communicate with other smart things that use different communication languages.


Step3:
Under the "Entity, Services, and Relationships" section, you can define the different individual entities within your thing, along with the different services, unbounded services (virtual services), and relationships.

What is difference between an entity and a thing?

What is difference between a service offered by an entity, and a relationship?



Step4:
Under the "Attachments" section, you can define the external attachments, or cloud-based resources that offer additional services (e.g., log server, database, dashboard) to your smart thing.


Step5:
After you finish providing informaiton about your thing, the last step is to generate the IoT-DDL file. Click on the "Generate" blue button placed at the bottom of the page, this will guide you to another dialog box to confirm the download.
Generate

Entity information



Services

Currently no services are defined under this entity

Add a Service


Unbounded Services

Currently no unbounded services are defined under this entity

Add an Unbounded Service


Relationships

Currently no relationships are defined under this entity

Add a Relationship

Service information


A constraint represents a precondition to the behavior of the service to avoid harmful use of the service and to avoid introducing unsafe state for the smart space

use the following dialog to place the different contextual and temporal constraint on this service


Contextual Constraints

Temporal Constraints

Start Time End Time
Working
Callable

use the following dialog to build the functionality of this service in terms of defining the required inputs, expected output, and developing the C/C++-based code from ready available APIs


Service Inputs

Name Type
This Service takes no input ("void"). Click the plus to define an input.

Service Output

Functionality

you can also use the general platform-free APIs below to develop your code
Add this API to your code

Unbounded service information

Matching Parameters

Relationship information

Behavior