All for one, one for all!
-- Alexandre Dumas, The Three Musketeers
, our framework for effective MRM. The viability of an MRE rests on three key assumptions: (i) the presence of mapping functions that translate attributes from one representation to another, (ii) the presence of policies to resolve the effects of dependent concurrent interactions and (iii) compatible time-steps. Similar assumptions are not sufficient to make alternative approaches viable for effective MRM because the approaches continue to violate R1, R2 and R3. We believe that our assumptions are reasonable because without them the semantics of multi-models are not clear, and
MRM approach can be effective.
Our thesis is that MRM can be effective. Effective MRM can be achieved by maintaining consistency among concurrent representations. Traditional approaches to MRM, such as aggregation-disaggregation and selective viewing, violate R1 because they simulate only one model at any given time. Typically, attributes in the representation of the simulated model are updated as a result of interactions, but attributes in representations of other models are ghosted , i.e., updated only in response to updates in the simulated model. Ghosting violates R1 because it constrains the kinds of interactions among entities within models by disallowing interactions with non-simulated models. Entities must be capable of interacting at multiple levels (R1), and must be represented at all levels at which they interact (FO-1). Therefore, for effective joint execution of multiple models, the representation of each model must exist at all times. We call representations that exist at all times and permit interactions at all levels concurrent representations. Maintaining concurrent representations means preserving the representations, as opposed to discarding or ghosting them. MREs are our technique for maintaining concurrent representations.
-- consistency among concurrent representations -- within an MRE when concurrent multi-representation interactions occur is a key challenge in
. For concurrent representations to be consistent with one another, changes to one representation must propagate to the other representations. We assume the presence of appropriate mapping functions to translate changes from one representation to another. The effects of concurrent multi-representation interactions must be resolved and applied to the representations. We assume that a designer can construct policies to resolve the intertwined semantics of such interactions. Lastly, we assume that the time-steps at which multiple models execute are compatible. Provided a designer can satisfy these assumptions, we show how to maintain internal consistency within an MRE.
In §5.1, we describe MREs. In §5.2, we present challenges with MREs. In §5.3, we discuss why our assumptions are necessary and sufficient for
, but insufficient for other MRM approaches. In §5.4, we describe the execution of an MRE broadly, deferring detailed descriptions to Chapters 6 and 7. In §5.5 and §5.6, we present the benefits and limitations of MREs. We summarise in §5.7 with a table that compares MRM approaches.
A Multiple Representation Entity maintains concurrent representations. The representation of each model in a multi-model exists within an MRE at all times. Consider a multi-model, ModelM , consisting of two models, ModelA and ModelB (Figure 18). RepM is an MRE. RepM ( ti ) is the state of ModelM at time ti , i.e., it is a meaningful assignment of values to each attribute in RepA and RepB at time ti . RepSeqM is a sequence of states for ModelM .
Figure 18 shows an MRE for the representations of ModelA and ModelB . Recall from §3.1 that the representation of an entity is a subset of the complete representation of a model. An MRE may maintain a subset of RepA and RepB to describe one object or process present in both models. For example, in Figure 19, P is an entity that describes an object in ModelA and T1-4 are entities that describe the same object in ModelB . E1 is an MRE consisting of the representations of P and T1-4, thus describing the same object at multiple representation levels.
Each MRE either maintains or efficiently furnishes the state at all desired representation levels. Moreover, an MRE permits interactions at all representation levels at all times. By definition, an MRE satisfies R1. An entity in either model interacts with another entity at a representation level common to both. Let the representation levels for ModelA and ModelB be LevelA and LevelB respectively. Let E2 be a LevelA entity and E3 be a LevelB entity (see Figure 19). E2 and E1 interact at LevelA , which means that E2 and P interact. Likewise, E3 and E1 interact at LevelB , which means that E3 and T1-4 interact. MREs disallow cross-level interactions (see §4.1.6). For example, E2 cannot interact directly with T1-4. Likewise, E3 cannot interact directly with P.
The challenge with MREs is maintaining consistency among representations when concurrent interactions occur (R2). This challenge can be divided into three issues:
The representations of jointly-executing models must be consistent at all observation times. In Figure 19, for E1 to be internally consistent, any change to the representation of P must affect the representations of T1-4 as well and
An MRE must remain consistent at all observed times even when concurrent interactions occur. In Figure 19, if E2 and E3 interact with E1 concurrently, the representations of P and T1-4 may change concurrently. It may be extremely difficult to reconcile these concurrent changes when they propagate to the other representation level. For example, an interaction between E2 and E1 (or P) may preclude an interaction between E3 and E1 (or T1-4). As another example, the effects of interactions between E2 and E1 (or P) and between E3 and E1 (or T1-4) may be enhanced when the interactions occur concurrently. In both these cases, the naïve solution of "adding up" the effects of these interactions is incorrect because the interactions are dependent on one another.
Temporal inconsistency caused by time-step differentials must be eliminated. If the time-steps for ModelA and ModelB in Figure 19 are different, it becomes difficult to determine whether two interactions at different representation levels are concurrent or not. Consequently, the effects of these interactions are hard to resolve. While equal and in-phase time-steps may eliminate temporal inconsistency, requiring that all jointly-executing models progress at equal time-step durations is overly restrictive. Accordingly, we assume that the time-steps of multiple models are compatible , not necessarily equal .
We made three assumptions in order to overcome the challenge of consistency maintenance among concurrent representations: (i) the presence of mapping functions, (ii) the presence of policies for concurrent interactions and (iii) the presence of compatible time-steps. As we show in §5.4, these assumptions are necessary and sufficient to maintain consistency within an MRE when concurrent interactions occur. We make two arguments for the reasonableness of these assumptions.
First, without any of these assumptions, the semantics of multi-models are not evident. These assumptions require designers to incorporate application-specific knowledge into the joint execution of multiple models. Alternative approaches to MRM make similar assumptions. For instance, selective viewing requires mapping functions to translate attributes from one representation to another. These mapping functions are invoked only once -- when constructing the representation for the most detailed level. Likewise, aggregation-disaggregation requires mapping functions to translate attributes from one representation to another during aggregation and disaggregation. Concurrent interactions may be dependent whether they are at the same or different representation levels. Therefore, selective viewing and aggregation-disaggregation require policies for resolving the effects of dependent concurrent interactions. In selective viewing, since only the most detailed model is executed at all times, time-steps are trivially compatible. Similarly, in aggregation-disaggregation, only one model is executed at all times. Therefore, at any instant, time-steps are trivially compatible.
Second, alternative approaches cannot guarantee effective MRM despite making similar assumptions. For effective MRM, an approach must satisfy the requirements of multi-representation interaction (R1), multi-representation consistency (R2) and cost-effectiveness (R3). Despite making assumptions about the presence of mapping functions, policies for resolving effects of interactions and compatible time-steps, selective viewing and aggregation-disaggregation cannot guarantee effective MRM. Since selective viewing and aggregation-disaggregation execute only one model at a time, they disallow multi-representation interactions, thus violating R1. Selective viewing satisfies R2 trivially because consistency must be maintained within the representation of only one model. Aggregation-disaggregation can violate R2 because of mapping inconsistencies among the representations of multiple models. In aggregation-disaggregation, when one model is executed, attributes in the representations of other models are lost or ghosted. If the attributes are lost, then transitioning representation levels may cause discontinuities in the values of attributes even if mapping functions exist. Finally, selective viewing and aggregation-disaggregation result in high costs. Since selective viewing involves simulating the most detailed model at all times, simulation cost is expectedly high. Aggregation-disaggregation reduces simulation costs by transitioning to a low-detail model whenever possible. However, aggregation-disaggregation incurs high consistency cost. The high costs in either case violate R3.
Table 2 summarises the assumptions made by various MRM approaches.
An MRE permits concurrent interactions at multiple representation levels and maintains consistency among the multiple representations. Execution of the MRE entails applying the effects of any interaction consistently to attributes at all levels of the MRE. Therefore, during each time-step, the effects of interactions at multiple representation levels must be resolved and applied to the concurrent representations in an MRE. Recalling our definitions from Chapter 3 and §5.1:
A Consistency Enforcer and an Interaction Resolver are responsible for maintaining consistency among concurrent representations (Figure 20). An Interaction Resolver (IR) for an MRE is a module that determines E ( IntA ( ti ) • IntB ( ti )), ∀ ti ∈ TM , i.e., it resolves the effects of concurrent interactions. A Consistency Enforcer (CE) for an MRE is a module that generates RepM ( ti +1), ∀ ti ∈ TM , i.e., it maps the effects of interactions from one level to another. For example, if E1 receives concurrent interactions from E2 and E3, the IR resolves their effects. The resolved interactions may change the representation of P or T1-4 or both subsequently. When an interaction changes attributes in one representation, the CE changes related attributes in the other representation appropriately. Subsequently, if E2 and E3 view E1 concurrently, they receive consistent views of E1 from the representations of P and T1-4. A CE and an IR have application-specific and application-independent components; in our work, we present the latter.
A CE maintains internal consistency in an MRE. In effect, a CE ensures that an MRE exhibits temporal consistency and mapping consistency. In the following sub-sections, we show how an MRE exhibits consistency.
An MRE exhibits temporal consistency if the changes caused by interactions are applied consistently to all representation levels. If the multiple representations within an MRE are mutually consistent, the MRE is temporally consistent. Entities viewing a temporally consistent MRE at overlapping times receive consistent views of the MRE.
For a valid and consistent model, ∀ ti ∈ TM , RelM ( ti ) must hold. Let there be a relationship r ∈ RelM ( ti ) such that r : P ( ti ) → Q ( ti ), where P ( ti ), Q ( ti ) ⊆ Rep ( ti ). Let an interaction IntM ( ti ) k occur. Suppose P ( ti ) ⊆ attributes in IntM ( ti ) k.affects ∗ and Δ P ( ti ) ⊆ changes in IntM ( ti ) k.affects ∗ such that applying Δ P ( ti ) to P ( ti ) results in P ( ti +1). For r to hold, mapping functions must generate Δ Q ( ti ) such that applying Δ Q ( ti ) results in Q ( ti +1) eventually. Consequently, r holds at observation time ti +1, i.e., r ∈ RelM ( ti +1).
Mapping functions are necessary for translating the attributes in one representation to the attributes in another. Translating attributes means translating
changes in values
of attributes from one representation to another. For example, consider the T-joint in Figure 21. One model may represent the T-joint with attributes such as connectedness, position and orientation. Another model may represent it as a pair of boards and a nail, each with attributes such as position and orientation. A mapping function must translate the positions of the boards to the position of the T-joint. Likewise, another mapping function must perform the reverse translation -- from the position of the T-joint to the positions of the boards. Such mapping functions must take the values of some attributes and change them to the values of other attributes. Another pair of mapping functions must translate the orientation of the T-joint to the orientations of the boards and
An MRE exhibits mapping consistency if mapping functions are reversible (see §3.3.2). An interaction initiates translations caused by mapping functions. Sequences of interactions initiate repeated translations. Repeated translations must not cause discontinuities or "jumps" in concurrent representations (see §4.1.1). Reversible mapping functions ensure that repeated translations do not cause such discontinuities.
An MRE supports the design of reversible mapping functions. For the T-joint of Figure 21, let f translate the board positions to the T-joint position, and g translate the T-joint position to the board positions. Provided no interactions occur, if f translates the current values of the board positions to a value for the T-joint position, then g translates the value of the T-joint position to new values for the board positions, the new and previous values for the board positions must be within tolerable error. If either function could have generated a number of possible values for the resultant attributes, the previous values of the resultant attributes may be taken into account in order to generate the new values. For example, if the T-joint is rotated by 180o, invoking f on the values of the board positions may result in the original T-joint position. Subsequently, invoking g may result in board positions corresponding to no rotation, thus resulting in an intolerable change to the board positions. In contrast, if g took the orientation attribute or the previous values for the board positions into account, then the new positions would correspond correctly to the rotated T-joint position. Irrespective of the details, f and g must be reversible for the MRE to exhibit mapping consistency.
Dependent concurrent interactions may occur because an approach satisfies R1. An MRE permits concurrent interactions at multiple representation levels. Entities at any representation level may initiate and receive interactions that change the appropriate representation. If entities at different representation levels interact, the effects of concurrent interactions at multiple levels must be resolved, i.e., the effects of these interactions must be applied to all levels consistently (FO-2). However, concurrent interactions may be dependent (FO-3). The effects of dependent concurrent interactions must be resolved in a meaningful manner, i.e., in a manner consistent with requirements.
An IR is responsible for resolving the effects of concurrent interactions in an MRE. We assume that designers understand the semantics of interactions in their applications well enough to classify them and specify policies for resolving their dependent effects. Without such an understanding, arbitrary policies such as serialization must be chosen to resolve the effects of interactions. Arbitrary policies often fail to resolve the effects of dependent concurrent interactions meaningfully. In Chapter 7, we show how designers can construct an IR for an MRE.
Since an MRE incorporates concurrent representations, it makes a high demand on resources such as memory to store representations. Although conceptually it is straightforward to think of MREs as using memory for each representation, memory may be conserved by storing a small set of attributes at all times and generating other attributes on demand. In Figure 22, the MRE stores a set of attributes at all times from which it can generate all attributes at all desired levels in a timely manner on demand. This set of attributes, the core set or core , may be updated on every interaction to keep the MRE internally consistent. Attributes in the core must be chosen such that they are sufficient for generating all the attributes in the MRE. The core set must be stored at all times in the simulation, but the other attributes may be discarded when they are no longer necessary.
For some applications, a core set of attributes that is smaller than the set of all attributes at all representations can exist. For example, if a molecular and atomic model of a compound execute jointly, the position and orientation attributes in the molecular model may determine the position attributes in the atomic model uniquely and
Reversibility: For many attributes, it is important that reversible mapping functions translate the values at one level to the values at another level. However, in many cases reversible mapping functions may be hard to find or encode. In such cases, when the attributes require reversibility but reversible mapping functions cannot be found, the attributes must be included at all representation levels in the core. Consider an application for which the position attribute requires reversibility but reversible mapping functions cannot be found. The position of the aggregate may be computed by averaging the position of the disaggregate entities. Likewise, a doctrine or template may be applied to the aggregate position to determine disaggregate positions. However, these translations are relevant only when the entities are not perturbed by other interactions. If the positions of the disaggregate entities change by small amounts because of disaggregate-level interactions, then it is not possible to generate those new positions from the aggregate position. Since perfectly reversible mapping functions cannot be found, the position attributes at both levels must be stored in the core.
Decreasing validity with time: Another criterion is whether the attribute's validity decreases or not with time. The attribute could be stored in the core when it is useful and when its validity goes below a threshold it could be removed from the core.
Cost ratio: Cost ratio is the ratio of the cost of maintaining the attribute to the cost of generating it. If the cost of maintaining the attribute is measured by the amount of memory it consumes and the cost of generating it is measured by the time it takes to generate it, then this criterion reduces to a space-time trade-off. If the cost of maintaining the attribute is measured by the amount of time required to change its value, the comparison lies between the time to effect a change and the time to generate the attribute. Whether the attribute should be stored in the core or not depends on the cost ratio being larger than, smaller than or equal to one.
Are MREs a variant of aggregation-disaggregation? During aggregation, mapping functions translate disaggregate attributes to aggregate attributes. During disaggregation, the translation occurs in reverse, i.e., mapping functions translate aggregate attributes to disaggregate attributes. Similar translations occur in an MRE. The translation during aggregation loses information that must be re-generated during disaggregation. This re-generation is a common source of mapping inconsistency. The question is whether the translations in an MRE can cause mapping inconsistency similarly.
MREs maintain attributes at all representation levels at all times. In aggregation-disaggregation, attributes are either discarded or ghosted after a translation. In an MRE, attributes at all levels are retained after a translation. Consequently, mapping functions can utilise previous values of attributes in order to generate new values, thus avoiding mapping inconsistency. Moreover, an MRE permits interactions at all representation levels at all times, and incurs lower consistency costs than aggregation-disaggregation.
Are MREs a variant of selective viewing? In selective viewing, only the most detailed model is executed at all times. Attributes in the multiple representations within an MRE may be construed as the attributes in the representation of the detailed model in selective viewing. The question is whether an MRE is a modular variant of selective viewing.
An MRE does not incur unnecessary simulation costs. For example, suppose a platoon model executes jointly with a model of its constituent tanks. In selective viewing, only the tank model executes. Platoon-level interactions must be translated to possibly many tank-level interactions, each possibly changing the representations of the corresponding tanks. In an MRE, platoon-level interactions change the representation of the platoon. Changes to the platoon representation propagate to the tank representations. Therefore, as compared to selective viewing, an MRE incurs a lower simulation cost at the expense of a higher consistency cost. In addition, an MRE permits interactions at all representation levels at all times.
R1: Multi-representation Interaction
R2: Multi-representation Consistency
Consistent concurrent representations can eliminate or reduce many of the problems with other MRM approaches. In §5.4.1, we showed how MREs eliminate temporal and mapping inconsistencies. Now, we show how MREs eliminate or reduce the remaining MRM problems discussed in §4.1. Recall that LRE stands for a Low Resolution Entity and HRE stands for High Resolution Entity.
Eliminating Chain Disaggregation : MREs eliminate chain disaggregation. An MRE does not disaggregate, and does not force other entities to disaggregate. Therefore, as Figure 23 shows, MREs do not cause chain disaggregation.
Eliminating Transition Latency : MREs eliminate transition latencies encountered in aggregation-disaggregation. MREs do not transition among representation levels, i.e., they do not aggregate or disaggregate. Therefore, they do not require protocols for initiating aggregation or disaggregation. Consequently, transition latency is not an issue with MREs.
Eliminating Thrashing : MREs eliminate thrashing because they do not transition representation levels. Thrashing occurs when an entity aggregates and disaggregates repeatedly in a short period of time because it moves in and out of a playbox or interacts with entities at different representation levels. Thrashing causes the entity to consume significant processing resources just transitioning levels. Since MREs interact at different representation levels without effecting a transition, MREs do not thrash.
Reducing Network Flooding : MREs reduce network flooding. Selective viewing introduces a large number of entities in the simulation. Likewise, a disaggregated LRE in aggregation-disaggregation introduces a large number of entities in the simulation. As Figure 24 shows, increasing the number of entities in the simulation increases the number of interactions among entities. Since interactions are implemented often as messages on a network, aggregation-disaggregation causes network flooding. MREs capture a benefit of aggregation -- introducing fewer entities -- thus reducing network flooding.
Eliminating Cross-level Interactions : MREs eliminate cross-level interactions by permitting interactions among entities at all representation levels. With MREs, a LevelA entity never interacts with a LevelB entity; LevelA entities interact with one another, and LevelB entities interact with one another. Since entities interact at representation levels common to them, MREs eliminate cross-level interactions. Entities must negotiate the representation level at which they will interact beforehand. If entities interact at more than one level at a time, "double-interactions" can occur. For example, if an MRE A interacts with an MRE B at LevelA as well as LevelB , then a double-interaction occurs when A sends two distinct sets of interactions, one at each level, for the same event. If A and B interact at one level but not both, double-interactions are prevented.
Summary of Benefits : Table 4 summarises the benefits of MREs by comparing how various MRM approaches address the above issues.
MREs are a technique for capturing the combined semantics of jointly-executing models. An MRE does not show how to design a better model. In the context of an MRM approach, this limitation is not serious; we show that MREs are no worse than alternative approaches. However, without addressing this limitation, a multi-model cannot satisfy its users' requirements even if the MRM approach is effective. MREs can support solutions for many of the following issues; however, MREs do not inherently resolve these issues.
Identifying Representations and Relationships : An MRE does not identify the representation at any level nor relationships between representations. Identifying representations and relationships are the responsibility of a designer. No approach to MRM frees a designer of this responsibility.
Capturing Whole-Greater-than-the-Sum-of-Parts Relationships : Aggregate and disaggregate entities bear the relationship of being whole and parts of one another. The whole-and-parts relationship occurs frequently in battlefield simulations where a number of tanks may be considered as parts of a platoon, or a number of regiments may be considered as parts of a division. Likewise, in multi-resolution graphics, a number of triangles may be considered as parts of an entire surface, or in molecular models, a number of atoms may be considered as parts of a molecule.
A valid concern when aggregate and disaggregate models execute jointly is that the values of some aggregate attributes may be greater than the sum of the values of corresponding disaggregate attributes, i.e., the whole is greater than the sum of its parts. This concern has been called emergent behaviour problem [Wim86] or the configuration problem [Horr92]. For example, tanks may fight with greater strength when configured as a platoon. This increase in strength may be attributable to the presence of a commander who coordinates and guides activities (as is common in the case of military units) or any one of many other similar reasons. As another example, weak forces in atomic models may be ignored since their effect on the position of atoms may be negligible. However, in molecular models, these forces may add up to influence the positions of atoms significantly. The precise relationships between the platoon's strength and the tanks' strength and the atomic forces and the molecular forces must be captured by mapping functions that translate attributes among representations.
Selective viewing does not capture whole-greater-than-the-sum-of-parts relationships. In selective viewing, only the model for the parts is executed. Therefore, whole-greater-than-the-sum-of-parts relationships may not be captured unless information outside the attributes of each part is present. Typically, an entity maintains attributes relevant only to its own execution. Therefore, the behaviour of an entity when it executes as part of a whole is not distinct from its behaviour when it executes individually. Consequently, information not present in the entity must be used to distinguish these behaviours. Maintaining such information is tantamount to executing multiple models.
Aggregation-disaggregation captures whole-greater-than-the-sum-of-parts relationships, but introduces mapping inconsistency because information is lost during transitions. For example, tanks in a platoon may have man?uvred into a favorable position, thus causing the strength of the platoon to be greater than the sum of the strengths of the tanks. At this point, transitioning to the platoon model and back to the tank model may cause the tanks to be placed in doctrinal formation (since the tanks' previous positions are lost). This placement may result in a platoon strength that is the sum of the strengths of the tanks. Thus, the transitions reduced the strength of the platoon.
MREs aid in the construction of mapping functions that capture whole-greater-than-the-sum-of-parts. Since an MRE incorporates concurrent representations, attributes at all levels are present for the design of mapping functions that avoid inconsistency. Although MREs can capture whole-greater-than-the-sum-of-parts relationships better than alternative approaches, MREs do not aid identification of attributes that bear such relationships. It is the responsibility of the designer to identify and encode such relationships within mapping functions.
Resolving Conflicting Results : The multiple models in a multi-model may employ different algorithms to compute similar effects at different representation levels. For example, in battlefield simulations, Lanchester equations are used to compute attrition or loss of strength for aggregate-level forces. These equations are differential equations parameterised by coefficients based on historical data [Karr83]. Typically, Lanchester equations compute the results of battles involving large forces, such as divisions, brigades and corps. Also, the coefficients based on historical data are collected for battles lasting a few hours. The coefficients can be "smoothed" over small time-step granularities, say of ten minutes or so but not finer. As a result, models employing Lanchester equations must have time-steps of at least ten minutes, or else the attrition computed by the Lanchester equations cannot be claimed to be valid. In contrast, for battles involving disaggregate-level forces, such as tanks and artillery, attrition is computed by applying historical hit-kill probabilities for each engagement. Briefly, when a tank fires a shell at an enemy, the shell has a certain probability of hitting the target. Kill probabilities are conditioned on hit probabilities. Since attrition using hit-kill probabilities is computed on a per engagement basis, it can be applied to simulated battles with millisecond time-steps.
A multi-model that involves models employing different algorithms encounters two problems: temporal inconsistency and conflicting results. Temporal inconsistency may arise if the multiple algorithms make different assumptions about time at the multiple levels, as Lanchester equations and hit-kill probabilities do. Temporal consistency caused by time-step differentials must be eliminated; we do so by assuming compatible time-steps. Conflicting results arise if the algorithms predict different outcomes for the same set of inputs. Selective viewing avoids the problem of conflicting results by executing only the detailed model. Aggregation-disaggregation encounters the problem of conflicting results; depending on the level at which a multi-model is executed, the results of an outcome may vary [Hill92b].
MREs do not address the problem of conflicting results. Designers of multi-models must resolve conflicting results caused by different algorithms at multiple levels. Joint execution of multiple models captures the combined semantics of the models, no matter what the semantics of the individual models are.
Summary of Limitations
: The limitations above are expected of any approach that focusses on MRM alone. Designers must address these limitations in order to construct useful multi-models. However, addressing these limitations is outside the scope of any MRM approach, including
. Table 5 summarises the limitations of MREs by comparing how various MRM approaches address the above issues.
A Multiple Representation Entity is a technique for maintaining concurrent representations in order to achieve effective MRM. A key challenge with an MRE is maintaining consistency among its concurrent representations in the presence of dependent concurrent interactions. We assume the existence of appropriate mapping functions for translating attributes from one representation to another, policies for resolving the effects of dependent concurrent interactions and compatible time-steps. These assumptions do not make MRM trivial, because alternative approaches continue to exhibit problems even if they make similar assumptions.
MREs satisfy the MRM requirements of multi-representation interaction and consistency among the representations. MREs eliminate many problems with previous MRM approaches. We compared
with alternative approaches to MRM in terms of the requirements that each approach satisfies, the assumptions made towards satisfying those requirements, and the benefits and limitations of each approach. We depict these comparisons concisely in Table 6.
MREs and techniques for maintaining internal consistency among MREs constitute
. A Consistency Enforcer and an Interaction Resolver for an MRE maintain consistency among the concurrent representations and resolve the effects of concurrent interactions respectively. In Chapters 6 and 7, we describe a CE and an IR in detail.
R1: Multi-representation Interaction
R2: Multi-representation Consistency
Benefits (see §5.5)
Limitations (see §5.6)