2021 September Release

What is a DSL?Permanent link for this heading

Developing use case-oriented software solutions requires managing different aspects and elements such as data structures, user interface design, the implementation of methods and business rules.

In order to account for this concept in an optimal manner, Fabasoft app.ducx is comprised of several declarative modeling languages, each designed for covering a particular aspect of solution development. For example, Fabasoft app.ducx includes a modeling language that has been designed explicitly for the definition of an object model. In addition to this, Fabasoft app.ducx includes languages for defining resources, a user interface model, an implementation model, a process model, and an organizational structure model.

These modeling languages are referred to as domain-specific languages (DSLs), where each DSL was designed for addressing a certain aspect of use case-oriented software development. The modular concept makes Fabasoft app.ducx easily extensible as new DSLs can be added on demand for addressing additional aspects without affecting existing projects.

Currently, Fabasoft app.ducx is comprised of eight distinct DSLs:

  • app.ducx Object Model Language
  • app.ducx Resource Language
  • app.ducx Use Case Language
  • app.ducx Business Process Language
  • app.ducx User Interface Language
  • app.ducx Organizational Structure Language
  • app.ducx Customization Language
  • app.ducx Expression Language

Each of these DSLs is covered in detail in its own chapter (except for the app.ducx Customization Language, which is beyond the scope of this book).