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.