Domain Specific Language

Every object in Avvyland is 'smart' – its appearance, properties, behavior, and logic are configurable via our Domain Specific Language (DSL), so they can be the subject of smart contracts.
TERM: Domain Specific Language (DSL) is a high-level declarative language. For convenience, DSL is implemented as a no-code visual programming language, where all logical elements are visualized as simple blocks. To program an object with the desired properties, the user selects the required functions and operators in the DSL's intuitive interface.
By arranging the programming blocks in DSL, the user creates rules for each object. These rules are called handlers.
TERM: Handler aka Smart contract is a rule applied to an object that programs its appearance, properties, behavior, and logic. Handlers can change a block's current state when other objects are changed.
Once configured in a certain way, a block can:
  • preliminarily approve or reject planned modification of other objects or objects in the scene
  • approve or reject other objects' placement into the Brane, depending on the position and properties of those objects
  • modify its own properties or those of other objects within the Brane's local time
  • generate other blocks and structures, generate or modify actions
Example: A user plants a flower object in a soil object, and there is also a water object in the Brane's inventory.
Then, the user sets a condition using DSL: – if water is added to the soil at least once a day or more frequently, the flower grows – otherwise, the flower wilts The condition is written in visualized operators that look like blocks. Once the condition is set, the flower behaves in accordance with the condition.
This configurability makes it possible to create games based on the Avvyland platform. In this way, all objects form an entire ecosystem inside the Avvyland universe.
NOTE: This functionality is currently in the developmental stage and will be added to the Avvyland system later.