by Vittorio Miori, Dario Russo and Massimo Aliberti
While many household appliances and hi-tech devices populate our lives, each one is independent of the others. Informatics research on domotics has the target of achieving interoperability between all the devices available in a home, automating some particular sequences of tasks and integrating the home with the outside world and especially with the Internet. The lack of an open and universal domotic standard is the principal reason for the poor use of domotics in real environments, so a new software architecture based on the SOA (service-oriented architecture) model and a domotic XML language has been created in order to realize a homogenous and independent vision of the home environment.
Domotics is the discipline that investigates how to realize an intelligent home environment. Benefits of the use of domotic technology include improved energy efficiency, on-command entertainment, increased safety, greater independence and access to external services. This is particularly important in addressing the needs of elderly and disabled people. These services are generally based on hardware and software infrastructures commonly called domotic systems (X10, Konnex, LonWorks, UPnP, HAVi, Jini etc), which support the main available communication standards (Ethernet, FireWire, Bluetooth, ZigBee, IrDA, proprietary buses etc). However, they are often developed by private companies and therefore distributed as proprietary and closed technology.
At present, too many domotic systems are crowding the market, and these systems are rarely interoperable (Figure 1). This represents a serious obstacle to solid market growth. Consumers should be able to choose devices according to their requirements and to criteria such as cost, performance, trends and confidence, without having to worry about issues of compatibility with their existing systems. Unfortunately, common market logic currently binds consumers, forcing them to purchase only devices that conform to a single system in order to obtain a suitable level of interoperability. Further, in our opinion none of the domotic protocols that are currently available will ever be able to achieve a truly leading role.
We thus propose the introduction of a new communication infrastructure and a new XML language to enable exchange of information between nodes belonging to distinct domotic systems.
This new infrastructure, called Domotics Network (DomoNet), is based on a service-oriented architecture (SOA) model, in which services coincide with the functionalities offered by the devices. DomoNet uses Web services technology, a standard communication paradigm in distributed SOA contexts, and uses XML and XML-schemas to define a language that describes datatypes, messages, devices and their services. This universal language, called DomoML, allows a standard communication between the devices inside DomoNet.
As shown in Figure 2, DomoNet provides a network infrastructure for ambient devices in which each domotic system represents a sub-network connected to it through a dedicated gateway.
From a functional point of view, DomoNet is constituted by a Web service, called DomoNetWS, and by a set of modules that work as gateways, called techManagers, to deal with specific domotic systems. When an event generated by a device is captured by its techManager (eg a button is pressed), domoNetWS identifies it and finds the configured device and service (eg the switching on of a light) in order to execute the action.
The main task of domoNetWS is to correctly route messages between techManagers using a table containing pairs of addresses: a DomoNETAddress, assigned to every device that is connected to DomoNet, and the techManager's IP address (and a TCP port) which handles the specific domotic system.
DomoNetWS considers the house to be an Internet node that can share environments and device functionalities with any other DomoNetWS placed on the Internet. For example, functionalities and states can be shared between a user's main residence and the holiday home.
The system prototype developed at the ISTI-CNR Domotics Laboratory in Pisa is now open-source software released under GPL licence. It was written using Java and open-source libraries and tools. The prototype has been tested and is currently under further development. In its present state, it can correctly import and interact with all available devices such as televisions, washing machines and lights, regardless of the specific domotic system to which they belong.
The software has been tested using two domotic systems with different functionalities: Konnex and UPnP. These systems have two fundamental differences: first, in the ease with which devices can be configured (in Konnex this must be done by specialized staff, systems and software, whereas UPnP has an automatic plug-and-play autoconfiguration system); and second, in the functions provided (Konnex is oriented towards lighting, energy efficiency, safety and comfort, while UPnP focuses on multimedia applications).
Many activities based on the results of this project have been or will soon be launched. Currently, the most important effort concerns the definition of an XML language that is able to add semantics to domoNet in order to increase its usability. An initial part of this study is the development of an autoconfigurable universal home device controller, designed to be user-friendly for everyone, especially for elderly and disabled people.
Vittorio Miori, ISTI-CNR, Italy