The difference between ???!CPL??? and ???CPL script??? is minimal as the only
difference is how the generated result is shown: saved into a ?¬?le in a default directory
or shown in the generator output editor. Therefore, these two generators use the same
generator modules.
After having de?¬?ned the document settings (XML header), the generator looks for
subactions to be generated. This was needed because CPL expects all subactions to be
de?¬?ned in the beginning of the service speci?¬?cation. This is followed by choosing the
domain concepts to be generated: the ???_check object type??? module chooses the
domain concept found in the call processing speci?¬?cation and runs the right domainrelated
generator module (inside the gray box in Fig. 5.9).
FIGURE 5.9 Structure of the CPL generator
114 IP TELEPHONY AND CALL PROCESSING
So each concept had its own generator module. As some concepts resembled each
other (e.g., all switches), a single generator module could serve more than one
concept. This was mainly done because the generated outcome looked the same for all
modules. Generator modules named after domain concepts then called other
generator modules??”mostly those applied to navigate further in the speci?¬?cation,
such as the generators ???_next object??? and ???_next node.??? Embodying common
behavior, they were thus de?¬?ned to be reusable.
Pages:
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234