Test Case Title |
TC9.10 - Managing multiple protocols City, human, machine and their several combinations |
Goal |
Facilitate communications and notification involving human, machine and their combinations. Log the activities for managing events and critical situations. Log any kind of access to Smart city API and Km4City queries. |
Prerequisites |
Using a PC or Mobile with a web browser. Access to the back office since this process for. The following functionalities are available only for specific Snap4city users with specific privileges. |
Expected successful result |
See the results on multiple test cases, this is only a recap. |
Steps |
The following flows are only samples, and they are not exhaustive of all the possible evolutions for this protocol.
These complex scenarios/flows are composed by steps that have been already shown, if not clearly specified.
- City to human (for directives)
- Snap4City IOT Applications, direct push towards users with specific IOT Applications;
- web and mobile App via Advanced Smart City API, civil protection alerts,
- Dashboards and MicroApplications of the municipality,
- calls via Notificator (Emails),
- social media messages via IOT applications: Telegram, Facebook, Twitter,
- sending SMS via IOT applications of the municipality,
- changing variable message panel text via IOT applications of the municipality,
- producing RSS Feed via IOT application of the municipality
Major examples of this kind of communication can be via:
- Data Sources --> Data Analytics --> Dashboards --> Notificator --> humans
- ETL/IOT --> R studio --> Dashboard --> Notificator --> humans
- Data Sources --> Data Analytics --> Snap4City Applications --> humans
- ETL/IOT --> IOT Application (also calling R studio) --> Dashboard
- Data Sources --> Data Analytics --> Advanced Smart City API (Suggester, Personal Assistant) --> web and mobile Apps
- ETL/IOT --> R studio --> Hbase/Phoenix --> Advanced Smart City API --> web and mobile APP or IOT Applications --> Humans
- Data Sources (as events) --> Dashboards Engine --> Notificator --> humans
- ETL/IOT --> Dashboard --> Notificator --> humans
- Human to city
- anonymous annotations via Smart City API, posed via MicroApplications on Dashboards,
- personal annotations posed public by the users to communicate to the city eventual problems,
- comments and data from the IOT Applications of the city users,
- comments from the Snap4City portal blogs, etc.
- post passing on social media: Twitter with citation, Twitter with hashtags for example by using Twitter Vigilance.
Major examples of this kind of communication can be via:
- Human --> web --> Dashboard Actuator --> IOT Broker --> data, Actions
- Human --> Dashboard --> IOT Broker --> IOT application --> action
- Human --> mobile app or IOT app --> Advanced Smart City API --> UserProfile --> Collective User profile --> data, Actions
- Human --> IOT application --> Advanced Smart City API --> UserProfile --> Collective User profile --> data, Actions
- Etc.
- Human --> IOT actuator --> Snap4City Applications --> data, Actions (messages, SMS, calls, dashboard, variable messages panels, etc.)
- Human --> ETL / Data Analytics development --> new processes, data results
- Human --> Data on DataGate --> Data Storage/knowledge base --> Actions/processes
- Machine to machines by automating a large number of processes
- Snap4City IOT Applications propagating event driven alerts, and/or managing back office activities,
- ETL processes for periodic data transformation,
- Data Analytics periodic task for anomaly, and/or to identify conditions that are not operating in the correct manner, thus activating recovery tasks,
- Firing condition and activation of the Notificator and usage of connected IOT applications to automated processes of recovering from failure, sending rescue teams, informing,
- ESB notifying the activation of critical events, or just reconfiguration, thus starting corresponding actions on other services;
Major examples of this kind of communication can be via:
- data --> Snap4City Applications --> data --> new knowledge
- data --> ETL processes --> data --> new knowledge
- ETL / Data Analytics processes --> Notificator --> any third party servers, actions
- Human to human
- IOT applications sharing information via MyPersonalData service, for example the position
- Posting MyAnnotation and delegating access to them to specific users
- Creating Dashboard and delegating access to them to specific users
- Creating IOT Application with Dashboard and delegating access to them to specific users
- Direct connecting IOT applications via WebSocket for direct messages,
- Direct connecting IOT application and devices with Dashboard services and IOT Applications of other users.
Major examples of this kind of communication can be via:
- human --> Snap4City Applications --> human (see the above example with the Dimer and Switch, a number of people could receive this information)
- human --> ChatRoom of the Dashboard System --> human (not yet available)
- human --> Snap4City Web Portal and information --> human
- exploiting messages and WebSocket at level of Dashboard services,