As many services have common
functionality, these could be treated as reusable services to be called by other actions.
These subactions were de?¬?ned in the language by enabling an action to decompose
into another model treated as a submodel. As the subaction could be de?¬?ned using the
same language concepts as the main CPL de?¬?nition, there was no need to have a
separate language for the subactions. In the metamodel, this was achieved by de?¬?ning
decomposition from a Subaction concept to the Call Processing graph. This language
structure also supports reuse well as any Call Processing speci?¬?cation can be used as a
subaction elsewhere. Figure 5.5 illustrates possible subaction calls: A design model
becomes a subaction when it is called by a subaction in another model. This choice
in?¬‚uenced the generator very little: the root element specifying the initiation of the
call processing service was just ignored during generation. The model was the same
independent of its use as a subaction or main action.
The choice of whether the subaction should be moved to the main speci?¬?cation
model or kept in its own separate model depends on the modeling process: if changes
in a subaction need to be propagated to all speci?¬?cations using it, the subaction should
be kept in its own model. This capability to support reuse was thought to be a useful
solution for service providers and server administrators.
Pages:
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225