liveBook · Manning

Business knowledge

As explained in Building User-Friendly DSLs

Business knowledge is domain-specific information about rules, processes, and requirements relevant to an organization or application.

Business knowledge is domain-specific information about rules, processes, and requirements. In a car-rental system, it determines price from rental period, car type, contract type, holidays, mileage, and campaigns. section 1.1

It commonly appears as business logic: conditions trigger consequences, rules interact to calculate price components, and developers implement the resulting specification. section 1.1

Typical car-rental rules include:

  • Apply a 10% surcharge when the rental period contains a national holiday. section 1.1
  • Apply a 5% discount to the per-day rate when the rental exceeds a whole week. section 1.1
  • Apply an additional $10-per-day environmental fee when the car is a genuine gas guzzler. section 1.1

A DSL-based approach represents this knowledge as precise, machine-processable content that domain experts can write and maintain. A generator stores the content, checks it, and produces code for the Runtime. section 1.2.2 section 1.3.3 section 1.2

Table 1.1 Natural language expressing car rental business knowledge
If the rental period contains a national holiday, then a surcharge rate of 10% is applied to the rental price for that holiday.
If the length of the rental period exceeds a whole week, then a discount rate of 5% is applied to the per-day rate.
If the car is a genuine gas guzzler, then an additional environmental fee of $10/day is applied.

Inspect representative natural-language rules for car-rental pricing. section 1.1

How Building User-Friendly DSLs covers it

How deep it goes
Explains conditional rules, interacting price components, DSL representation, machine checking, storage, and code generation without detailing generator implementation.
Examples
Uses car-rental pricing rules for holidays, rental length, vehicle type, contract type, mileage, and environmental fees.
What it assumes
Assumes familiarity with an organization’s domain rules while moving from natural-language documents toward structured, machine-processable specifications.
What you can do after
Apply business knowledge through a Domain IDE as precise DSL content that can be checked, tested, reused, and transformed into working software.
How it connects
Connects business rules with natural-language specifications, domain-specific languages, Domain IDEs, code generation, and Runtime software.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Building User-Friendly DSLs. The section links point to the parts of the book it draws on.