projet:projetsi4_0114_fuzzy_contexter
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
projet:projetsi4_0114_fuzzy_contexter [2014/02/24 19:02] – [Software Specifications :] bvella | projet:projetsi4_0114_fuzzy_contexter [2014/03/10 13:37] (Version actuelle) – [New Tools for Capture and Analysis of Digital Context and Fuzzy Logic] bvella | ||
---|---|---|---|
Ligne 5: | Ligne 5: | ||
===== Fuzzy Contexter ====== | ===== Fuzzy Contexter ====== | ||
- | ====== Project Presentation ====== | ||
- | == | + | ====== New Tools for Capture and Analysis of Digital Context and Fuzzy Logic ====== |
== Group Composition : == | == Group Composition : == | ||
+ | * Olivier Fauvel-Jaeger | ||
+ | * Anthony Soulier | ||
+ | * Benjamin Vella | ||
+ | * Michel Vedrine | ||
- | == Rapport | + | == Report |
+ | [[http:// | ||
== Slides of the presentation : == | == Slides of the presentation : == | ||
+ | [[https:// | ||
+ | |||
+ | == Source Code (Temporary) == | ||
+ | http:// | ||
+ | |||
==== Software Specifications : ==== | ==== Software Specifications : ==== | ||
Ligne 26: | Ligne 35: | ||
* links on the documentation of such librairies | * links on the documentation of such librairies | ||
* link to the binary code other .Net (dll of the bean< | * link to the binary code other .Net (dll of the bean< | ||
+ | * link to the VS solution with C# source code to compile the bean | ||
+ | |||
+ | == Bean OutlookMailsChecker == | ||
+ | |||
+ | * purpose of the bean \\ This bean is in charge of the extraction of Outlook email. | ||
+ | |||
+ | * input interface (exposed methods) | ||
+ | * void ReadAllReceivedMailsToJsonString \\ read all e-mails in the inbox and send them on a JSON string by event ( NewReceivedMessagesJsonString ) | ||
+ | * void ReadAllSentMailsToJsonString \\read all e-mails in the outbox and send them on a JSON string by event ( NewSentMessagesJsonString ) | ||
+ | * void ReadMailReceivedFormDateTimeToJsonString(DateTime d) \\ read all e-mails in the inbox from the date “d” and send them on a JSON string by event ( NewReceivedMessagesJsonString ) | ||
+ | * void ReadSentMailFormDateTimeToJsonString(DateTime d) \\ read all e-mails in the outbox from the date “d” and send them on a JSON string by event ( NewSentMessagesJsonString ) | ||
+ | * void ReadMailReceivedFormDateTimeToJsonString() \\ read all e-mails in the inbox from the attribute “ReceivedOnDate” and send them on a JSON string by event ( NewReceivedMessagesJsonString ) | ||
+ | * void ReadSentMailFormDateTimeToJsonString() \\ read all e-mails in the outbox from the attribute “SentOnDate” and send them on a JSON string by event ( NewSentMessagesJsonString ) | ||
+ | * void AllGroupsOfContact() \\ get all groups of contacts in the outlook’s adressbook and send them by event ( GroupsUpdateEvent ) | ||
+ | * void AllEmailsAddress() \\ get all e-mail address in the outlook’s adressbook | ||
+ | * void ContactsForGroup(List< | ||
+ | * void GroupsForEMail(string email) :\\get all groups for a given email address and send them by event ( ContactsUpdateEvent ) | ||
+ | |||
+ | * output interface (emitted events) | ||
+ | * NewReceivedMessagesJsonString(string json) \\ event when new e-mails are received (automatically sent when the user received a new e-mail in Outlook). | ||
+ | * NewSentMessagesJsonString(string json) \\ event when new e-mails are sent (automatically sent when the user sent a new e-mail in Outlook). | ||
+ | * GroupsUpdateEvent \\ event when the group of contacts are update. | ||
+ | * ContactsUpdateEvent \\ event when the contacts are update. | ||
+ | |||
+ | * Used librairies | ||
+ | * Microsoft.Office.Interop.Outlook (API provide by Microsoft, Outlook must be installed [[http:// | ||
+ | |||
+ | * link to the binary code other .Net (dll of the bean< | ||
+ | |||
* link to the VS solution with C# source code to compile the bean | * link to the VS solution with C# source code to compile the bean | ||
Ligne 39: | Ligne 77: | ||
* Libraries used: | * Libraries used: | ||
* AForge.NET http:// | * AForge.NET http:// | ||
- | * NewtonSoft http:// | + | * NewtonSoft http:// |
+ | * VS Project: [[http:// | ||
+ | * DLLs: | ||
+ | * Bean: [[http:// | ||
+ | * Libraries: [[http:// | ||
== Bean Configurator == | == Bean Configurator == | ||
Ligne 50: | Ligne 92: | ||
* Libraries used:\\ | * Libraries used:\\ | ||
* AForge.NET http:// | * AForge.NET http:// | ||
+ | * VS Project: [[http:// | ||
+ | * DLLs: | ||
+ | * Bean: [[http:// | ||
+ | * Libraries: [[http:// | ||
== Bean CentroidDefuzzifier == | == Bean CentroidDefuzzifier == | ||
Ligne 62: | Ligne 108: | ||
* AForge.NET http:// | * AForge.NET http:// | ||
* NewtonSoft http:// | * NewtonSoft http:// | ||
+ | * VS Project: [[http:// | ||
+ | * DLLs: | ||
+ | * Bean: [[http:// | ||
+ | * Libraries: [[http:// | ||
== Bean MaxDefuzzifier == | == Bean MaxDefuzzifier == | ||
Ligne 73: | Ligne 123: | ||
* Libraries used:\\ | * Libraries used:\\ | ||
* AForge.NET http:// | * AForge.NET http:// | ||
- | * NewtonSoft http:// | + | * NewtonSoft http:// |
+ | * VS Project: [[http:// | ||
+ | * DLLs: | ||
+ | * Bean: [[http:// | ||
+ | * Libraries: [[http:// | ||
+ | |||
+ | == Bean Expediteur == | ||
+ | * purpose of the bean \\ This bean is very specific to the logic core : its purpose is to create the group curves for the fuzzification: | ||
+ | * input interface (exposed methods) | ||
+ | * public void Initialisation(List< | ||
+ | * public void GetGroups(List< | ||
+ | * public void GetFloat(string json) \\ Given a list of groups in a property of a json object, find (and send) the correct abscissa. | ||
+ | * output interface (emitted events) | ||
+ | * NeedGroups() \\ Event sent at the initialization, | ||
+ | * ValeurExpediteur(n) \\ Event sent after having found the abscissa of a sender. The argument is a JObject containing the value. | ||
+ | * internal algorithm or simply used librairies (and dependencies) | ||
+ | * To set the curves and find the abscissa of a mail sender (thanks to its groups), the algorithm uses the binary count : 00000001 means "is only in the first group", | ||
+ | * Json.Net : http:// | ||
+ | * links on the documentation of such librairies | ||
+ | * link to the binary code other .Net (dll of the bean< | ||
+ | * link to the VS solution with C# source code to compile the bean | ||
+ | |||
+ | == Bean JSONToCSV == | ||
+ | * Purpose:\\ This bean transform a json string or a json file to csv file. The json must begin by an array. | ||
+ | * input interface (exposed methods) | ||
+ | * void ConvertJsonFileToCSV(string pathToJson, string pathToCSV) | ||
+ | * void ConvertJsonStringToCSV(string json, string pathToCSV) | ||
+ | * void ConvertJsonFileToCSV(string pathToJson) | ||
+ | * void ConvertJsonFileToCSV() | ||
+ | * void ConvertJsonStringToCSV(string json) | ||
+ | |||
+ | All of these methods convert a json file or a json string to a CSV file, if the path of the json file or the cdv file are not in parameter the methods use the attribute “PathCSV” for the CSV file and the attribute “PathToJson” for the json file.\\ You can also set the CSV’s delimiter with the attribute “Delimiter” and the attribute “AppendCSVFile“ allow you to append or replace the csv file if it exist already . | ||
+ | |||
+ | * output interface (emitted events) | ||
+ | * CSVFileCreate(string path) \\ event sent when the csv file is created. | ||
+ | |||
+ | * internal algorithm or simply used librairies (and dependencies) | ||
+ | * Json.Net : http:// | ||
+ | |||
+ | * link to the binary code other .Net (dll of the bean< | ||
+ | |||
+ | * link to the VS solution with C# source code to compile the bean | ||
+ | |||
+ | |||
+ | == Bean Json2Dictionary == | ||
+ | * Purpose:\\ This bean transform a json string or a json file into a Dictionary< | ||
+ | * input interface (exposed method) | ||
+ | * public void GetJSon(string JSon) | ||
+ | |||
+ | This method takes in argument a string, parse the json inside, and analyze each object. The analyze constructs a Dictionary for each object, and send it via an event. | ||
+ | |||
+ | * output interface (emitted events) | ||
+ | * InformationsToTreat(data) \\ event sent when a new Dictionary< | ||
+ | |||
+ | * internal algorithm or simply used librairies (and dependencies) | ||
+ | * Json.Net : http:// | ||
+ | |||
+ | * link to the binary code other .Net (dll of the bean< | ||
+ | |||
+ | * link to the VS solution with C# source code to compile the bean | ||
+ | |||
+ | == Bean NotificationIcon == | ||
+ | |||
+ | * Purpose | ||
+ | Encapsulate the Microsoft ’s NotifyIcon class in a bean | ||
+ | * input interface (exposed methods)== | ||
+ | *void ShowNotification() | ||
+ | *void ShowNotification(int time) | ||
+ | *void ShowNotification(int time, string balloonTipText) | ||
+ | *void ShowNotification(string balloonTipText) | ||
+ | |||
+ | Show a notification in the Windows’ notification area. | ||
+ | The balloonTipText must be set to display the notification. | ||
+ | |||
+ | * output interface (emitted events) : The bean provide different event of the NotifyIcon class. | ||
+ | *event EventHandler BalloonTipClicked | ||
+ | *event EventHandler BalloonTipClosed | ||
+ | *event EventHandler BalloonTipShown | ||
+ | *event EventHandler Click | ||
+ | *event EventHandler DoubleClick | ||
+ | |||
+ | * link to the binary code other .Net (dll of the bean< | ||
+ | * link to the VS solution with C# source code to compile the bean | ||
+ | |||
+ | == Bean Synchronisateur == | ||
+ | * purpose of the bean \\ The goal of this bean is to group information to a big one. We can use it for treatment from multiple inputs. It stores data when they come, and, to never loose any information, | ||
+ | * input interface (exposed methods) | ||
+ | * public void GetNewData(string json) \\ Extract (and store) information from an objet or an array. For each property, if the value is a float, it sends all others if needed and then store it. If it's not a float, it send an event, expecting than another bean would be able to translate that into float (such as Expediteur) | ||
+ | * public void getInfosFromArray(string json) \\ Should be the answer to the event called if the property is not a float. The argument must be the string of a json object, and every property must have a float as value. | ||
+ | * output interface (emitted events) | ||
+ | * InformationsToTreat(json) \\ Send the json with all the last received values of each kind. This json represents an object with multiple properties String Name - Float Value. | ||
+ | * NeedInfoArray(json) \\ Send a json representing a property in wich the value is not a float. Potentially, | ||
+ | * internal algorithm or simply used librairies (and dependencies) | ||
+ | * Json.Net : http:// | ||
+ | * links on the documentation of such librairies | ||
+ | * link to the binary code other .Net (dll of the bean< | ||
+ | * link to the VS solution with C# source code to compile the bean | ||
=== List of various beans assemblies | === List of various beans assemblies | ||
Ligne 124: | Ligne 270: | ||
== On the Outlook SDK == | == On the Outlook SDK == | ||
- | * Explanations | + | * Documentation |
- | + | ||
- | * References | + | |
Ligne 132: | Ligne 276: | ||
* Concepts: http:// | * Concepts: http:// | ||
* Documentation: | * Documentation: | ||
- | |||
==== Various scenarios to illustrate the project ==== | ==== Various scenarios to illustrate the project ==== | ||
projet/projetsi4_0114_fuzzy_contexter.1393268521.txt.gz · Dernière modification : 2014/02/24 19:02 de bvella