Dog is a software-based gateway used for controlling domotic environments in a vendor-independent way. This is possible thanks to its high-level semantic device modeling strategy and its driver architecture that allows to support different domotic plant technologies.
Here are some key features of "Dog":
· Better compliance to the OSGi standard: now the domotic driver selection, the DogDeviceManager, DogDeviceCategory and DogDeviceModel bundles follow proposed OSGi recommendations (Device Access Specification Version 1.1)
· Lower memory footprint: just the mandatory bundles are included in the
· Easier configuration: all configuration is now done through config files and XML files, you no longer need to master Ontologies and the OWL language to use Dog in its basic configuration (although some ambient intelligence operations still require the Ontology model)
· Easier software-only development: thanks to an embedded state machine simulator, and to statechart-based models of the domotic devices, you may run Dog2.0 even without an actual domotic plant: all devices will be simulated by the emulation layer of Dog2.0
· APIs for application development: two API libraries (called DogLeash) are now distributed, in Java and C#, for easing the development of Dog2.0-aware applications without needing to dwelve into the details of the XML-RMC interface.
· Support for protocols BTicino OpenWebnet and KNX are included in Dog2.0 bundles
· New event-subscription API with automatic scheduling: instead of polling the status of Dog2.0-controlled devices, you may now subscribe to a stream of notifications; Dog2.0 will query the device for you, with a user-defined polling schedule (easy to specify with cron-like syntax)
· Example applications: some example applications are included in the standard distribution, to show examples of integration with Dog2.0 from Java, JavaFX, and C#
· Programmers documentation is improving: most portions of the code are documented by JavaDoc, and an "installation and running" guide is available
· Java 2 Standard Edition Runtime Environment