1 / 25

test

fubar

guest73386
Download Presentation

test

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Systèmes multi-agents Comment intégrer un système domotique à un habitat existant? Jean LAULIAC // Nordwin HOFF domonergy.com

  2. 1 Analyse de l’existant et architecture générale 2 Conception de l’agent domotique 3 Implémentation et résultats

  3. 1 Analyse de l’existant et architecture générale 2 Conception de l’agent domotique 3 Implémentation et résultats

  4. Eclairage TV Stores Multimédia

  5. Interface utilisateur (iOS…) • Interface serveur (SOAP via WCF) • Agent de gestion domotique (biblio. applicative) • Interface logicielle avec le matériel (assemblies .NET implémenteurs, drivers) La pile Domonergy • Interface matérielle de contrôle (Ethernet, KNX, RS232, Infrarouge...) • Matériels (ampoule, bouton poussoir, TV, lecteur multimédia, thermostat, chauffage…)

  6. Résident(iOS) Habitants • Administrateur(iOS/avancé) • Intégrateur(configuration agent) Utilisateurs de la solution Partenaires • Implémenteur(création drivers/interfaces)

  7. Interface utilisateur (iOS…) • Interface serveur (SOAP via WCF) • Agent de gestion domotique(bibliothèque applicative) • Interface logicielle avec le matériel (assemblies .NET implémenteurs, drivers) La pile Domonergy • Interface matérielle de contrôle (KNX, RS232, Infrarouge...) • Matériels (ampoule, bouton poussoir, TV, lecteur multimédia, thermostat, chauffage…)

  8. 2 Conception de l’agent domotique 1 Analyse de l’existant et architecture générale 3 Implémentation et résultats

  9. Contraintes • Modification du fonctionnement aisé • Règles découplées de l’algorithme (m. inférence) • Séparation entre structure et comportement • Règles découplées de la structure de l’habitat • Séparation entre structure et matériels • Abstraction du matériel au niveau de l’agent • Cohérence systématique de l’environnement • Principe de « désactivation » des règles • Totalement déterministe • Agent réflexe, pas d’apprentissage

  10. Agent de gestion domotique • Agent réflexe simple • Règles en logique formelle d’ordre 0, mais… • …contextualisation des règles • Chaînage avant en profondeur • Cycle d’inférence déclenché dès un changement d’état entrant • Ordre de priorité sur les effecteurs uniquement

  11. DEML: DomoticsEnvironmentMarkupLanguage config.deml <?xmlversion="1.0" encoding="utf-8" ?> <demlxmlns="http://domonergy.com/deml/"> <head> <pathfor="drivers" value="." /> <link rel="rulesheet" src="rules.drs" /> </head> <body> <!-- ... --> <areaclass="room" id="livingRoom"> <deviceid="tv" driver="TVDevice" /> <deviceid="tvLight" class="light" driver="LightDevice" /> <deviceid="tvPs" class="presenceSensor" driver="PresenceDevice" /> </area> </body>

  12. DRS: DomoticsRuleSheet rules.drs .room { artificialLight: personIsPresent; artificialDimmedLight: artificialLight, dimmedLight; } .light { Lighted(false); Power(1); Lighted(true): artificialLight; Power(0.3): artificialDimmedLight; } .presenceSensor { personIsPresent: [Presence = true]; } #tv { dimmedLight: [State = "Running"]; }

  13. Agent: exemple de règles générées [#tv/State = "Running"] [.presenceSensor#tvPs/Presence= true] .room#livingRoom/personIsPresent .room#livingRoom/dimmedLight .room#livingRoom/artificialLight .room#livingRoom/artificialDimmedLight .light#tvLight/Lighted(true) .light#tvLight/Lighted(false) .light#tvLight/Power(0.3) .light#tvLight/Power(1.0)

  14. 3 Implémentation et résultats 2 Conception de l’agent domotique 1 Analyse de l’existant et architecture générale

  15. Méthodologie • Incrémentale: conception et implémentation ont évolués parallèlement, par cycles • Utilisation d’un dépôt Mercurial (HG) • Répartition: • Nordwin HOFF: interfacage, scénarios • Jean LAULIAC: agent, règles d’inférence

  16. Technologies • C# 4 • Framework .NET (Windows Forms, réflexion…) • Microsoft Extensibility Framework (compositing) • ANTLR(lexinget parsingdes DRS en grammaire LL(k)) • XML LINQ (analyse des DEML et validation XSD)

  17. Gestion de l’agent Gestion des DRS Gestion des DEML

  18. Démonstration !

  19. 1 Analyse de l’existant et architecture générale 2 Conception de l’agent domotique 3 Implémentation et résultats Prochaines étapes?

  20. Configuration utilisateur? config.deml <!-- ... --> <userpropid="UserHomeCinema" title="Home Cinéma" /> rules.drs /* ... */ #tv { dimmedLight: [State = "Running"], UserHomeCinema; }

  21. Chainage arrière des règles? UserHomeCinema • + vérif. statique des points de fractures [#tv/State = "Running"] [.presenceSensor#tvPs/Presence= true] .room#livingRoom/personIsPresent .room#livingRoom/dimmedLight .room#livingRoom/artificialLight .room#livingRoom/artificialDimmedLight .light#tvLight/Lighted(true) .light#tvLight/Lighted(false) .light#tvLight/Power(0.3) .light#tvLight/Power(1.0)

  22. Validation et conditions? rules.drs – validation? /* ... */ .light { Lighted(false); Power(1); Lighted(true): artificialLight; Power(0.3): artificialDimmedLight; ensure(Power >= 0.3); }

  23. Configuration du matériel? config.deml – configuration des devices <!-- ... --> <deviceclass="light" driver="KnxLight" knx:type="ethernet" knx:port="2" />

More Related