The domain dictionary defines a number of terms which emerge, directly or indirectly, from the description of the OBS design patterns. Domain dictionry entries are useful because they provide a vocabulary for describing applications in the OBS domain.
Domain dictionary terms can designate either abstractions that exist in many applications in the domain but take a different form in each or they can designate domain-invariant functionalities that share the same implemention in all applications in the domain. At architectural level, the domain dictionary abstractions are often mapped to abstract interfaces and the domain-invariant functionalities are often mapped to concrete components.
The domain dictionary entries are well-suited to describing an application in a non-formal manner. Formal description of an application is best done using the modelling techniques offered by the OBS Framework. In a typical scenario, the domain dictionary entries can be used to formulate the requirements baseline whereas more formal modelling techniques are used to define the application software requirements.
For each entry, the domain dictionary provides the following information:
- The name of the dictionary entry
- The definition of the dictionary entry
- The design pattern where the dictionary entry is introduced (only for entries that are directly associated to a design pattern)
In most cases, the OBS Framework offers syntactical constructs that directly support the implementation of a domain dictionary entry. These can be found by navigating from the domain dictionary entry to the design pattern that gives rise to it and then checking the "Framework Mapping" section of the design pattern description.
This pointer gives access to the OBS domain dictionary.