All the
main domain concepts were de?¬?ned as subclasses of an abstract Node element to
follow the structure of the CPL speci?¬?cation. The object types, however, were de?¬?ned
incrementally, and thus the metamodel shows only the ?¬?nal result.
Model of Computation In addition to the domain concepts presented above, the
?¬‚ow model needed additional modeling concepts. A root node was added to the
language to specify a starting point for the call processing service. This modeling
concept did not have any properties but just marked the initiation of the call session??”
making or receiving a call. Although it would be possible to identify the start of the
106 IP TELEPHONY AND CALL PROCESSING
FIGURE 5.4 Metamodel specifying the object types of the language
service from a concept in the model that had no incoming relationships, this policy
could easily lead to con?¬‚icts if a model is not complete. It was also considered easier to
understand the speci?¬?cations when there was a single starting point.
The start of a call processing service with the Root node was implemented in the
language with a Session Phase relationship from the Root node. This relationship was
further classi?¬?ed into incoming or outgoing calls. This information is important in
CPL for performing any necessary initialization, such as emptying the location set in
the server.
Pages:
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223