The locations were also speci?¬?ed as their own concepts because their connections
and rules are different. Subtyping a single location concept, for example, with a
property type having different location types as values would not make sense. In this
respect, language de?¬?nition followed the choices already made with switches. The
main exception between these choices was that the metamodel did not allowsuch rich
possibilities for choices. For example, Location lookup has the possibility to de?¬?ne
three alternative choices, whereas switches allow only two (default and otherwise).
Another difference is that lookup, can not be followed by another lookup, whereas
switches can be next to one another in the call processing path.
Nonsignaling Actions To record actions that were taken, a server can send mail
to the user or log information about the call. In the language, both were de?¬?ned as their
own modeling objects since they had different properties: The Mail concept in the
language was de?¬?ned to include a ???mailto??? URL property, whereas the Log concept
contained information about the log name and its more detailed description.
During language creation, the concepts acting as modeling objects were formalized
into a metamodel. The metamodel in Fig. 5.4 illustrates the de?¬?nition of the object
types of the language in the metamodeling language described in Appendix A.
Pages:
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222