7.5). If in most cases
the same structure will be in a model, but there may be some variation, it is better
to assume the default and only use the structure where the model should
behave differently. The norm for InvalidInput and Timeout is to return to the
previous VoiceOutput after saying a simple message, so that should be taken as
the default if these relationships are not speci?¬?ed. This would make the models
faster to build, smaller, and easier to read, at no expense in terms of expressive
power.
Another dif?¬?culty is specifying a watertight constraint for the False relationships
leaving If objects. Most objects simply have one From role leaving them, but If can
have two, one for True and one for False. Constraining to two From roles does not
solve the problem: they could both be either True or False.We can constrain If to have
only one True relationship, but the case of False is harder.
If we say an If can be in only one False relationship, we also exclude the possibility
of an If followed by an If: the second If takes part in two False relationships, one
incoming and one outgoing. The simplest solution would be to make the leaving role
for the True case different by creating a new role type, for example, JumpFrom. This
would allow us to specify that each If can be in at most one JumpFrom role (for True),
and at most one From role (for False).
Pages:
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288