ADL and TQL
The Atomic Domain Languages (ADLs) are a type of general purpose, declarative programming languages designed to be “atomic” in nature. They are
(1) constructed bottom up from each irreducible (atomic) sub-domains
(2) capable of automatic code composition across sub-domains and domains
(3) performs abstraction from the lowest level to the highest level in any domain
(4) declarative in nature
(5) extensible by developers
ADLs include:
- Naming Language
- Model Definition Language (MDL)
- Workflow Definition Language (WDL)
- FacetScript Language
- Sequence Language
- Topic Language
- Behavior Definition Language (BDL)
The Thing Query Language (TQL) is a selection or subset of ADLs which are specified and extended for the domain of the Internet of Things (IoT). TQL includes two categories of languages: Thing Definition Language (TDL) and Thing Interaction Language (TIL).
Thing Definition Language is a group of ADLs used to define the states and behaviors of things (e.g. sensors, actuators, devices, machines), as well as the related domain and business entities used in applications related to things (e.g. farms, factories, vendors, workers). It uses:
- Naming Language
- Model Definition Language
- Workflow Definition Language
- FacetScript Language
- Sequence Language
Thing Interaction Language is a group of ADLs used to interact with things, such as reading, updating, controlling, or subscribing to things, as well as with the related domain and business entities used in applications related to things. It uses:
- Query Language
- Topic Language