430 likes | 452 Views
Learn about CRISMA framework for crisis management, decision support system, models, and mashups with WireCloud. Explore key concepts and components.
E N D
CRISMA for C2-SENSE Peter Kutschera, AIT
TOC • What is CRISMA? • The famous CRISMA catalogue • Main concepts • Architecture Overview • Mashups with WireCloud • CRISMA deployment
What is CRISMA? • Modelling crisis management for improved action and preparedness • EU FP7 Project • Goals: • Build a framework that allows easy implementation of concrete applications • Focus on preparedness, planning, training • Decision support system by comparing different options • Has to embed a lot of models • Pilot applications dealing with following hazards: • toxic gas, earthquake, forest fire, flooding, power outages because of bad Nordic weather
The famous CRISMA catalogue • Central project documentation repository for CRISMA users • Description of: • Application Architectures • Building Block and Model specifications (including interfaces) • Reference Implementations and other software components • Links to sources, demonstrators, background documentations • Licenses, IPR conditions • Input provided by every partner • Now available for the public – in fact it’s now part of many deliverables • https://crisma-cat.ait.ac.at/
Main concepts • Worldstate: • Describes the CRISMA-relevant state of the world at a certain time stamp • If something changes a new wordstate is created • A series of timestamps describes a situation progress • Different possible decisions are modelled as forks creating a tree of worldstates: The decision tree
Main concepts • OOI • Object Of Interest • Anything that is relevant for the actual use case and can change over time • Ambulances • Patients • … • There is a management GUI to define OOIs and there properties • Ambulances maximum speed • Patients health • …
Models • Models are used to calculate the consequences • Of external events (e.g. earthquake) • Of decisions (e.g. sending ambulances) • Model input are OOI and other data • Model results create a single or a series of worldstates • Models are wrapped by WPS
Indicators • Indicators are used to get an overview of a situation • Number of patients • Time-Interval needed for rescue • Structured data like number of patients grouped by health status • …
KPI and ICC • Used for decision macking in a DSS • Compare wordstates under the assumption of specific goals • Indicator (Key Performance Indicator, KPI) • KPI: a single number (Length of a time interval, number of collapsed buildings, ..) • Criteria • Depending on a specific goal (Minimum recovery time, minimum recovery costs,..). Describes the importance of a single indicator value • Costs • The weighted sum from the indicators. This result depends on the goal
ICC https://www.youtube.com/watch?v=8IVl07sZoDg
ICMM • A central datastore / catalogue • Knows about worldstates • Relations between worldstates • Specific data stores • Indicator and ICC data • Knows about models and indicator services • Method to access them (e.g. WPS) • Concrete access data (e.g. WPS endpoint URL) • REST / JSON interface
GUI • Different GUIs exists within CRISMA • WireCloud • Web-Based • Different generic widgets can be combined to create a use-case specific GUI • Extendable by adding use-case specific widgets • Traditional Web-GUI • Use-case specific • Can also include WireCloud widgets • Installed application • Can also include WireCloud widgets
Modify widget size/position/name/ visibility WireCloud Combine various widgets to an application Put parts of the application on different tabs
Main components • WireCloud: GUI • ICMM: Something between database and catalogue; holds WorldStates and (references to) data and services • OOI-WSR: Datastore for No-GIS data • Models: Any model behind an WPS. Uses / manipulates ICMM, OOI-WSR and other data • Indicators: Technically a model. Calculates indicator values for ICMM, OOI-WSR and maybe other data and stores them in ICMM • PubSub: Publish-Subscribe service (FI-WARE Orion) • A WMS for background maps
Architecture Overview(Just the C2-SENSE relevant part) C2-SENSE: ESB C2-SENSE: Emergency Maps Tool PubSub GUI WMS In C2-SENSE: NoMapDatastrore In C2-SENSE this would mean incoming sensor data, messages,… In C2-SENSE: Limit Service ICMM & OOI Models Indicator WPS
Communication within CRISMA PubSub GUI WMS New data ICMM & OOI Models Indicator WPS
Communication within CRISMA PubSub GUI WMS There are new data over there ICMM & OOI Models Indicator WPS
Communication within CRISMA PubSub GUI WMS There are new data over there ICMM & OOI Models Indicator WPS
Communication within CRISMA Show mashup Get background maps PubSub GUI WMS Get data ICMM & OOI Models Indicator WPS
Communication within CRISMA PubSub GUI WMS There are new data over there ICMM & OOI Models Indicator WPS
Communication within CRISMA PubSub GUI WMS Get data Calculate Indicators Store result (new data) ICMM & OOI Models Indicator WPS
Communication within CRISMA PubSub GUI WMS There are new data over there ICMM & OOI Models Indicator WPS
Communication within CRISMA PubSub GUI WMS There are new data over there ICMM & OOI Models Indicator WPS
Communication within CRISMA Refresh screen PubSub GUI WMS Get data ICMM & OOI Models Indicator WPS
Modify widget size/position/name/ visibility CRISMA Application GUI Combine various widgets to an application Put parts of the application on different tabs
Wiring Connect Input/Output endpoints graphically
Marketplace Upload widgets to local or public (FI-Ware Standard) marketplace
Mashups with WireCloud ENVIROFI example • http://catalogue.envirofi.eu/news/envirofi-wirecloud-demo CRISMA “pilot C” example • https://crisma-cat.ait.ac.at/pilot/Accidental-spillage-from-a-container-at-large-city-port-%28Israel%29/documentation Application Mashup - Wirecloud - User and Programmer Guide • https://forge.fiware.org/plugins/mediawiki/wiki/fiware/index.php/Application_Mashup_-_Wirecloud_-_User_and_Programmer_Guide
CRISMA deployment • Initial situation at project start: as in every international project. • Each partner provides one or more services. • These are used by other partners over the internet. • The interfaces are essential: Common data model, REST and JSON, OGC WPS,… • Later demonstrations (e.g. project review in Brussels): • Internet to slow, not reliable • Some partners are just updating something, so service is not available and incompatible afterwards • Pilot implementations and deployment: • Have dedicated service instances • Have them locally – great for development, essential at deployment time for security and policy reasons
Initial Situation • Each CRISMA Application consists of a set of services • CRISMA-external services might also be used (e.g. background maps from a public WMS) • Typically services are distributed and accessed over the public internet • This even allows failover by the usage of alternative services if a service is not available • But in security sensitive and crisis management use cases the usage of wide area networks is not permitted • Security concerns • Expected loss of network connectivity Image: Stolen from the internet
CRISMA Applications need a lot of services • Example: Resource Management Training • CRISMA services • ICMM • OOI-WSR • Agents Resource Model plus WPS • BasicIndicators including WPS • PubSub Service • WireCloud Service for the GUI • External services • Map-Data for background maps
One Server per Service? • It would be (sort of) simple to install a 19” rack • Unnecessary expensive • Hardware • Licenses • Power consumption • Lot of systems needing permanent maintenance Image: CC; Author Jfreyre; http://commons.wikimedia.org/wiki/File:Rack001.jpg
One Server to rule all Services? • Install all services on one machine • Will work in some cases only – we actually did this for PilotEv1 • But: • Technical problem: Some services need specific and different operating systems • Logistical problem: Services are delivered by different partners – messy integration, responsibilities become unclear • Some services might really need an own server for performance reasons
One Virtual Server per Service? • Virtualization allows to install all services as virtual machines on one real, big machine • Lot of overhead – Each service needs a full operating system installed • Better resource utilization compared to individual servers but still unnecessary expensive • Big hardware needed • Licenses • Lot of systems needing permanent maintenance • Some services might really need an own server for performance reasons
Containers? • Containers are the newest hype when delivering services to the cloud (e.g. Docker) • Small • Minimal overhead • Much more lightweight than virtual machines in terms of size and resources needed • Very easy to build and deploy • And they can also be used in a local setup • But: • Limited to some operating systems (Linux in the moment)
Combine solutions! • Deliver services as containers where possible • Limited to some operation systems • Docker can be used • Deliver virtual machines where needed • E.g. Windows-based services • Vagrant can be used • Deliver dedicated server machines for services with extreme performance needs • E.g. earthquake simulation model
Virtual machines / docker images so far • Crisma GUI • WireCloud Service for the GUI (Docker image) • Crisma Core Service • ICMM (Docker image) • Resource Management • OOI-WSR (VM) • Resource Model • Agents Resource Model (VM) • WPS for Resource Model (Docker image) • Indicators • WPS interface + Implementation (Docker image) • Context Broker • Orion (Docker image) • Crisma-external Services • OSM tile cache (Docker image)
Example: Pilot C OOI-WSR Resource Model crisma-pilotC.ait.ac.at FireWall Docker
Real server running ESXi (VM-Ware) Example: Pilot C OOI-WSR Virtual machines (VM-Ware) Resource Model crisma-pilotC.ait.ac.at FireWall Docker Containers (Docker)
Deployment example: Easy • Deployment to a demonstration / customer machine is very easy • Setup host machine with VM ESXi • Copy VM images needed • Deploy docker containers • Configure the internal services: Nothing needed • All services communicate using the internal network, so no changes needed • Even the GUI works using the internal network only! • Only network change is the external visible address. • This is handled by the FireWall VM (Apache virtual host config) • Only if there are external services used access needs to be configured
Application development is more work .-) • Adopt CRISMA to the users business case / problem domain • Implement specific data models (ICMM, OOI-WSR) • Implement new models or at least build an interface to existing specific models (WPS) • Implement indicators • Implement user specific GUI components