Home automation and software agents 7Y910 Home automation and robotics Michiel Brink
Schedule Objective Introduction –Home automation system –Agents How to use agents for home automation Agent based home automation system Building an agent based HAS 45 min Break Presentation Assignment 15 min 45 min
Index Objective Introduction –Home automation system –Agents How to use agents for home automation Agent based home automation system Building an agent based HAS
Objective Learn about agents and home automation Know about how agents can be used in a home automation system Know how to build an agent-based home automation system Think up some home automation agents and services
Index Objective Introduction –Home automation system –Agents How to use agents for home automation Agent based home automation system Building an agent based HAS
What is a home automation system? Introduction
Why a home automation system? To satisfy the need to increase: Health (reaction on a CO detection) Safety (good lighting to avoid falling) Security (burglar detection) Indoor environment (increase air quality) Sustainability (reduce energy consumption) Comfort (adjusting air temperature) in dwellings Especially older people have a great need for a system that maintains their: Vitality (both mental and physical) Independence (put off moving to nursing house) [1: D. J. Cook, 2006] Introduction
Introduction Current home automation systems more than one standard vendor lock-in not as flexible as desired expensive Need for: open flexible cost effective Software agents? [ 2008] [ 2008] [ 2008] [ 2008]
Introduction Software Agents: what are they? Many definitions A piece of autonomous software: Responsibilities Goals Social Reactive Proactive Intelligent [ 2008] [H.S. Nwana, 1996]
Introduction Agent-based home automation system Why? reduce complexity improve flexibility easy implementation of intelligence and self learning
Index Objective Introduction –Home automation system –Agents How to use agents for home automation Agent based home automation system Building an agent based HAS
How to use agents for home automation Several ways to use agents in a home automation system Control existing home automation system with one or more agents (centralized intelligent) Example: MavHome [D. J. Cook, 2006] (uses X10 home automation system)
Several ways to use agents in a home automation system Control home automation system components directly on a central location with one or more agents (centralized intelligent) Example: I.L.S.A project [Karen Zita Haigh, 2002] How to use agents for home automation
Several ways to use agents in a home automation system Control home automation system components with decentralized agents (decentralized intelligent) Example: project [B. De Carolis, 2005] How to use agents for home automation
Several ways to use agents in a home automation system Use completely decentralized agents UMASS Intelligent Home project [V. Lesser, 1999] How to use agents for home automation
Several ways to use agents in a home automation system Use hierarchy Example: project [B. De Carolis, 2005] How to use agents for home automation
Several ways to use agents in a home automation system Do not use hierarchy How to use agents for home automation
Today: Do not use hierarchy Use completely decentralized agents How to use agents for home automation
Index Objective Introduction –Home automation system –Agents How to use agents for home automation Agent based home automation system Building an agent based HAS
Agent-based home automation system Reliability Flexibility (Cost effective) But harder to realize! So main idea: Decentralized intelligence: each component in the home automation system, has its own agent No hierarchy: All components are equal to each other OSI model: agents are applications (Open System Interconnection)
Agent-based home automation system Problems: Completely decentralized: how do agents know about each other? Lots of components in a network: how to limit use of bandwidth? How do agents know where they are? Different home automation aspects: what communication protocol will agents use? No hierarchy: how to handle task conflicts? How to modify the system? …
Agent information distribution: Agents have a database with information about other agents Agents share information in their database with each other Agent-based home automation system
Plug and Play Agent-based home automation system
Communication standards: Agents should support or able to learn multiple communication standards Agent-based home automation system
Location control Agent-based home automation system
Retrieving information from other agents Reduce network use: no broadcasting Agent can subscribe at each other to report specified status change Agent-based home automation system
Goals of agents Each component its own agent: task conflicts Agent-based home automation system
Goals of agents Approaches to solve task conflicts Agent-based home automation system
Goals of agents Approaches to solve task conflicts Agent-based home automation system
Goals of agents Approaches to solve task conflicts Agent-based home automation system
Goals of agents Approaches to solve task conflicts Agent-based home automation system
Goals of agents Approaches to solve task conflicts Agent-based home automation system
Goals of agents Approaches to solve task conflicts Agent-based home automation system
Goals of agents Approaches to solve task conflicts Agent-based home automation system
Goals of agents Approaches to solve task conflicts Agent-based home automation system
Index Objective Introduction –Home automation system –Agents How to use agents for home automation Agent based home automation system Building an agent based HAS
Building an agent based HAS How to design an agent-based home automation system? Can be done in many ways Today an example
Architecture of an agent Hardware devices (lights) Services (light controller, light comfort control) Communication (receive and retrieve information) Decision maker (negotiation with conflicts) Building an agent based HAS
Implementation: Platform: Java Agent framework: JADE (Java Agent DEvelopment) [Telecom Italia Lab, 2008] Jade includes: Communication standard: Agent Communication Language (FIPA standard) [ 2008] Controlling agents: start, stop, pause, continue, … Tools for developing … Building an agent based HAS
Designing agents: Based on “A Methodology for the Analysis and Design of Multi- Agent Systems using JADE” [Magid Nikraz, 2006] Building an agent based HAS
Agent responsibilities: Responsibilities of each agent: accepting incoming messages handle subscriptions Agent specific responsibilities: To perform the functionalities of the system, for example: Door lock agent: make sure door is locked when user is away Door lock agent: lock door when user sleeps … Building an agent based HAS
Interactions: Hello messages Status request messages Action request messages Subscribe messages (for initializations) Report status change messages Building an agent based HAS
Interactions: example action request interaction Building an agent based HAS
Services: Service for: 1.Representing device of an agent (e.g. lamp, sensor, door lock) 2.Representing agent specific responsibility (lamp agent: turn on the light when illuminance level is too low) Example: agent specific responsibility device of an agent Building an agent based HAS
Services examples: agent specific responsibilitydevice of an agent (no agent specific responsibility) Building an agent based HAS
Classes: Building an agent based HAS
Database: Name Description Service: Name Version Variable Action Address MAC Location Area of influence XML database: Building an agent based HAS
References [1] D. J. Cook, "Health monitoring and assistance to support aging in place," Journal of Universal Computer Science, vol. 12, no. 1, pp , [2] KNX Association [3] Echelon Co [4] H. S. Nwana, "Software agents: An overview," Knowledge Engineering Review, vol. 11, no. 3, pp , [5] D. J. Cook, M. Youngblood, and S. K. Das, A multi-agent approach to controlling a smart environment Arlington: Springer Berlin / Heidelberg, 2006, pp [6] Karen Zita Haigh, John Phelps and ChristopherW.Geib. An open agent architecture for assisting elder independence. Proceedings of the first international joint conference on Autonomous agents and multiagent systems: part 2[SESSION: Session 6A: applications], [7] B. De Carolis, G. Cozzolongo, S. Pizzutilo, and V. L. Plantamura, "Agent-Based Home Simulation and Control," 2005, pp [8] V. Lesser, M. Atighetchi, B. Benyo, B. Horling, A. Raja, R. Vincent, T. Wagner, P. Xuan, and S. XQ Zhang, "The UMASS Intelligent Home Project," Proceedings of the Third International Conference on Autonomous Agents, pp , [9] JADE. Telecom Italia Lab [10] FIPA [11] Magid Nikraz, Giovanni Caire, and Parisa A.Bahri, "A Methodology for the Analysis and Design of Multi-Agent Systems using JADE." 2006.
End of presentation Please ask your questions
Break
Think up as much agents as possible 2.Combine agents to invent new home automation services Assignment