navigation

d0SL: Delta Zero Semantic Language

d0SL is a next step generation of so called Business Rules Engines (BRE). Just like regular BRE’s d0SL allows you to implement business logic of your system by using declarative logical specifications language.

Main components of `d0SL`: 1. `d0SL` language itself 2. `d0VM` -- semantic virtual machine which executes _semantic models_ written in `d0SL` language 3. `d0SDK` -- an _IDE_ for creating semantic models, which also includes `d0SL` examples 4. _Domain models_ (or so called _drivers_) which serve to link the semntic models with external systems, and allow you to define logical rules, using terms of the subject area.

There are several important advantages over traditional BRE:

  1. d0SL has very simple purely logical syntax, which does not require any programming skills from users who use it to specify business logic. Everyone who has basic understanding of logic can start using it in a matter of several hours unlike other BREs, which require significant investment of time to learn and special programming skills to understand and write business rules.

  2. d0SL scales from embedded systems to enterprise level. Its footprint is very lightweight and can be deployed even on embedded systems like Raspberry PI. On the other hand, d0SL can be used on enterprise level (we have carrier grade version of d0SL called Eyeline SDP, which is used by several mobile telcos, banks etc).

  3. d0SL has very clear intuitive semantics for non programmers, because d0SL is based on a pure Delta 0 subset of first order predicate logic and has mathematically proven semantics. Unlike d0SL other BREs have non clear semantics which makes them much more difficult to use.

  4. d0SL allows to create DSLs (domain specific languages) which can be used to create business rules not only by your employees, but also by your end users.

  5. d0SL provides IDE out of the box, which simplifies creation of logical rules. We supply this in a form of d0SL plugin for JetBrains MPS. This simplifies the creation of semantic logical models because this plugin helps the user to create syntactically correct semantic models.

  6. d0SL allows easy integration with your existing software by implementing integration drivers (so called domain models).

  7. d0SL allows to implement one set of logical rules on top of the other sets of logical rules (a set of logical rules is called semantic model). In turn this allows to increase level of abstraction as much as you need. And this is important for you to create a Domain Specific Language for your users/employees which is easy to learn and easy to use.

We like the word `d0SL` and we will use it both for the language and for the system as a whole, or even for the components mentioned above. The meaning should be clear from the context , for example, `d0SL` language, `d0SL` virtual machine etc.
You can think of `d0SL` as a logical operating system which can execute _semantic models_ written in `d0SL` language. As any OS `d0SL` needs _drivers_ to communicate with an environment: such drivers in `d0SL` are called **domain models**. Another similar analogy is the JDBC drivers, which connect to the database.
How `d0SL` can save humanity from robots rebellion?