Mostrar el registro sencillo del ítem

Tesis Doctoral

dc.contributor.advisorPérez Jiménez, Mario de Jesúses
dc.contributor.advisorRiscos Núñez, Agustínes
dc.creatorValencia Cabrera, Luises
dc.date.accessioned2016-09-26T06:57:57Z
dc.date.available2016-09-26T06:57:57Z
dc.date.issued2015-02-02
dc.identifier.citationValencia Cabrera, L. (2015). Un entorno para la experimentación virtual con modelos computacionales basados en sistemas P. (Tesis doctoral inédita). Universidad de Sevilla, Sevilla.
dc.identifier.urihttp://hdl.handle.net/11441/45362
dc.description.abstract** Introducción Desde el principio de los tiempos, el Hombre se ha visto abocado a resolver problemas. En un principio problemas muy concretos, como huir de un peligro inminente, buscar un alimento en un momento dado o resguardarse del frío para continuar ejerciendo sus funciones vitales hasta nuevo aviso. Pero para avanzar en ello, es necesario plantear posibles estrategias que ayuden a resolver los problemas de manera general, no para cada caso particular, y para ello es conveniente dotarse de las mejores herramientas posibles. Para solucionar toda esa clase de problemas, la evolución ha llevado a la Humanidad a acumular una base de teorías y experiencias, de reflexiones y vivencias, que le ha ido proporcionando cada vez un mayor conocimiento de los fenómenos, de los entornos y circunstancias, de los problemas a los que se enfrenta, de sus herramientas y de sus posibles soluciones. No todos los problemas son de la misma naturaleza ni se pueden atacar de la misma forma. Algunos de ellos pueden ser resueltos de forma mecánica; es decir, mediante un procedimiento sistemático que no requiera un conocimiento mayor del problema a resolver sino, más bien, unas habilidades para ejecutar unas tareas elementales. En ese sentido, cualquier entidad o máquina, viva o no, que sea capaz de llevar a cabo cada tarea o instrucción recogida en el procedimiento sistemático, será capaz de ejecutar la solución del problema resuelto de forma mecánica. Un avance muy sustancial en la resolución de problemas de este tipo, resolubles de manera mecánica, se produjo con la aparición de los ordenadores electrónicos en la década de los cuarenta del pasado siglo, sobre las bases sentadas un siglo antes por parte de Charles Babbage y Augusta Ada Lovelace, cuando la tecnología del momento aún no estaba preparada para materializar el diseño realizado a nivel conceptual. Este salto cuantitativo que supuso la irrupción de los ordenadores electrónicos, tuvo un impacto enorme en el siglo XX y continúa hasta nuestros días. Se espera que esta tendencia continúe, si bien desde 1983 sabemos gracias a un resultado de R. Churchhouse que la velocidad de los procesadores electrónicos tiene un tope que jamás podrán superar. Esa limitación se traduce en la imposibilidad práctica de resolver problemas muy relevantes en la vida real mediante ordenadores con soporte electrónico. Por ello se procede a la búsqueda de caminos alternativos en una huida hacia delante, vías novedosas denominadas no convencionales. Una posibilidad por la que el Hombre ha optado en numerosas ocasiones es la de mirar a la Naturaleza como fuente de inspiración. La observación de que muchos de los fenómenos que tienen lugar en la Naturaleza pueden ser interpretados como procedimientos de cálculo, es la base de la Computación Natural, disciplina científica que recoge diversos paradigmas computacionales cuyo diseño se ha inspirado en procesos procedentes de la Naturaleza. En los últimos años, desde su creación por parte de Gheorghe Paun en 1998, la Computación Celular con Membranas ha sido uno de los paradigmas de la Computación Natural que más ha atraído a la la comunidad científica, proporcionando un marco computacional inspirado en la estructura y el funcionamiento de las células vivas, que tiene presente la capacidad de las células para efectuar de manera simultánea un gran número de procesos a nivel bioquímico, a nivel de cada compartimento de cada célula, de cada célula de un tejido, etc. En este sentido, ha habido diversas iniciativas desde su creación, tomando como referencia la célula y su estructura jerárquica interna, los tejidos formados por células o finalmente la comunicación que se produce entre neuronas, para producir modelos de computación muy diversos con un "tronco común". Esos nuevos modelos tratan de dar respuestas satisfactorias a la resolución de problemas que afectan al ser humano, concretamente la resolución de problemas abstractos mediante métodos mecánicos, pero tratando de salvar las limitaciones inherentes a la tecnología electrónica. La computación celular con membranas proporciona modelos de computación orientado a máquinas, descritos a través de la sintaxis de los dispositivos o máquinas cuya ejecución (de acuerdo con una semántica muy singular) proporciona, teóricamente, todas las funciones computables del modelo. En definitiva, resolver un problema dentro de estos modelos de computación conllevará la descripción de las máquinas correspondientes. Los dispositivos teóricos (las máquinas) de la computación celular con membranas se denominan, genéricamente, sistemas P. En función de la idea que los haya inspirado, tendremos sistemas P que trabajan a modo de células, sistemas P que trabajan a modo de tejidos o, incluso, sistemas P que trabajan a modo de neuronas. A su vez, existen diversas variantes de estos sistemas, la mayor parte de las cuáles se han demostrado universales (en el sentido de tener la misma potencia computacional que las máquinas de Turing), por lo que, de acuerdo con la tesis de Church-Turing serán capaces de resolver, teóricamente, cualquier problema resoluble mecánicamente (en la acepción informal del término). Además, se ha demostrado que muchas de esas máquinas tienen la capacidad de resolver de manera eficiente (en el sentido de la semántica paralela, maximal y no determinista) problemas computacionalmente duros; en particular, problemas NP{completos. Obviamente, la resolución en tiempo polinomial de esos problemas en tiempo polinomial no implica una demostración negativa de la conjetura P =/= NP ya que la solución polinomial se obtiene a cambio de usar una cantidad exponencial de espacio. De esta forma se ha producido un avance interesante en la resolución de problemas complejos en un modelo de computación que reduce drásticamente el número de pasos necesarios para responder a instancias del problema. No obstante, surge la problemática de implementar esos nuevos modelos de computación bioinspirados en máquinas cuyo soporte no sea el electrónico, a fin de sacar rentabilidad a las soluciones teóricas propuestas. ¿Disponemos de la tecnología necesaria para materializar ese diseño en una máquina real? La respuesta es que, de momento, no es posible. Precisamente esto es lo que sucedió, por ejemplo, a mediados del siglo XIX con las ideas de Babagge cuya máquina analítica establecía elementos básicos muy similares a los que rigen el funcionamiento de los ordenadores actuales. Desgraciadamente el sueño de Babbage nunca pudo ser hecho realidad debido, principalmente, a que la tecnología de la época no estaba lo "suficientemente preparada" para la ocasión. La aparición de nuevos paradigmas teóricos de computación abre muchas expectativas, si bien debe venir acompañado de importantes avances tecnológicos que permitan hacer realidad la construcción de máquinas inspiradas en esos paradigmas computacionalmente potentes. Dicho lo cual y a pesar de que esos nuevos modelos están aún bastante lejos de poder ser implementados, obviamente en soporte no electrónico, la tarea de diseño de máquinas teóricas debe continuar, a la vez que habrá que esforzarse en construir simuladores que permitan su fácil manejo, aunque no capture de manera literal la semántica de esos modelos. Si bien esos simuladores no podrán explotar toda la eficiencia computacional de las soluciones diseñadas, sí servirán, en cambio, para explorar las capacidades de los modelos, sus limitaciones, su expresividad y potencia descriptiva, así como profundizar en la solución de los problemas empleando el tipo de procedimientos mecánicos asociados a estos novedosos modelos. Desde la aparición de la Computación Celular con Membranas, se han proporcionado un buen número de soluciones a problemas tanto en el ámbito de lo que podríamos denominar problemas de la vida real, más cercanos a necesidades claramente identificables por las personas "de a pie", como a problemas aparentemente un poco más lejanos que tienen una alta complejidad pero que, a su vez, pueden representar (modelizar) a problemas concretos interesantes. Ese es el caso, por ejemplo, del problema de la 3-coloración de un grafo, aparentemente "un problema matemático" teórico pero subyacente a muchos problemas de la vida real en cuya esencia se pueda encontrar una serie de elementos que deben satisfacer restricciones que involucran a varios de ellos como, por ejemplo la construcción de determinados tipos de circuitos o la elaboración de un calendario de exámenes, entre otros. En el caso particular de fenómenos interesantes que aparecen en la vida real, es importante tratar de profundizar en el conocimiento en un sentido más amplio. Para ello, hay que capturar los detalles considerados como más relevantes acerca de los fenómenos que se estudian, a través de un proceso de abstracción en el que se determinen los elementos fundamentales a considerar (los fenómenos de la vida real en toda su extensión involucran, generalmente, demasiadas variables, parámetros y circunstancias, muchas de ellas desconocidas para nosotros) y se desechen otros que son considerados menos importantes para el fenómeno objeto de estudio. Como resultado de este proceso, analizando una serie de aspectos de un buen número de elementos y las posibles interrelaciones entre los mismos, se obtienen modelos formales que tratan de reproducir lo más fielmente posible la realidad del fenómeno que se estudia. Las soluciones a este tipo de problemas reales y de alta complejidad proporcionadas en el marco de un modelo de computación, deben venir acompañadas del desarrollo de simuladores a medida para resolver de forma práctica instancias concretas de los mismos que son las que suelen aparecer en la vida cotidiana. Estos simuladores ad hoc son asistentes del diseñador de soluciones para materializar respuestas concretas a problemas concretos que son modelizados por el problema abstracto. Es decir, parafraseando aquello de que "pan para hoy, hambre para mañana" es importante concentrar el esfuerzo en la resolución de problemas complejos abstractos de tal manera que las soluciones para instancias concretas tengan un amplio alcance. En este contexto, un paso fundamental en la búsqueda de esa solución lo más general posible de los problemas en el ámbito de la simulación de sistemas celulares fue el marcado por P-Lingua. Esta plataforma software proporciona un lenguaje estándar para la especificación de estos dispositivos computacionales, junto con herramientas para el reconocimiento y depuración del lenguaje, así como simuladores capaces de reproducir la dinámica que tendría el sistema real si su materialización ya fuera una realidad. De este modo, en su búsqueda por solucionar problemas y tras la evidencia de las limitaciones encontradas en otros paradigmas, el hombre no sólo cuenta con una sólida teoría y una experiencia en el ámbito de la computación celular con membranas, sino que también dispone de unas herramientas para la simulación de los diseños realizados, a falta de una implementación real. El diseñador de modelos formales en computación celular con membranas puede, así, dedicar sus esfuerzos al diseño de soluciones en el estudio de los fenómenos, sin preocuparse del desarrollo de simuladores para cada problema particular, dada la disponibilidad de simuladores de propósito general capaces de hacer ese trabajo. Así pues, partamos de que ya se dispone de un lenguaje, unas herramientas y unos simuladores de los sistemas P para analizar su dinámica a partir de un escenario (configuración) inicial hasta una determinada situación de parada. A pesar de todo ello, siempre existirá una gran cantidad de problemas a los que nos podremos enfrentar y todo esfuerzo será pequeño con la inmensidad que nos queda por conocer, más y mejor, el mundo que nos rodea y resolver los problemas derivados de ello. Ahora bien, ¿qué limitaciones encontramos y dónde podría aportarse un valor a la hora de resolver problemas? Como se ha comentado, se han proporcionado herramientas para evitar el desarrollo de simuladores a medida, se ha resuelto ese problema general y, por tanto, ya podemos centrarnos en diseñar los sistemas P para resolver los problemas y éstos podrán ser ejecutados mediante los simuladores proporcionados, pero... La provisión de un modelo computacional que resuelva un problema relacionado, por ejemplo, con un ecosistema real por parte del diseñador de sistemas P, ¿puede ayudar por sí solo a la mejor toma de decisiones por parte del ecólogo experto? ¿la existencia de un sistema P que represente, de forma sorprendentemente ajustada, una ruta señalizadora de proteínas relacionada con la apoptosis (muerte celular programada) puede dotar por sí sola de una herramienta interesante para el biólogo molecular? La respuesta no puede ser un categórico no, pero si leemos el enunciado de la pregunta podremos estar de acuerdo en que antes de convertirse en herramienta útil este sistema debe ser bien comprendido por el ecólogo o el biólogo molecular, o bien, si estamos en el ámbito de los problemas NP-completos, por el lógico, el matemático o el experto en el dominio del problema del que se trate. Con independencia del campo de aplicación o del dominio del problema relevante a resolver, si se va a trabajar con variantes de modelos de computación celular con membranas, el experto en el dominio del que se trate deberá tener ciertas nociones de los sistemas P. Para cada situación que se plantee el experto, en su profundización en el problema concreto en el que esté trabajando, deberá volver al modelo con el fin de codificar en el lenguaje P-Lingua, los datos correspondientes a la situación e interpretar la evolución de los elementos que participan en el modelo, en términos de la dinámica del sistema real que trata de analizar y cuyos problemas desea de resolver. De esta manera, el diseñador de modelos en computación celular, ha conseguido resolver un problema con carácter general, dotar de un marco computacional que resuelve el problema abstracto e, incluso, codificarlo en P-Lingua, trabajar con el reconocedor del lenguaje, depurarlo y "reproducirlo" con el simulador de propósito general a disposición en el ámbito de los sistemas P. Este es el nivel al que trabaja el diseñador de sistemas P, con un profundo conocimiento de este tipo de variantes, y capaz de interactuar con los expertos del dominio del problema profundizando en ese conocimiento sobre los fenómenos, así como con los sistemas y simuladores. Sin embargo, aparecen una serie de dificultades cuando hay que emplear este modelo con el fin de que sea una herramienta útil para la mejora en el conocimiento y la gestión práctica de los fenómenos por parte de los expertos en el dominio del problema. Sin olvidar que tales expertos deben trabajar con las mismas herramientas del diseñador, situarse al mismo nivel de abstracción y afrontar distintos problemas con esas herramientas. El principal objetivo del trabajo presentado en esta tesis es dar un nuevo paso en la senda abierta por P-Lingua para la resolución de problemas mediante modelos no convencionales, más específicamente, mediante modelos de computación celular con membranas. Se trata, pues, de acercar tales herramientas a los expertos en los fenómenos, procesos o sistemas complejos objetos de estudio, de tal modo que se acorte el salto importante que va desde el modelo teórico o la solución a nivel de diseñador, hasta la disposición de una solución práctica a nivel del usuario final. En este punto nos podemos preguntar si existen modelos de computación celular con membranas que hayan sido utilizados en la resolución de problemas reales por los expertos en los dominios en cuestión, ajenos a las interioridades de los sistemas P. En efecto, eso se ha logrado para determinadas variantes pero, tradicionalmente, eso ha supuesto un coste muy significativo, en ocasiones teniendo que desarrollar simuladores software a medida para resolver un problema concreto y, en otras ocasiones, pese a disponer de simuladores y diseños generales basados en P-Lingua se ha tenido que desarrollar una aplicación software de alto nivel para situarlo en el dominio del usuario final. El entorno de simulación presentado se denomina MeCoSim (Membrane Computing Simulator) y pretende cubrir esa necesidad, resolver ese problema. Es decir, se trata de implementar un mecanismo general para poner a disposición de los usuarios aplicaciones adaptables a cada problema particular, abstrayéndoles de las interioridades de los sistemas P y los modelos basados en ellos, que utilizarán como herramienta, a modo y manera que P-Lingua proporciona a los diseñadores de sistemas P herramientas que los abstraigan del detalle de los reconocedores y simuladores. De esta forma, se pretende que esos problemas reales a los que se ha buscado una vía alternativa de solución, una especie de huida hacia delante para resolverlos, sobreponiéndonos a las limitaciones de paradigmas convencionales, pasen del ámbito de los diseñadores de sistemas P a terminar constituyéndose en herramientas útiles para la resolución práctica de instancias tratables de los problemas, precisamente para aquellos que estén especialmente interesados en aumentar su conocimiento acerca de los fenómenos, pudiendo así erigirse en potentes asistentes para la mejor toma de decisiones acerca de la gestión de los fenómenos de interés. Para acometer el objetivo anterior y poner un pequeño granito de arena, una lágrima en el mar del conocimiento para sumar a los esfuerzos de tantos hermanos en la búsqueda de resolver los problemas que atañen a la Humanidad, se ha desarrollado el trabajo que, en la medida de lo posible, se trata de plasmar en los contenidos que se estructuran a continuación. ** Contenido de la memoria La memoria de esta tesis se ha estructurado en tres partes principales que en conjunto constituyen ocho capítulos cuyos contenidos pasan a describirse a continuación. Parte I: Preliminares La primera parte de la memoria se organiza a través de una serie de capítulos preliminares que tratan de sentar las bases sobre las que se sustenta el cuerpo de la tesis. El Capítulo 1 parte de la necesidad del Hombre de resolver problemas relevantes para su vida, y la existencia de determinadas soluciones a los mismos a través de procedimientos mecánicos. A continuación, se observa las limitaciones de los dispositivos de propósito general (ordenadores) que tienen soporte electrónico, a la hora de resolver determinadas instancias de problemas relevantes, así como la necesidad de explorar vías alternativas. Para ello, se recurre a métodos computacionales no convencionales inspirados en la Naturaleza viva, dentro de la disciplina de la Computación Natural. A continuación se profundiza un poco en el paradigma de la Computación Celular con Membranas, inspirada en la estructura y el funcionamiento de las células de los organismos vivos. Se proporcionan definiciones detalladas de varios dispositivos computacionales enmarcados en este paradigma, a saber, los sistemas P de transición, los sistemas P con membranas activas, así como los sistemas P que trabajan a modo de tejidos (incluyendo reglas de división celular o de separación celular). Además, se introduce el concepto de resolubilidad en tiempo polinomial de un problema de decisión en el ámbito de estos sistemas celulares. La última parte del capítulo está dedicada a explicar el rol que cumplen los simuladores de sistemas P, las características que debe presentar una buena plataforma de simulación y, finalmente, se realiza una revisión general de los simuladores paralelos desarrollados hasta el momento para sistemas P. El Capítulo 2 aborda la problemática que se encuentra el investigador a la hora de estudiar sistemas dinámicos complejos, con especial atención a aquellos que se dan en el mundo real y son de interés. Se profundiza en el proceso de modelización de la porción del mundo real que es objeto de estudio, desde la abstracción de los aspectos más relevantes de los fenómenos en cuestión, pasando por la representación de los elementos involucrados en los mismos, hasta el uso y finalidad de los modelos diseñados para aumentar el conocimiento acerca de los fenómenos estudiados. Además, se analiza la posibilidad de emplear los modelos como herramientas útiles para ayudar a una toma de decisiones más informada por parte de los gestores de los fenómenos de interés. Seguidamente se define con precisión el concepto de modelo formal y las fases que caracterizan el proceso de modelización, se recuerda la noción de modelo de computación y se describen las propiedades deseables en todo buen modelo formal. A continuación, se analizan diversas aproximaciones de modelos formales, tanto computacionales como no computacionales, y el tema finaliza describiendo la aleatoriedad inherente a los procesos que se dan en la vida real, así como la idoneidad de capturar ciertos aspectos de la misma a través de modelos matemáticos, estocásticos o probabilísticos. El Capítulo 3 centra la atención en el ámbito de los modelos computacionales dentro del paradigma de la Computación Celular con Membranas, fundamentalmente en su empleo como marco de modelización para el estudio de fenómenos de interés de la vida real. Así, se da un marco formal uniforme, los sistemas P multientorno, para la representación de sistemas complejos de diversa índole, bajo los que se encuentran dos aproximaciones diferentes que encajan perfectamente dentro del marco: los sistemas P multicompartimentales, para fenómenos moleculares y celulares de naturaleza esencialmente estocástica, y los sistemas P de dinámica de poblaciones, una aproximación probabilística empleada, fundamentalmente, en procesos relacionados con la evolución en el tiempo de ecosistemas reales. El resto del capítulo presenta una serie de algoritmos que permiten capturar la semántica de los dos tipos de sistemas multientorno mencionados, planteando además distintas posibilidades a la hora de reproducir la dinámica de los sistemas, en función de las características de los fenómenos bajo estudio, como la existencia de cooperación entre individuos o la competencia por determinados recursos. Parte II: Cuerpo El cuerpo de esta memoria presenta el núcleo del trabajo realizado, describiendo en primer lugar las herramientas conceptuales, metodológicas y prácticas desarrolladas y, a continuación, la aplicación a diversos problemas de interés, tanto para la resolución de problemas de la vida real como problemas teóricos computacionalmente duros, como son los problemas NP-completos. El Capítulo 4 se centra en la descripción del entorno de simulación MeCoSim, software de propósito general para la validación experimental y experimentación virtual de los modelos analizados en los capítulos anteriores. Inicialmente se introducen las herramientas, su origen y los objetivos principales que motivan su aparición. A continuación, se detalla la estructura interna del entorno y las principales funcionalidades proporcionadas tanto al diseñador de sistemas P, poniendo a su disposición un conjunto de facilidades para el diseño, depuración e introspección del modelo, como al usuario final, al que se le proporciona una aplicación visual que le permite trabajar a alto nivel centrando su atención en el estudio de los fenómenos de su interés, introduciendo sus escenarios y realizando las simulaciones correspondientes hasta obtener resultados, abstrayéndole de los detalles internos de los modelos. El capítulo finaliza con la presentación de una metodología para la solución de problemas en el ámbito de los sistemas P, desde el estudio inicial de los fenómenos hasta la utilización de herramientas adaptadas a las necesidades del usuario, para la experimentación virtual y la posible toma de decisiones anticipando las posibles consecuencias de los potenciales escenarios estudiados. El Capítulo 5 se enfoca en la novedosa aparición de los simple kernel P systems, una variante de sistemas celulares que pretende actuar como modelo integrador, aglutinador de diferentes elementos de diversas variantes de sistemas P que ya habían sido diseñadas y utilizadas con anterioridad. El objetivo de esa variante consiste en proporcionar un único formalismo capaz de simular la acción de la mayor cantidad de variantes de sistemas P anteriores. De esta manera, será posible realizar determinados tratamientos y estudios sobre los modelos, como la verificación de propiedades sobre los mismos, de manera uniforme, sin necesidad de desarrollar dichos mecanismos para cada variante de sistemas P. Además, los elementos introducidos en este modelo formal tratan de facilitar el diseño de soluciones basadas en sistemas P, en lugar de muchos otros formalismos destinados a disponer de un conjunto mínimo de elementos capaz de resolver el mayor espectro posible de problemas con dichos ingredientes. Los capítulos 6 y 7 presentan sendas aplicaciones en el ámbito de los problemas de la vida real y de los problemas NP-completos. El Capítulo 6 comienza ofreciendo una panorámica y un poco de historia sobre la simulación de modelos de sistemas dinámicos que se dan en la vida real, e ilustra el uso del entorno y la metodología desarrollados en el Capítulo 4 para la modelización, análisis y simulación de fenómenos interesantes que aparecen en la vida real; por ejemplo, la gestión de un ecosistema acuático afectado por la presencia de una especie exótica invasora. Este caso de estudio supone un gran reto dado que se trata de un sistema complejo con un gran número de procesos y elementos involucrados interrelacionados entre sí y, a la vez, permite mostrar las capacidades proporcionadas por las herramientas anteriores. Finalmente, en este capítulo se detalla la aplicación de P-Lingua y MeCoSim como entorno vertebrador de la metodología propuesta, articulando las diversas fases de la misma. El Capítulo 7 se centra en el uso de la plataforma proporcionada para trabajar en la resolución de problemas NP-completos bien conocidos. Para ello, se parte de la representación de dichos problemas y su modelización mediante sistemas P, incluyendo su traducción a P-Lingua, su reconocimiento sintáctico, depuración y simulación e introspección del sistema paso a paso. Así se consigue proveer una aplicación visual de alto nivel basada en MeCoSim para la introducción de diversas entradas adaptadas para cada problema, de tal manera que sea reconocible por el usuario y se pueda trabajar en el problema obviando las interioridades de su solución, con el fin de obtener resultados visuales adecuados para el dominio de su problema. Parte III: Resultados La tercera parte de la memoria pone el punto (y seguido) a la labor desempeñada. El Capítulo 8 comienza con las conclusiones extraídas del trabajo realizado y de las aportaciones comentadas en esta sección. Posteriormente se proponen las principales líneas de investigación en las que ya se ha empezado a trabajar para continuar la senda abierta por esta tesis, así como las principales ideas de líneas de trabajo futuro que se considera podrían aportar grandes avances en la búsqueda de soluciones prácticas a problemas relevantes en diversos ámbitos. Finalmente, se presentan algunos apéndices adicionales que tratan de cumplir varios objetivos complementarios al núcleo del trabajo presentado. Por un lado, intentar hacer justicia con la cantidad de paquetes software de los que se ha hecho uso durante el desarrollo del trabajo, ilustrando la funcionalidad que han aportado al entorno de simulación. Por otro lado, presentar el sitio web desarrollado para ilustrar las funcionalidades de MeCoSim a través de páginas, documentos y vídeos de uso, con el fin de servir de repositorio de aplicaciones, modelos y escenarios para las soluciones basadas en sistemas P. El objetivo es facilitar a la comunidad de Membrane Computing el trabajo práctico de modelización y simulación con sistemas P, así como la provisión a los usuarios de aplicaciones adaptadas a cada problema real para los usuarios finales, a modo y manera que las herramientas anteriores han sido de gran utilidad para el desarrollo del entorno de simulación MeCoSim. ** Aportaciones Entre las aportaciones realizadas a lo largo del desarrollo del presente trabajo, queremos destacar las que se relacionan a continuación. - Diseño de una metodología para el empleo de soluciones basadas en sistemas P como herramientas capaces de asistir en la búsqueda de mayor conocimiento y la gestión de los problemas de interés, involucrando los pasos necesarios desde el estudio inicial del problema hasta la disposición de la aplicación software adaptada al mismo, así como los procesos de modelización, depuración, introspección, parametrización y personalización de aplicaciones, simulación, visualización, análisis de datos, extracción de propiedades invariantes y verificación de las mismas. - Desarrollo de un entorno de simulación capaz de proporcionar los mecanismos adecuados para dar respuesta a los objetivos planteados por la metodología anterior, tanto a los diseñadores de soluciones basadas en sistemas P como a los usuarios finales de las aplicaciones. Estos mecanismos desarrollados han debido proporcionar el entorno de simulación general, y herramientas que sean a la vez lo suficientemente generales y flexibles para que puedan tratar cualquier solución basada en sistemas P, como personalizables para poder adaptarse a las necesidades de los usuarios de la mayor diversidad posible de problemas. - Diseño e implementación de un mecanismo de extensibilidad para poder dotar al entorno general de nuevos mecanismos de extensibilidad, que amplíen la funcionalidad general, tanto actual como prevista del entorno, a través de una arquitectura de plugins en la que poder incorporar programas basados tanto en tecnologías similares a las empleadas por MeCoSim como completamente externos, conectables a MeCoSim a partir de una simple configuración. De tal modo que podamos llamar a dichos programas externos desde nuestro entorno general a través del sistema operativo. Los mecanismos desarrollados van en la línea de uno de los principales objetivos de MeCoSim: la vertebración, estandarización y articulación del proceso de modelización y simulación aunando para ello cuantos más herramientas y esfuerzos mejor, haciendo bueno el principio holístico de que el todo es mayor que la suma de las partes, premisa con la que ya se presentara MeCoSim en el congreso BIC-TA 2010 en la República Popular China. - Desarrollo e integración de plugins para la solución de requisitos específicos en respuesta a diversos problemas, como la introducción de fórmulas proposicionales de forma amigable para el usuario (SAT plugin), la visualización de grafos para problemas relacionados con este tipo de elementos (Graphs plugin), la extracción de invariantes mediante la conexión con el software Daikon (Daikon plugin), la simulación externa a través del software Spin (Promela plugin), o el proyecto piloto para el desarrollo de funcionalidades adicionales para MeCoSim codificadas en diversos lenguajes de programación (con una conexión inicial al compilador GHC tras introducir código Haskell) (Languages Integration plugin). - Diseño de un lenguaje para simple kernel P systems en P-Lingua, capturando los elementos esenciales del marco y extendiendo P-Lingua para incorporar los elementos necesarios. - Desarrollo de herramientas para el reconocimiento léxico-sintáctico y desarrollo de un simulador en el framework de P-Lingua, con el fin de reconocer, depurar y simular soluciones basadas en simple kernel P systems. - Aplicación de la metodología y las herramientas desarrolladas a un buen número de problemas de la vida real (aves carroñeras, rebeco, alianzas de plantas, tritones, anfibios, peces, mejillón cebra, pandemias, redes genéticas y producción animal porcina) y a un conjunto de problemas NP-completos (SAT, 3-COL, Subset Sum, Partition, Vertex Cover y Broadcasting). - Desarrollo de un sitio web para la descarga e instalación de MeCoSim y difusión de la información documental y audiovisual para el empleo de las funcionalidades básicas proporcionadas, así como para la centralización de repositorios de aplicaciones, modelos y escenarios correspondientes a soluciones basadas en sistemas P. ** Conclusiones El trabajo que se ha desarrollado en la presente memoria trata de dar un paso hacia la disposición real, para el común de los seres humanos, de herramientas prácticas con las que resolver problemas en el ámbito citado. Para ello, se ha diseñado una metodología que va desde la observación del problema a resolver, hasta la provisión de una aplicación software para asistir en la profundización del conocimiento acerca de los fenómenos objetos de estudio, a través de la realización de experimentos virtuales que permita anticipar la respuesta del sistema estudiado antes diferentes posibles escenarios que pudieran ser de interés. Junto con la metodología referida, se ha desarrollado un entorno virtual de simulación, MeCoSim (Membrane Computing Simulator), que articula la propuesta metodológica a través de herramientas lo suficientemente generales y flexibles para abarcar el mayor número de problemas posible y, a la vez, lo suficientemente personalizables con el fin de ajustarse a las necesidades de cada aplicación particular de la metodología. Este entorno permite la liberación de aplicaciones adaptadas para los usuarios finales de cada problema particular, dotándole internamente de todas las herramientas proporcionadas por el marco de P-Lingua, pero de forma transparente, de tal manera que los sistemas P no sean para él el fin sino el medio. Por ello, para los diseñadores de sistemas P el entorno actuará como un IDE (Integrated Development Environment) suponiendo una capa adicional de introspección y tratamiento visual de los modelos basados en sistemas P, mientras que para los usuarios finales se dispondrá de una aplicación visual para la gestión del fenómeno de su interés, adaptado al dominio del problema. En esa aplicación se podrán introducir los datos específicos del escenario a estudiar, realizar los experimentos virtuales simulando el comportamiento del sistema real y observar las salidas derivadas del modelo, mediante datos tabulados o gráficas que ilustren la evolución de las componentes básicas, en el ámbito de estudio del usuario final, ajeno a las interioridades de los sistemas P subyacentes y la complejidad del marco sobre el que se construye. Los objetivos de este entorno requieren que sea, además, lo suficientemente extensible para permitir la ampliación de la cobertura de problemas y funcionalidades actuales y previstas. Para ello, se ha desarrollado, junto con el entorno de simulación MeCoSim, una arquitectura de plugins que permita la integración con otras herramientas software implementadas en la misma o en tecnologías distintas a la empleada por MeCoSim. El entorno se ha integrado con algunas herramientas externas a través del desarrollo de un primer conjunto de plugins, como es el caso del detector de invariantes Daikon o el Model Checker Spin. Además, se han desarrollado otros plugins para la visualización de estructuras basadas en grafos, con el fin de incorporar desde MeCoSim funciones en otros lenguajes de programación, como Haskell, o bien para la introducción de fórmulas proposicionales en un lenguaje muy similar al empleado por los lógicos. Conviene destacar la colaboración realizada en el desarrollo y adaptación de distintos simuladores en el ámbito de los sistemas P de Dinámica de Poblaciones, de los sistemas P de tejido, o de los sistemas P que funcionan a modo de nueronas. Ante la diversidad de estos sistemas y variantes, para determinados fines, como es el caso de la verificación automática de modelos, se ha participado en el diseño y aplicación práctica de un nuevo formalismo con la finalidad de unificar, homogeneizar en cierto sentido, la variedad existente de sistemas P. Dentro de éstos, se ha desarrollado en el marco de P-Lingua tanto el lenguaje como un reconocedor léxico-sintáctico, así como un primer simulador de un subconjunto de los mismos: los simple kernel P systems. El diseño de una metodología y el desarrollo de una serie de herramientas vertebradoras no pueden, por sí solo, demostrar la utilidad de una propuesta para la resolución práctica de problemas reales que afecten al ser humano, tanto en el ámbito de aplicaciones sobre la vida real como en la resolución de problemas NP-completos bien conocidos que puedan repercutir, en última instancia, sobre otros problemas más cercanos a las necesidades del día a día. Afortunadamente, desde sus inicios, este desarrollo ha venido acompañado de múltiples aplicaciones prácticas de la metodología y de las herramientas, a un gran número de problemas tanto de la vida real (estudio de la dinámica de ecosistemas reales como el quebrantahuesos en la zona pirenaico catalana o en el pirineo navarro, análisis de los efectos de los pestivirus en la población del rebeco en el pirineo catalán, reintroducción de una especie de pájaros en una zona de Cataluña, alianzas de plantas, tritones, desarrollo y crecimiento de anfibios en estanques naturales, producción animal porcina, plan de control de la especie invasora del mejillón cebra, estudio de pandemias o redes de genes, etc.) como del ámbito de la teoría de la complejidad computacional, aplicándose a la resolución de problemas NP-completos bien conocidos como SAT, 3-COL, Subset Sum, Vertex Cover o Partition. En ellas se han hecho uso de diversas variantes como los sistemas P con membranas activas, sistemas P de tejidos con reglas de división o de separación celular, sistemas P que trabajan a modo de neuronas, simple kernel P systems o sistemas P de Dinámica de Poblaciones (PDP systems) en el ámbito de la modelización de sistemas complejos. Las herramientas desarrolladas están siendo utilizadas en la actualidad por grupos de investigación de diversas universidades en Lleida, Sheffield (U.K.), Bucarest y Pitesti (Rumanía), Wuhan y Chengdu (China). Además, tenemos conocimiento de la aparición de nuevos trabajos que comienzan a emplearlas (el último de ellos, que tengamos constancia, desde Malasia).es
dc.formatapplication/pdfes
dc.language.isospaes
dc.rightsAttribution-NonCommercial-NoDerivatives 4.0 Internacional*
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/4.0/*
dc.titleUn entorno para la experimentación virtual con modelos computacionales basados en sistemas Pes
dc.typeinfo:eu-repo/semantics/doctoralThesises
dcterms.identifierhttps://ror.org/03yxnpp24
dc.type.versioninfo:eu-repo/semantics/publishedVersiones
dc.rights.accessRightsinfo:eu-repo/semantics/openAccesses
dc.contributor.affiliationUniversidad de Sevilla. Departamento de Ciencias de la Computación e Inteligencia Artificiales
dc.contributor.groupUniversidad de Sevilla. TIC193: Computacion Naturales
idus.format.extent294 p.es
dc.identifier.idushttps://idus.us.es/xmlui/handle/11441/45362
dc.description.awardwinningPremio Extraordinario de Doctorado US

FicherosTamañoFormatoVerDescripción
O_Tesis-PROV49.pdf5.672MbIcon   [PDF] Ver/Abrir  

Este registro aparece en las siguientes colecciones

Mostrar el registro sencillo del ítem

Attribution-NonCommercial-NoDerivatives 4.0 Internacional
Excepto si se señala otra cosa, la licencia del ítem se describe como: Attribution-NonCommercial-NoDerivatives 4.0 Internacional