Universidad Complutense de Madrid
E-Prints Complutense

Diseño e implementación del kernel de xDEVS, versión distribuida

Impacto

Downloads

Downloads per month over past year



Llorente de la Cita, Guillermo and Lázaro-Carrasco Hernández, Luis (2016) Diseño e implementación del kernel de xDEVS, versión distribuida. [Trabajo Fin de Grado]

[img]
Preview
PDF
Creative Commons Attribution Non-commercial.

1MB


Abstract

Para entender nuestro proyecto, debemos comprender DEVS. Dentro de los formalismos más populares de representación de sistemas de eventos discretos se encuentra DES. En la década de los 70, el matemático Bernard Zeigler propuso un formalismo general para la representación de dichos sistemas. Este formalismo denominado DEVS (Discrete EVent System Specification) es el formalismo más general para el tratamiento de DES. DEVS permite representar todos aquellos sistemas cuyo comportamiento pueda describirse mediante una secuencia de eventos discretos. Estos eventos se caracterizan por un tiempo base en el que solo un número de eventos finitos puede ocurrir.
DEVS Modelado y Simulación tiene múltiples implementaciones en varios lenguajes de programación como por ejemplo en Java, C# o C++. Pero surge la necesidad de implementar una plataforma distribuida estable para proporcionar la mecánica de interoperabilidad e integrar modelos DEVS diversificados.
En este proyecto, se nos dará como código base el core de xDEVS en java, aplicado de forma secuencial y paralelizada. Nuestro trabajo será implementar el core de manera distribuida de tal forma que se pueda dividir un sistema DEVS en diversas máquinas.
Para esto hemos utilizado sockets de java para hacer la transmisión de datos lo más eficiente posible. En un principio deberemos especificar el número de máquinas que se conectarán al servidor. Una vez estas se hayan conectado se les enviará el trabajo específico que deberán simular.
Cabe destacar que hay dos formas de dividir un sistema DEVS las cuales están implementadas en nuestro proyecto. La primera es dividirlo en módulos atómicos los cuales son subsistemas indivisibles en un sistema DEVS. Y la segunda es dividir las funciones de todos los subsistemas en grupos y repartirlos entre las máquinas.
En resumen el funcionamiento de nuestro sistema distribuido será comenzar ejecutando el trabajo asignado al primer cliente, una vez finalizado actualizará la información del servidor y este mandara la orden al siguiente y así sucesivamente.

Resumen (otros idiomas)

In order to understand our project, it is necessary to understand DEVS. DES is one of the most popular representation formalisms of discrete event systems. In the 70s, the mathematician Bernard Zeigler proposed a general formalism for the representation of such systems. This formalism called DEVS (Discrete EVent System Specification) is the most general formalism for the treatment of DES. DEVS allows to represent all those systems whose behaviour can be described by a sequence of discrete events. These events are characterized by a timebase in which only a finite number of events can occur. DEVS Modeling and Simulation has multiple implementations with several computer languages such as Java, C# or C++. Therefore emerges the need of a stable distributed platform to provide interoperability mechanics and integration of diversified DEVS models. In this project, we will be given the core of xDEVS in java as code base, applied sequentially and in a parallelized way. Our job is to implement the distributed form of the xDEVS core so that it can divide a DEVS system into different machines. For this purpose, we have used java sockets for efficient data transmission. At first we specify the number of machines that will connect to the server. Once these have been connected, the server will send them the specific work to be simulated. There are two ways of dividing a DEVS system which are implemented in our proyect. The first one is dividing into atomic modules which are indivisible subsystems. The second is to divide the functions of all subsystems in groups and spread them between machines. To summarize the operation of our distributed system will be start executing the work assigned to the first worker, once completed will update the server and these will send the order to the next and so on.

Item Type:Trabajo Fin de Grado
Additional Information:

Trabajo de Fin de Grado en Ingeniería de Computadores (Universidad Complutense, Facultad de Informática, curso 2015/2016)

Directors:
DirectorsDirector email
Risco Martín, José Luis
Uncontrolled Keywords:Modelado y simulación, Sistemas de eventos discretos, Formalismo DEVS y xDEVS, Sistemas Distribuidos, Sockets y JavaSockets, Benchmark DEVStone
Palabras clave (otros idiomas):Modeling and simulation, Discrete events system, DEVS formalism and xDEVS, Distributed Systems, Sockets and JavaSockets, DEVStone benchmark
Subjects:Sciences > Computer science > Expert systems (Computer science)
Sciences > Computer science > Software
Título de Grado:Grado en Ingeniería de Computadores
ID Code:39843
Deposited On:02 Nov 2016 17:12
Last Modified:23 Mar 2020 13:16

Origin of downloads

Repository Staff Only: item control page