Repositorio UTM
Por favor, use este identificador para citar o enlazar este ítem: http://repositorio.utm.mx:8080/jspui/handle/123456789/106
Registro completo de metadatos
Campo DC Valor Lengua/Idioma
dc.rights.licenseAtribución No Comercial Sin Derivadases
dc.contributorFELIPE DE JESUS TRUJILLO ROMERO;100865es
dc.contributor.advisorTrujillo Romero, Felipe De Jesús-
dc.contributor.authorAguilar López, José Yedid-
dc.creatorJOSE YEDID AGUILAR LOPEZ;435930es
dc.date.accessioned2019-06-07T17:10:58Z-
dc.date.available2019-06-07T17:10:58Z-
dc.date.issued2014-03-
dc.identifier.citationAguilar, J. (2014). Implementación en erlang de sistemas distribuidos a través del cálculo de eventos (Tesis para obtener el grado de Maestro en Tecnologías de Cómputo Aplicado). Universidad Tecnológica de la Mixteca, Huajuapan de León, Oaxaca.es
dc.identifier.urihttp://repositorio.utm.mx:8080/jspui/handle/123456789/106-
dc.description.abstractEl desarrollo de software es una actividad compleja que involucra el uso de procesos, metodologías, tecnologías, modelado de sistemas, prácticas de programación, entre otros, los cuales evolucionan y surgen nuevos debido a necesidades de la época: programación directa en hardware, automatización de cálculos científicos y financieros, aplicaciones para Internet, reúso de software, cómputo distribuido y las aplicaciones para dispositivos móviles, son unos casos; además de la necesidad de crear software cada vez más diverso, robusto y complejo. El campo que estudia esto es la ingeniería de software, una disciplina que se ocupa de todos los aspectos de la producción de software. Entre las actividades fundamentales que se deben realizar en esta ingeniería, independientemente de la metodología que se siga, se encuentra la especificación de software, donde se definen las funcionalidades y limitaciones que tendrá el software apoyándose en notaciones gráficas, matemáticas y lógicas principalmente. Esta tesis de maestría se sitúa en este contexto, se propone una notación para el modelado de sistemas distribuidos y concurrentes con paso de mensajes, los cuales se caracterizan por el uso de procesos y las formas en que estos se comunican. La notación podrá ser utilizada en la etapa de especificación de estos sistemas y también en la etapa de implementación, ya que posee una correspondencia unidireccional con la programación concurrente del lenguaje funcional Erlang. El modelado con esta notación será para aquellos procesos que se comuniquen a través del paradigma paso de mensajes, está basada en el formalismo lógico cálculo de eventos y a diferencia de otras notaciones, toma en cuenta la variable tiempo para indicar de forma explícita cuando ejecutar la creación de nuevos procesos, el envío de mensajes y la recepción de estos entre procesos. Una distinción más con notaciones como las Redes de Petri o Álgebras de Procesos (CCS, CSP, ACP, Cálculo Pi) es que estas todavía carecen de una correspondencia unidireccional con la sintaxis de Erlang que permita dar la pauta para programar el sistema. Se ha elegido a Erlang como plataforma de implementación debido a que está totalmente orientado al desarrollo de estos sistemas distribuidos y concurrentes, en contraste (incluso la comparación es injusta) con otros lenguajes de propósito general como Pascal, C, C++, Java o Ruby, en los que también se pueden implementar pero se realiza con los procesos nativos del sistema operativo en los que hay cuidar la memoria compartida y evitar bloqueos, o con sus máquinas virtuales que demandan más capacidad que la de Erlang, ya que este emplea procesos ligeros y los gestiona prescindiendo de los nativos librándose así de problemas conocidos cuando los procesos comparten memoria. Además, este lenguaje de programación está preparado para el uso de procesos a gran escala, existen aplicaciones y proyectos en la industria del software que utilizan este lenguaje, por ejemplo en aplicaciones web (la base de datos distribuida Amazon SimpleDB), en mensajería móvil (Whatsapp, Facebook) o en sistemas de telecomunicaciones (T-Mobile). Así, la base de la notación está dada en el cálculo de eventos, que se emplea para el razonamiento acerca de acciones que ocurren en el mundo real y sus efectos. Estas acciones y efectos se describen en forma narrativa tomando en cuenta el factor tiempo para conocer cuando ocurren. La notación que se plantea se llama ProME (notation for Process Modeling Erlang), se definen a detalle sus elementos y sintaxis a considerar para el modelado de estos sistemas, asimismo se describe cómo se da la correspondencia hacia la sintaxis de la programación concurrente de Erlang, consiguiendo una interpretación directa entre la notación basada en el cálculo de eventos y Erlang. Las contribuciones de la tesis se dan en tres sentidos: primero, la aplicación del cálculo de eventos, como un subsistema de la lógica, para la especificación de sistemas distribuidos y concurrentes con paso de mensajes; segundo, proveer una notación, como herramienta teórica, que auxilie las etapas de especificación e implementación de este tipo de sistemas; y tercero, constituir una relación entre el cálculo de eventos y la sintaxis de Erlang que facilite la programación de estos sistemas.es
dc.language.isospaen
dc.publisherUniversidad Tecnológica de la Mixtecaes
dc.relation.ispartofREPOSITORIO NACIONAL CONACYTes
dc.rightsopenAccessen
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/4.0en
dc.subjectsistemas distribuidos, sistemas operativos (computadoras), erlang (software)es
dc.subject.other7 INGENIERIA Y TECNOLOGIAes
dc.titleImplementación en erlang de sistemas distribuidos a través del cálculo de eventoses
dc.typeTesis de Maestríaes
dc.creator.studiesPMaestría en Tecnologías de Cómputo Aplicadoes
dc.type.statuspublishedVersionen
Aparece en las colecciones: Maestría

Ficheros en este ítem:
Fichero Descripción Tamaño Formato  
2014-MTCA-JYAL.pdf872.87 kBAdobe PDFVisualizar
facebook


Este ítem está sujeto a una licencia Creative Commons Licencia Creative Commons Creative Commons