Such
components may already exist from earlier development efforts and products.
The role of domain frameworks is discussed in Section 4.5.
The generated code is not executed alone but rather together with additional code
in some target environment. This target comes with platform code??”the code that is
already available with the target. This is used regardless of how the implementation is
done, manually or using generators. The developed product can use a selected part of
a larger platform (e.g., J2EE), a whole platform (e.g., a call processing server or
FIGURE 4.1 Basic architecture of DSM
64 ARCHITECTURE OF DSM
microcontroller library), or a number of platforms. For example, in Chapter 8, the
DSM solution operates on top of a Python library that is written to work using an S60
mobile phone UI platform, which is again made based on the services of Symbian
operating systems.
4.1.1 Dividing the Automation Work
At this point, we should emphasize that there is no single way to divide the automation
work between a language, a generator, and a domain framework. It depends on the case.
Figure 4.2 illustrates some alternative allocations. In Part III, where we describe
the DSMexamples, we show examples using different kinds of work allocation within
the architecture.
The domain framework can be very thin, or even nonexistent, and then most
abstraction work is done with the modeling language (case a).
Pages:
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142