## 4 Integration of FamiWare and INTER-TRUST
### Integration of the INTER-TRUST Modules and Security Concerns
#### 4.1.1 Integration of the INTER-TRUST Modules  
In Section 2.1, we described how a different configuration of the FamiWare middleware could be deployed in each device according to that device's characteristics, the applications that this device runs and the network used to connect several devices. Now, with the integration of the INTER-TRUST framework into the FamiWare middleware, the security also has to be taken into account to configure the FamiWare middleware. To do so, as shown in Figure 5, the VSpec tree of FamiWare is extended with the security feature. Due to the correspondence between feature models [18] and CVL VSpec trees, for simplicity, we use the term 'feature' throughout the paper to refer to the term 'VSpec tree node'. Since the security concerns instantiated could be different for each device, the security feature has been included as a child of the device feature instead of defining it as a child of the FamiWare feature. This feature is a CVL composite variability. This means that it is a container of another VSpec tree describing the variability of all of the security concerns that could be instantiated in each device (this is described in Section 4.1.2). In addition to the security concerns, the INTER-TRUST modules also need to be incorporated as part of the services provided by FamiWare. Thus, we need to extend these services for the  
Figure 5: FamiWare + INTER-TRUST variability model. special requirements of the INTER-TRUST dynamic negotiation of security policies. On the one hand, FamiWare does not provide any service for negotiation. Thus, we need to extend the variability model of FamiWare with a completely new service, the negotiation service, which is included at the same level as the monitoring, context awareness and reconfiguration services. On the other hand, the already existing FamiWare services need to be extended to include the monitoring, context awareness and reconfiguration features related to security that are specific to INTER-TRUST:  
Monitoring: This is represented in the FamiWare VSpec tree as an optional element with one child or more for each context that can be monitored by the middleware. Therefore, as we need to monitor the issues related to security (e.g., vulnerabilities, security algorithm overheads), we have to add a new element to the children of the monitoring element called security monitoring in Figure 5. This variable element has two children, the Montimage Monitoring Tool and the notification features. They are described in Section 2.2 and are the modules and tools used in the INTER-TRUST framework to monitor the application's security. Context awareness: The context awareness feature of FamiWare is represented by two elements. One is the kind of context of which a certain application is required to take care. The other is the list of changes to be executed to generate a new product when a context modification implies the system's reconfiguration. In INTER-TRUST, this is carried out by the security context awareness together with the policy interpreter and the policy engine modules. These modules decide whether or not a new security policy must be negotiated and the changes to be performed in the system security after the negotiation. Thus, a new feature called security analysis has been added as a child of the context awareness feature of FamiWare that includes the security context awareness, policy engine and policy interpreter children. Moreover, a new feature has been added as a child of the product generation feature to indicate that, in the case of security, the new product configuration needs to be generated, taking into account the information dynamically generated by the policy interpreter module of the INTER-TRUST framework.