An agent based framework is home for a set of agents that cooperate to achieve ThinkHome’s primary goals energy efﬁciency and user comfort. It therefore bears the artiﬁcial intelligence part in it that decides on the control strategies. Through dedicated agents it uses as well as provides access to the knowledge base and also acts on behalf of the users. The agent system part also interfaces with the underlying home automation systems, integrates auxiliary data sources, and implements context inference and conﬂict resolution services.
For a technical perspective, all functions are realized by dedicated agents. They are hosted by a software based agent framework that provides them with well-deﬁned communication services (e.g., JADE ). The internal speciﬁcation of the agents follows proven concepts that feature standardized elements and software tools (e.g., JADEX  or JACK ). Using them, the internal goals, plans and reasoning within the agents can be precisely modeled. The speciﬁcation process of the intelligent MAS follows the well-known Prometheus methodology . Prometheus provides formal guidelines and a formal notation for a detailed agent and system architecture speciﬁcation. Yet, the speciﬁcation is kept independent from any speciﬁc implementation technology.
Example of MAS relationship schema for a specific application case (Setpoint Temperature)
The following list gives an overview of all agents that are mandatory for successful system operation.
-AI based Control Agent: The AI based Control Agent is the core point for the sustainable, energy efﬁcient operationof the smart home. It is responsible for execution of the intelligent control strategies that control the building state. For this purpose, the agent takes into consideration the global goals, user preferences, current system state and auxiliary data (e.g., current solar radiation) to compute appropriate actions for the underlying home automation system. The control decisions will be made upon both simple control algorithms as well as using artiﬁcially enhanced ones, e.g., artiﬁcial neural networks or fuzzy logic. To master this crucial task, the Control Agent acquires information from several other agents in the system, striving to get a global view of the whole system state. For example, the agent retrieves sensor values from the home automation system and enhances them with semantic information that is contained in the KB.
-User Agent: The User Agent acts on behalf of users and strives to enforce comfortable environmental conditions for its owner. To control the indoor conditions of a building in an energy efﬁcient way it is most important to reduce the control efforts to the lowest amount possible so that the users still feel comfortable. Therefore it is mandatory to be aware of the presence, preferences (cf. User Preferences Agent) and habits of all residents. Embedded in the User Agent is a learning component that is responsible for learning the preferred environmental conditions, habits as well as typical situations and scenarios of its owner during operation. In this task it is supported by the Context Inference Agent. Additionally, the User Agent accepts user feedback and is capable of integrating this feedback. Persons that are not registered in the ThinkHome system are assigned an anonymous, temporary User Agent that assumes default values and is dispatched to cater for his/her needs during the visit.
-User Preferences Agent: This agent provides an interface to the user to enter, review or change his/her preferences. In the agent society, it is tightly coupled with the User Agent. Global Goals Agent: Similar to the User Agent, this agent advocates the global goals when control decision shall be made in the MAS. It is therefore a key component for the realization of energy efﬁcient building operation.
-Context Inference Agent: The agent can set actions in context with users, location and time, i.e., it can identify activities and build a model of the current situation. This context inference is required for an adaptive, intelligent building control. For example, persons can be identiﬁed when entering the building, tracked within the building and their location is continuously reported to other agents. These can then act upon this information, for example, turn off the lights when all persons left a room.
-Conﬂict Resolution Agent: The Conﬂict Resolution Agent resolves potential conﬂicts. These conﬂicts are likely to occur among contrasting global goals, especially energy efﬁciency and user comfort, as well as between user preferences of different users that are present at the same time. In any case, the agent needs to employ strategies that ﬁnd acceptable tradeoffs and also be considerate of receiving all user feedback. Obviously, this agent is crucial for system acceptance and will therefore be well deﬁned.
-Auxiliary Data Agent: This agent provides an interface to import additional data from miscellaneous sources, for example Internet based web services. A typical example is the integration of weather forecasts in the control strategies obtained from a local weather station or over the Internet. KB Interface Agent: The agent interfaces to the knowledge base and handles all data exchange across the system parts. If initiated by other agents, it uses SPARQL  queries to obtain information from the knowledge base. It can parse the query results and communicate them to other agents involved.
-HAS Interface Agent: The HAS Interface Agent acts as interface between the agent society and the underlying automation system of the smart home. On the one hand, this concerns the execution of the control strategies computed by the AI based Control Agent. It therefore controls the HAS to adjust the respective environmental conditions in the building. On the other hand, it functions as a feedback interface from the building to be controlled back to the ThinkHome system. This includes the sensing of process values (e.g., change of room temperature) and generally collecting all information provided by the automation devices.
The next publications developed in the ThinkHome project refer to agent based frameworks and multi-agent systems.
-Christian Reinisch, Mario J. Kofler, and Wolfgang Kastner. ThinkHome: A Smart Home as Digital Ecosystem. In Proceedings of 4th IEEE International Conference on Digital Ecosystems and Technologies (DEST '10), pages 256-261, April 2010. [ bib | .pdf | Abstract ]
-Christian Reinisch, Mario J. Kofler, Felix Iglesias, and Wolfgang Kastner. ThinkHome: Energy Efficiency in Future Smart Homes. EURASIP Journal on Embedded Systems, 2011:18, 2011. [ bib | .pdf ]
-Christian Reinisch and Wolfgang Kastner, Agent based Control in the Smart Home, in: Proceedings of 37th Annual Conference of the IEEE Industrial Electronics Society (IECON'11), to be published.
: “Java Agent DEvelopment Framework,” Project Homepage. [Online]. Available: http://jade.tilab.com/
: “Jadex - BDI Agent System,” Project Homepage. [Online]. Available: http://jadex.informatik.uni-hamburg.de/
: “JACK autonomous software,” Project Homepage. [Online]. Available:
: Lin Padgham and Michael Winikoff, Developing Intelligent Agent System - A Practical Guide. John Wiley and Sons Ltd., 2004
: “SPARQL Query Language for RDF,” W3C Rec. 15 January 2008. [Online]. Available: http://www.w3.org/TR/rdf-sparql-query/