One of the main principles underlying the model-building activity is `dependency'. A dependency is a relationship [that is always maintained] between one or more things (artefacts, objects, ideas, etc). A common analogy is with mechanical systems, where one component directly affects another component (the dependency). There is no state where one component is out-of-sync with a related component. In a system of mechanical gears, if gear A is connected to gear B, then rotating gear A will cause a relative rotation in gear B. Therefore, the position of gear B is dependent on the position of gear A.
The tkeden environment enables the modeller to describe a dependency relation, which the tool will ensure is maintained at all times. In the previous example, the relationship could be described as:
gear_B_rotation is 2 * gear_A_rotation;
This would model the situation where gear A has twice as many teeth as gear B (a ratio of 2:1). A quarter turn in gear A would result in a half turn in gear B. The dependency maintainer in the tkeden environment provides the indivisible communication of change such that the model is never in a state where gear A has changed and gear B has not been updated. The strong connection will exist until the dependency relationship is broken (i.e. the dependency is removed).
The guarantee of the dependency maintainer allows the modeller to assume that the objects of a relationship will never get into an inconsistent state. As the model develops, the number of dependencies is likely to increase leading to an ever complex state-space. However, the environment is maintaining the consistency of all the related observables and taking this responsibility off the modeller. Hence the modeller is free to concentrate on the actual model-building. If a third gear is added to the mechanical system above, which is also connected to gear A, then one new dependency can be added to the system: gear_C_rotation is 0.5 * gear_A_rotation;. As it is gear A that causes a change in the new gear C, one may assume that it is gear A that requires modification, but there has been no change to gear A. The only change to the system is the addition of a new dependency. Large systems of dependencies can be built up from simple relationships, with the benefit to the modeller that the consistency is always maintained.
No comments:
Post a Comment