# Data Fusion Analysis and Synthesis Framework for Improving Disaster Situation Awareness
## 5 Architecture of the Framework
The dynamic attributes whose names begin with the word _attached_, are responsible for storing the data sources that are attached to the corresponding instance of class Residence. As we are dealing with a modeling environment, the values of these attributes are objects that represent the data sources. They are also used for calculating the effectiveness, timing, and cost factors of the corresponding instance. The dynamic attribute _queries_ contain a set of 'command-query objects' which can be executed on the instances of this class. Each element class, such as class Residence, may have a dedicated set of queries, which can be stored and retrieved by calling on the corresponding'setter and getter' methods. This provides run-time extensibility in the kinds of queries a class may provide. The analysis Process  
The analyst may utilize the system, for example, in the following way:  
1. Let us assume that a number of instances of class Residence has been created which represents a selected set of actual residences of an urban area under consideration. In this process, the constant attributes of these instances have been initialized as well. 2. Additionally, for the instances of class Residence, a set of dedicated 'command-query objects' has been defined and stored in the attribute _queries_. 3. At this stage, these instances are now ready for use to analyse a model of a prospective sensor fusion system. First, a fusion model must be defined. 4. With the help of the user interface (UI), the analyst observes these queries, which are displayed at the UI as menu items. An implementation of Command pattern [44] provides a dynamic menu generation mechanism. Figure 3: An excerpt of the attributes and methods of class Residence. 5. To simulate the attachment of the prospective data sources, an appropriate query is selected by activating the corresponding menu item. The data source objects are also selected by using the feature-modeling tool as defined in Section 4. 6. With the help of an object-oriented database, and depending on its definition, the selected query item is executed over one or more instances of class Residence. 7. While executing the query, the database calls on the necessary'setter methods' of the corresponding instances. To this aim, class Residence provides the necessary method interface. 8. Depending on the query, the selected data source objects are stored in one or more instances of class Residence. In contrast to the constant attributes, the derived attributes are computed. Consider the following process as a follow-up step of the previous example:
9. When the data source objects are stored in an instance of class Residence, the method _calculateEffectiveness()_ is called on'self'. 10. This method retrieves the properties of the stored data source objects, and by using the formulas presented in this article, it computes the values of the derived attributes. 11. If a new set of data source objects is stored, the derived attributes are computed in the same way again. 12. Now assume that the analyst executes another menu item for attaching a UAV as a data source on the corresponding geographical area. 13. In our system, a geographical area is represented as an instance of class GeographicaArea. The method _notifyAttach()_ is automatically called on the corresponding instances of class Residence, when a data source, such as a UAV is attached to the corresponding geographical area. An implementation of Observer pattern [44] provides an 'event propagation' mechanism. 14. When called, this method reads the characteristics of this new data source, registers its identity, and calculates the derived attributes again. Similarly, the method _notifyDetach()_ is used when the corresponding data source is removed from the geographical area. The other implementation-related attributes and methods of class Residence are not shown for brevity. Of course, the process given in this section has the intention to clarify a possible usage of the instances of class Residence.