seba.md 4.06 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
---
layout: project

# Name of your project
title: SEBA

# Short description of the project
subtitle: Simulation of Evacuations based on SOBA.

# When the project started
startDate: 2019-12-05
# When the project finished
finishDate: ~


# State of the project
state: In progress

# Unique identifier of your project
id: ewetasker
github: https://github.com/gsi-upm/soba/tree/master/projects/seba
gitlab: ~
docs: http://soba.readthedocs.io/en/latest/projects/seba/
demo: ~
logo: ~
pypi: https://pypi.org/project/soba/
docker: ~

# Uncomment the categories where your project fit in
categories:
  - agent-and-social-simulation
#  - IR-and-Sentiment-Analysis
#  - Big-Data-and-Machine-Learning
#  - Linked-Data-and-Semantic-Technologies
#  - Web-and-Service-engineering
#  - Other-projects

# Some tags of your project such as programming language, topix, etc.
tags:
  - Agents
  - emergency-egress
  - affiliation-model
  - Python

# If your project inherit from other, or if it is very close to other project
# put here base file name of the other project. Ej: ewetasker.md -> ewetasker
related:
  - soba
  - ramen

# If your project has a demo, put here the base file name of the demo.
# Ej: ewetasker-server.md -> ewetasker-server
demos:
#  - ewetasker-server
#  - ewetasker-webclient

---

SEBA (Simulation of Evacuations Based on sobA) is a useful simulation tool for studies related to emergencies and evacuations in buildings. It is implemented in [Python](http://www.python.org/) on [SOBA](https://github.com/gsi-upm/soba) software.

Simulations can be defined in three different ways. First, using behavioral modeling and strategies already implemented, by defining the space and specific characteristics of the occupants. Second, through inheritance and modification of the models defined in the classes already implemented. Third, by modifying the current software implementation.

<br>
<br>
<br>
<br>


## Arquitecture Description

71
![arch](SEBAarquitectura.png)
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94

## SEBA Components

- [SOBA](https://github.com/gsi-upm/soba). Software tool base for the implementation of SEBA.
- [RAMEN](https://github.com/gsi-upm/RAMEN). It is an agent-based social simulation visualization tool for indoor crowd analytics based on the library Three.js. It allows to visualize a social simulation in a 3D environment and also to create the floor plan of a building.
- [Browser](https://www.google.com/chrome/). Using a browser a simple visualization can be made to know the performance of the simulation. This is also useful for debugging.
- [REST Service](https://www.getpostman.com/). The software provide an API defined as a REST service (Get, Post, Pull and Push methods are defined) to interact with the simulation.

## SEBA Modules

SEBA is implemented through 4 modules with classes with related functionalities.

- **Model**. This component is the center of the simulations. In the model class, the simulation starts, creating the variables and defining the conditions. During execution, it manages and functions as an intermediary between instances. In this class the strategies of the models are specified.
- *Agents*.
	- **Occupant**.  An object of the Occupant class is a type of agent developed and characterized to simulate the behavior of crowds in buildings. The occupants are agents with their activity defined by markov states.
	- **Avatar**. It enables to create avatars that represent virtual occupants, that is, they are not controlled by the simulation but by an API Rest, providing a means of interaction between simulation and real human participation.
	- **Fire**. Through this component the threat of the emergency is modeled, specifically a fire that spreads through the building.
- *Visualization*.
	- **Back.py** and **front js**. Two components provide a simple mechanism to represent the model in a web interface, based on HTML rendering though a server interface, implemented with web sockets. Connection between a JS file and a class py by means of parameters rendering.

- *Launchers*.
	- **RESTServer**. Specification of the REST service server deployment.
	- **Run**. Provides the execution of the simulation from terminal.