Adding a start state to a state transition diagram would create an illegal
model since a start state needs to be connected to some other state, making it the initial
state. In contrast, maximum connectivity, checking that there is no more than one
transition from a start state, is good to put in the metamodel: it ensures correctness
without interfering with the normal ?¬‚ow of modeling.
Checking and Informing About the Rules Rules can either be strictly
enforced in the metamodel or shown as warnings by a separate model check. Placing
rules in the metamodel is usually the better choice since it keeps speci?¬?cations legal at
all times. The worst option is to check the rules just before code generation since then
there is no support during the actual modeling.
Depending on the tool, the results of rule checking can be visualized in different
ways. Ideally, the best way is to give immediate feedback after modeling creation
tasks. This necessitates that a model, and with some rules all models, need to be
checked after each model manipulation task. In practice, this only makes sense for
certain model manipulation tasks, such as creating a relationship or changing a
property value. If immediate feedback is not possible, then model checking can be
done as a separate process, typically when the modeler decides to do so or when a code
generator is executed.
Pages:
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458