Abstract
Smart home systems (SHSs) provide several services that are tailored to different residents' preferences. As a result, SHSs are highly exposed to undesirable interactions, known as feature interactions (FIs). FIs might occur as a result of a conflict in services' goals or a conflict with residents' preferences. Previous studies have proposed solutions based on applying priorities, in which some services or preferable features are disabled in favor of other services. Alternatively, the agent-based negotiation approach (ABNA) utilizes agents and applies negotiation, enabling services with contrary features to work simultaneously. ABNA avoids applying priority between services or house residents' preferences whenever a space for a compromise exists. The mechanism of ABNA is based on the use of a hierarchy of features based on their contribution to the function of the service or on the importance of these features to house residents. To achieve a compromise between conflicting services, ABNA models services and residents by using agents, and implements a negotiation algorithm that allows services with conflicting features to work simultaneously. This paper presents a description of ABNA with a formal specification of ABNA in the calculus of context-aware ambient (CCA). This enables the formal analysis of ABNA by using the execution environment of CCA.