16 resultados para Java Virtual Machine

em Universidad Politécnica de Madrid


Relevância:

100.00% 100.00%

Publicador:

Resumo:

This paper presents a methodology for the incorporation of a Virtual Reality development applied to the teaching of manufacturing processes, namely the group of machining processes in numerical control of machine tools. The paper shows how it is possible to supplement the teaching practice through virtual machine-tools whose operation is similar to the 'real' machines while eliminating the risks of use for both users and the machines.

Relevância:

80.00% 80.00%

Publicador:

Resumo:

Competitive abstract machines for Prolog are usually large, intricate, and incorpórate sophisticated optimizations. This makes them difñcult to code, optimize, and, especially, maintain and extend. This is partly due to the fact that efñciency considerations make it necessary to use low-level languages in their implementation. Writing the abstract machine (and ancillary code) in a higher-level language can help harness this inherent complexity. In this paper we show how the semantics of basic components of an efficient virtual machine for Prolog can be described using (a variant of) Prolog which retains much of its semantics. These descriptions are then compiled to C and assembled to build a complete bytecode emulator. Thanks to the high level of the language used and its closeness to Prolog the abstract machine descriptions can be manipulated using standard Prolog compilation and optimization techniques with relative ease. We also show how, by applying program transformations selectively, we obtain abstract machine implementations whose performance can match and even exceed that of highly-tuned, hand-crafted emulators.

Relevância:

80.00% 80.00%

Publicador:

Resumo:

En los últimos años, debido al notable desarrollo de los terminales portátiles, que han pasado de ser “simples” teléfonos o reproductores a puros ordenadores, ha crecido el número de servicios que ofrecen cada vez mayor cantidad de contenido multimedia a través de internet. Además, la distinta evolución de estos terminales hace que nos encontremos en el mercado con una amplísima gama de productos de diferentes tamaños y capacidades de procesamiento, lo que hace necesario encontrar una fórmula que permita satisfacer la demanda de dichos servicios sea cual sea la naturaleza de nuestro dispositivo. Para poder ofrecer una solución adecuada se ha optado por la integración de un protocolo como RTP y un estándar de video como SVC. RTP (Real-time Transport Protocol), en contraposición a los protocolos de propósito general fue diseñado para aplicaciones de tiempo real por lo que es ideal para el streaming de contenido multimedia. Por su parte, SVC es un estándar de video escalable que permite transmitir en un mismo stream una capa base y múltiples capas de mejora, por lo que podremos adaptar la calidad y tamaño del contenido a la capacidad y tamaño de nuestro dispositivo. El objetivo de este proyecto consiste en integrar y modificar tanto el reproductor MPlayer como la librería RTP live555 de tal forma que sean capaces de soportar el formato SVC sobre el protocolo RTP y montar un sistema servidorcliente para comprobar su funcionamiento. Aunque este proceso esté orientado a llevarse a cabo en un dispositivo móvil, para este proyecto se ha optado por realizarlo en el escenario más sencillo posible, para lo cual, se emitirán secuencias a una máquina virtual alojada en el mismo ordenador que el servidor. ABSTRACT In recent years, due to the remarkable development of mobile devices, which have evolved from "simple" phones or players to computers, the amount of services that offer multimedia content over the internet have shot up. Furthermore, the different evolution of these terminals causes that we can find in the market a wide range of different sizes and processing capabilities, making necessary to find a formula that will satisfy the demand for such services regardless of the nature of our device. In order to provide a suitable solution we have chosen to integrate a protocol as RTP and a video standard as SVC. RTP (Real-time Transport Protocol), in opposition to general purpose protocols was designed for real-time applications making it ideal for media streaming. Meanwhile, SVC is a scalable video standard which can transmit a single stream in a base layer and multiple enhancement layers, so that we can adapt the quality and size of the content to the capacity and size of our device. The objective of this project is to integrate and modify both MPlayer and RTP library live555 so that they support the SVC format over RTP protocol and set up a client-server system to check its behavior. Although this process has been designed to be done on a mobile device, for this project we have chosen to do it in the simplest possible scenario so we will stream to a virtual machine hosted on the same computer where we have the server.

Relevância:

80.00% 80.00%

Publicador:

Resumo:

El mundo tecnológico está cambiando hacia la optimización en la gestión de recursos gracias a la poderosa influencia de tecnologías como la virtualización y la computación en la nube (Cloud Computing). En esta memoria se realiza un acercamiento a las mismas, desde las causas que las motivaron hasta sus últimas tendencias, pasando por la identificación de sus principales características, ventajas e inconvenientes. Por otro lado, el Hogar Digital es ya una realidad para la mayoría de los seres humanos. En él se dispone de acceso a múltiples tipos de redes de telecomunicaciones (3G, 4G, WI-FI, ADSL…) con más o menos capacidad pero que permiten conexiones a internet desde cualquier parte, en todo momento, y con prácticamente cualquier dispositivo (ordenadores personales, smartphones, tabletas, televisores…). Esto es aprovechado por las empresas para ofrecer todo tipo de servicios. Algunos de estos servicios están basados en el cloud computing sobre todo ofreciendo almacenamiento en la nube a aquellos dispositivos con capacidad reducida, como son los smarthphones y las tabletas. Ese espacio de almacenamiento normalmente está en los servidores bajo el control de grandes compañías. Guardar documentos, videos, fotos privadas sin tener la certeza de que estos no son consultados por alguien sin consentimiento, puede despertar en el usuario cierto recelo. Para estos usuarios que desean control sobre su intimidad, se ofrece la posibilidad de que sea el propio usuario el que monte sus propios servidores y su propio servicio cloud para compartir su información privada sólo con sus familiares y amigos o con cualquiera al que le dé permiso. Durante el proyecto se han comparado diversas soluciones, la mayoría de código abierto y de libre distribución, que permiten desplegar como mínimo un servicio de almacenamiento accesible a través de Internet. Algunas de ellas lo complementan con servicios de streaming tanto de música como de videos, compartición y sincronización de documentos entre múltiples dispositivos, calendarios, copias de respaldo (backups), virtualización de escritorios, versionado de ficheros, chats, etc. El proyecto finaliza con una demostración de cómo utilizar dispositivos de un hogar digital interactuando con un servidor Cloud, en el que previamente se ha instalado y configurado una de las soluciones comparadas. Este servidor quedará empaquetado en una máquina virtual para que sea fácilmente transportable e utilizable. ABSTRACT. The technological world is changing towards optimizing resource management thanks to the powerful influence of technologies such as Virtualization and Cloud Computing. This document presents a closer approach to them, from the causes that have motivated to their last trends, as well as showing their main features, advantages and disadvantages. In addition, the Digital Home is a reality for most humans. It provides access to multiple types of telecommunication networks (3G, 4G, WI-FI, ADSL...) with more or less capacity, allowing Internet connections from anywhere, at any time, and with virtually any device (computer personal smartphones, tablets, televisions...).This is used by companies to provide all kinds of services. Some of these services offer storage on the cloud to devices with limited capacity, such as smartphones and tablets. That is normally storage space on servers under the control of important companies. Saving private documents, videos, photos, without being sure that they are not viewed by anyone without consent, can wake up suspicions in some users. For those users who want control over their privacy, it offers the possibility that it is the user himself to mount his own server and its own cloud service to share private information only with family and friends or with anyone with consent. During the project I have compared different solutions, most open source and with GNU licenses, for deploying one storage facility accessible via the Internet. Some supplement include streaming services of music , videos or photos, sharing and syncing documents across multiple devices, calendars, backups, desktop virtualization, file versioning, chats... The project ends with a demonstration of how to use our digital home devices interacting with a cloud server where one of the solutions compared is installed and configured. This server will be packaged in a virtual machine to be easily transportable and usable.

Relevância:

80.00% 80.00%

Publicador:

Resumo:

Virtualization techniques have received increased attention in the field of embedded real-time systems. Such techniques provide a set of virtual machines that run on a single hardware platform, thus allowing several application programs to be executed as though they were running on separate machines, with isolated memory spaces and a fraction of the real processor time available to each of them.This papers deals with some problems that arise when implementing real-time systems written in Ada on a virtual machine. The effects of virtualization on the performance of the Ada real-time services are analysed, and requirements for the virtualization layer are derived. Virtual-machine time services are also defined in order to properly support Ada real-time applications. The implementation of the ORK+ kernel on the XtratuM supervisor is used as an example.

Relevância:

80.00% 80.00%

Publicador:

Resumo:

Reproducible research in scientic work ows is often addressed by tracking the provenance of the produced results. While this approach allows inspecting intermediate and nal results, improves understanding, and permits replaying a work ow execution, it does not ensure that the computational environment is available for subsequent executions to reproduce the experiment. In this work, we propose describing the resources involved in the execution of an experiment using a set of semantic vocabularies, so as to conserve the computational environment. We dene a process for documenting the work ow application, management system, and their dependencies based on 4 domain ontologies. We then conduct an experimental evaluation sing a real work ow application on an academic and a public Cloud platform. Results show that our approach can reproduce an equivalent execution environment of a predened virtual machine image on both computing platforms.

Relevância:

80.00% 80.00%

Publicador:

Resumo:

Los avances que se han producido en los últimos años en cuanto a potencia y capacidades de los teléfonos móviles que usamos de manera cotidiana, traen de la mano un auge en la demanda de aplicaciones de todo ámbito: desde aplicaciones generales de consumo, pasando por juegos, hasta aplicaciones que ofrecen soluciones internas a empresas. Existen diferentes sistemas operativos para teléfonos móviles como se explicará más adelante en el capítulo introductorio. En dicho capítulo se da la justificación de por qué en el presente Proyecto Fin de Carrera se centra en el estudio del sistema operativo Android. Primeramente se dará una visión global del estado del arte en cuanto al mundo de aplicaciones móviles se refiere. Se explicarán los pros y contras de cada sistema operativo, detallando el lenguaje de programación utilizado en cada uno de ellos y sus principales características. Después, en el capítulo tres se estudiará con más profundidad el sistema operativo Android, desde su historia y orígenes, hasta los componentes básicos para la creación de una aplicación, pasando por la arquitectura interna del sistema o su máquina virtual. Con esto se pretende que el lector tenga un contexto que le permita comprender los siguientes capítulos, que es donde está el núcleo de este Proyecto Fin de Carrera. El cuarto capítulo trata de una serie de prácticas incrementales, que cubren una gran parte de las posibilidades que ofrece el sistema operativo Android para el desarrollo de aplicaciones. Se ha pretendido que la dificultad vaya de menos a más y que las prácticas se vayan apoyando en las anteriores, para tener al final una única solución que englobe todas las lecciones. El último capítulo quiere englobar el uso de todas las lecciones aprendidas en las lecciones anteriores para crear una aplicación que bien podría ser una aplicación real para un cliente. Se trata de una aplicación que muestra en tiempo real información sobre las cámaras de tráfico de la ciudad de Madrid. ABSTRACT. The improvements that have occurred in recent years in terms of power and capabilities of mobile phones that we use on a daily basis, bring an increment in demand for all kind of applications, from general consumer applications, games or even internal applications that offer solutions to companies. There are different operating systems for mobile phones as will be explained later in the introductory chapter. In that chapter the answer for why this Thesis focuses on the study of the Android operating system is given as well. First an overview of the state of the art about the world of mobile applications will be referred. The pros and cons of each operating system will be explained, detailing the programming language used in each of them and their main characteristics. Then in chapter three will be discussed in more depth the Android operating system, from its history and beginnings to the main components for the creation of an application, to the internal architecture of the system or virtual machine. The goal of chapter three is to give the readers a context that allows them to understand the following chapters, where the core of this Thesis is. The fourth chapter contains a series of incremental practices covering a large part of the potential of the Android operating system for application development. Those practices grow in difficulty and are supported by the previous in order to have at the end a single solution that fits all lessons. The last chapter wants to embrace the use of all the lessons learned in previous lessons to create an application that could well be an actual application for a client. It is an application that displays real-time information off traffic cameras of the city of Madrid.

Relevância:

80.00% 80.00%

Publicador:

Resumo:

El sistema operativo FreeBSD soporta distintos modos de virtualización sobre la plataforma Xen. Cada uno usa una técnicas de virtualización distinta, logrando mayor o menor integración con el hipervisor. Actualmente, están soportados en FreeBSD el modo paravirtualizado, virtualizado asistido por hardware y modos híbridos. Este trabajo consiste fundamentalmente en un estudio práctico de los distintos modos de virtualización Xen soportados en FreeBSD, basándose en pruebas de sintéticas de rendimiento. Se incluye una comparativa con gráficas de los resultados obtenidos mediante un sistema de pruebas automáticas desarrollado en shell script y R. ABSTRACT. The FreeBSD operative system supports several virtualization modes when used over the Xen platform. Each mode uses a different virtualization technique, achieving different level of integration with the hypervisor. Current supported modes on FreeBSD are paravirtualized mode, hardware virtualization assisted and hybrid modes. This work is a survey on FreeBSD virtualization over Xen, focused on performance by benchmark testing all supported virtual machine implementations. The study includes a comparative of the measured test results performed by an automatic testing tool developed on shell and R script.

Relevância:

80.00% 80.00%

Publicador:

Resumo:

Reproducible research in scientific workflows is often addressed by tracking the provenance of the produced results. While this approach allows inspecting intermediate and final results, improves understanding, and permits replaying a workflow execution, it does not ensure that the computational environment is available for subsequent executions to reproduce the experiment. In this work, we propose describing the resources involved in the execution of an experiment using a set of semantic vocabularies, so as to conserve the computational environment. We define a process for documenting the workflow application, management system, and their dependencies based on 4 domain ontologies. We then conduct an experimental evaluation using a real workflow application on an academic and a public Cloud platform. Results show that our approach can reproduce an equivalent execution environment of a predefined virtual machine image on both computing platforms.

Relevância:

80.00% 80.00%

Publicador:

Resumo:

PAMELA (Phased Array Monitoring for Enhanced Life Assessment) SHMTM System is an integrated embedded ultrasonic guided waves based system consisting of several electronic devices and one system manager controller. The data collected by all PAMELA devices in the system must be transmitted to the controller, who will be responsible for carrying out the advanced signal processing to obtain SHM maps. PAMELA devices consist of hardware based on a Virtex 5 FPGA with a PowerPC 440 running an embedded Linux distribution. Therefore, PAMELA devices, in addition to the capability of performing tests and transmitting the collected data to the controller, have the capability of perform local data processing or pre-processing (reduction, normalization, pattern recognition, feature extraction, etc.). Local data processing decreases the data traffic over the network and allows CPU load of the external computer to be reduced. Even it is possible that PAMELA devices are running autonomously performing scheduled tests, and only communicates with the controller in case of detection of structural damages or when programmed. Each PAMELA device integrates a software management application (SMA) that allows to the developer downloading his own algorithm code and adding the new data processing algorithm to the device. The development of the SMA is done in a virtual machine with an Ubuntu Linux distribution including all necessary software tools to perform the entire cycle of development. Eclipse IDE (Integrated Development Environment) is used to develop the SMA project and to write the code of each data processing algorithm. This paper presents the developed software architecture and describes the necessary steps to add new data processing algorithms to SMA in order to increase the processing capabilities of PAMELA devices.An example of basic damage index estimation using delay and sum algorithm is provided.

Relevância:

80.00% 80.00%

Publicador:

Resumo:

Para empezar, se ha hecho un análisis de las diferentes posibilidades que se podían implementar para poder conseguir el objetivo del trabajo. El resultado final debe ser, disponer de máquinas para que el sistema operativo fuese independiente del hardware que se tiene instalado en él . Para ello, se decide montar un sistema operativo de base en todos los equipos del laboratorio, que tenga las necesidades mínimas que se necesitan, las cuales son una interfaz gráfica y conexión de red. Hay que intentar reducir el consumo de recursos al máximo con este sistema operativo mínimo para que el rendimiento de las máquinas sea lo más fluido posible para los usuarios. El sistema elegido fue Linux con su distribución Ubuntu [ubu, http] con los módulos mínimos que permita funcionar el software necesario. Una vez se instala el sistema operativo anfitrión, se instala el escritorio Xfce [ubu2, http], que es el más ligero de Ubuntu, pero que proporciona buen rendimiento. Después, se procedió a instalar un software de virtualización en cada equipo. En este caso se decidió, por las buenas prestaciones que ofrecía, que fuera VirtualBox [vir2,http] de Oracle. Sobre éste software se crean tantas máquinas virtuales (con sistema operativo Windows) como asignaturas diferentes se cursan en el laboratorio donde se trabaje. Con esto, se consigue que al arrancar el programa los alumnos pudieran escoger qué máquina arrancar y lo que es más importante, se permite realizar cualquier cambio en el hardware (exceptuando el disco duro porque borraría todo lo que se tuviera guardado). Además de no tener que volver a reinstalar el sistema operativo nuevamente, se consigue la abstracción del software y hardware. También se decide que, para tener un respaldo de las máquinas virtuales que se tengan creadas en VirtualBox, se utiliza un servidor NAS. Uno de los motivos de utilizar dicho servidor fue por aprovechar una infraestructura ya creada. Un servidor NAS da la posibilidad de recuperar cualquier archivo (máquina virtual) cuando haga falta porque haya alguna máquina virtual corrupta en algún equipo, o en varios. Este tipo de servidor tiene la gran ventaja de ser multicast, es decir, permite solicitudes simultáneas. ABSTRACT For starters, there has been an analysis of the different possibilities that could be implemented to achieve the objective of the work. This objective was to have machines for the operating system to be independent of the hardware we have installed on it. Therefore, we decided to create an operating system based on all computers in the laboratory, taking the minimum needs we need. This is a graphical interface and network connection. We must try to reduce the consumption of resources to the maximum for the performance of the machines is as fluid as possible for users. The system was chosen with its Ubuntu Linux distribution with minimum modules that allow us to run software that is necessary for us. Once the base is installed, we install the Xfce desktop, which is the lightest of Ubuntu, but which provided good performance. Then we proceeded to install a virtualization software on each computer. In this case we decided, for good performance that gave us, it was Oracle VirtualBox. About this software create many virtual machines (Windows operating system) as different subjects are studied in the laboratory where we are. With that, we got it at program startup students could choose which machine start and what is more important, allowed us to make any changes to the hardware (except the hard drive because it would erase all we have). Besides not having to reinstall the operating system again, we get the software and hardware abstraction. We also decided that in order to have a backup of our virtual machines that we created in VirtualBox, we use a NAS server. One reason to use that server was to leverage their existing network infrastructure. A NAS server gives us the ability to retrieve any file (image) when we do need because there is some corrupt virtual machine in a team, or several. This is possible because this type of server allows multicast connection.

Relevância:

80.00% 80.00%

Publicador:

Resumo:

Este proyecto fin de carrera tiene como finalidad el diseño y la implementación de un sistema de monitorización y gestión dinámica de redes de sensores y actuadores inalámbricos (Wireless Sensor and Actuator Networks – WSAN) en base a la información de configuración almacenada en una base de datos sobre la cual un motor de detección vigila posibles cambios. Este motor informará de los cambios a la herramienta de gestión y monitorización de la WSAN para que sean llevados a cabo en la red desplegada. Este trabajo se enmarca en otro más amplio cuya finalidad es la demostración de la posibilidad de reconfigurar dinámicamente una WSAN utilizando los mecanismos propios de las Líneas de Productos Software Dinámicos (DSPL, por sus siglas en inglés). Se ha diseñado e implementado el software que proporciona los métodos necesarios para la comunicación y actuación sobre la red de sensores y actuadores inalámbricos, además de permitir el control de cada uno de los dispositivos pertenecientes a dicha red y que los dispositivos se incorporen a dicha red de manera autónoma. El desarrollo y pruebas de este proyecto fin de carrera se ha realizado utilizando una máquina virtual sobre la que se ha configurado convenientemente una plataforma que incluye un emulador de red de sensores y actuadores de tecnología SunSpot (Solarium) y todas las herramientas de desarrollo y ejecución necesarias (entre ellas, SunSpot SDK 6.0 y NetBeans). Esta máquina virtual ejecuta un sistema operativo Unix (Ubuntu Server 12.4) y facilita el rápido despliegue de las herramientas implementadas así como la integración de las mismas en desarrollos más amplios. En esta memoria se describe todo el proceso de diseño e implementación del software desarrollado, las conclusiones obtenidas de su ejecución y una guía de usuario para su despliegue y manejo. ABSTRACT. The aim of this project is the design and implementation of a system to monitor and dynamically manage a wireless sensor and actuator network (WSAN) in consistence with the configuration information stored in a database whose changes are monitored by a so-called monitoring engine. This engine informs the management and monitoring tool about the changes, in order for these to be carried out on the deployed network. This project is a part of a broader one aimed at demonstrating the ability to dynamically reconfigure a WSAN using the mechanisms of the Dynamic Software Product Lines (DSPL). A software has been designed and implemented which provides the methods to communicate with and actuate on the WSAN. It also allows to control each of the devices, as well as their autonomous incorporation to the network. Development and testing of this project was done using a virtual machine that has a conveniently configured platform which includes a SunSpot technology WSAN emulator (Solarium) as well as all the necessary development and implementation tools (including SunSpot 6.0 SDK and NetBeans). This virtual machine runs a Unix (Ubuntu Server 12.4) operating system and makes it easy to rapidly deploy the implemented tools and to integrate them into broader developments. This document explains the whole process of designing and implementing the software, the conclusions of execution and a user's manual.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

En este trabajo se describe el diseñno y la implementación de una infraestructura para la comunicación entre componentes que sigan el estilo arquitectóonico C2 sobre una plataforma Java. Un requisito de esta infraestructura es que componentes y conectores se ejecuten cada uno en su propia máquina virtual (JVM) en el mismo nodo o en nodos diferentes. Se ha diseñado un conjunto de clases que proporcionan mecanismos para la comunicación entre componentes y conectores C2. Como parte del trabajo, se han evaluado las tecnologías disponibles para Java que permiten construir la infraestructura, habiéndose elegido la invocación remota a método (RMI) como la base para la comunicación entre los componentes del sistema

Relevância:

30.00% 30.00%

Publicador:

Resumo:

La informática teórica es una disciplina básica ya que la mayoría de los avances en informática se sustentan en un sólido resultado de esa materia. En los últimos a~nos debido tanto al incremento de la potencia de los ordenadores, como a la cercanía del límite físico en la miniaturización de los componentes electrónicos, resurge el interés por modelos formales de computación alternativos a la arquitectura clásica de von Neumann. Muchos de estos modelos se inspiran en la forma en la que la naturaleza resuelve eficientemente problemas muy complejos. La mayoría son computacionalmente completos e intrínsecamente paralelos. Por este motivo se les está llegando a considerar como nuevos paradigmas de computación (computación natural). Se dispone, por tanto, de un abanico de arquitecturas abstractas tan potentes como los computadores convencionales y, a veces, más eficientes: alguna de ellas mejora el rendimiento, al menos temporal, de problemas NPcompletos proporcionando costes no exponenciales. La representación formal de las redes de procesadores evolutivos requiere de construcciones, tanto independientes, como dependientes del contexto, dicho de otro modo, en general una representación formal completa de un NEP implica restricciones, tanto sintácticas, como semánticas, es decir, que muchas representaciones aparentemente (sintácticamente) correctas de casos particulares de estos dispositivos no tendrían sentido porque podrían no cumplir otras restricciones semánticas. La aplicación de evolución gramatical semántica a los NEPs pasa por la elección de un subconjunto de ellos entre los que buscar los que solucionen un problema concreto. En este trabajo se ha realizado un estudio sobre un modelo inspirado en la biología celular denominado redes de procesadores evolutivos [55, 53], esto es, redes cuyos nodos son procesadores muy simples capaces de realizar únicamente un tipo de mutación puntual (inserción, borrado o sustitución de un símbolo). Estos nodos están asociados con un filtro que está definido por alguna condición de contexto aleatorio o de pertenencia. Las redes están formadas a lo sumo de seis nodos y, teniendo los filtros definidos por una pertenencia a lenguajes regulares, son capaces de generar todos los lenguajes enumerables recursivos independientemente del grafo subyacente. Este resultado no es sorprendente ya que semejantes resultados han sido documentados en la literatura. Si se consideran redes con nodos y filtros definidos por contextos aleatorios {que parecen estar más cerca a las implementaciones biológicas{ entonces se pueden generar lenguajes más complejos como los lenguajes no independientes del contexto. Sin embargo, estos mecanismos tan simples son capaces de resolver problemas complejos en tiempo polinomial. Se ha presentado una solución lineal para un problema NP-completo, el problema de los 3-colores. Como primer aporte significativo se ha propuesto una nueva dinámica de las redes de procesadores evolutivos con un comportamiento no determinista y masivamente paralelo [55], y por tanto todo el trabajo de investigación en el área de la redes de procesadores se puede trasladar a las redes masivamente paralelas. Por ejemplo, las redes masivamente paralelas se pueden modificar de acuerdo a determinadas reglas para mover los filtros hacia las conexiones. Cada conexión se ve como un canal bidireccional de manera que los filtros de entrada y salida coinciden. A pesar de esto, estas redes son computacionalmente completas. Se pueden también implementar otro tipo de reglas para extender este modelo computacional. Se reemplazan las mutaciones puntuales asociadas a cada nodo por la operación de splicing. Este nuevo tipo de procesador se denomina procesador splicing. Este modelo computacional de Red de procesadores con splicing ANSP es semejante en cierto modo a los sistemas distribuidos en tubos de ensayo basados en splicing. Además, se ha definido un nuevo modelo [56] {Redes de procesadores evolutivos con filtros en las conexiones{ , en el cual los procesadores tan solo tienen reglas y los filtros se han trasladado a las conexiones. Dicho modelo es equivalente, bajo determinadas circunstancias, a las redes de procesadores evolutivos clásicas. Sin dichas restricciones el modelo propuesto es un superconjunto de los NEPs clásicos. La principal ventaja de mover los filtros a las conexiones radica en la simplicidad de la modelización. Otras aportaciones de este trabajo ha sido el dise~no de un simulador en Java [54, 52] para las redes de procesadores evolutivos propuestas en esta Tesis. Sobre el término "procesador evolutivo" empleado en esta Tesis, el proceso computacional descrito aquí no es exactamente un proceso evolutivo en el sentido Darwiniano. Pero las operaciones de reescritura que se han considerado pueden interpretarse como mutaciones y los procesos de filtrado se podrían ver como procesos de selección. Además, este trabajo no abarca la posible implementación biológica de estas redes, a pesar de ser de gran importancia. A lo largo de esta tesis se ha tomado como definición de la medida de complejidad para los ANSP, una que denotaremos como tama~no (considerando tama~no como el número de nodos del grafo subyacente). Se ha mostrado que cualquier lenguaje enumerable recursivo L puede ser aceptado por un ANSP en el cual el número de procesadores está linealmente acotado por la cardinalidad del alfabeto de la cinta de una máquina de Turing que reconoce dicho lenguaje L. Siguiendo el concepto de ANSP universales introducido por Manea [65], se ha demostrado que un ANSP con una estructura de grafo fija puede aceptar cualquier lenguaje enumerable recursivo. Un ANSP se puede considerar como un ente capaz de resolver problemas, además de tener otra propiedad relevante desde el punto de vista práctico: Se puede definir un ANSP universal como una subred, donde solo una cantidad limitada de parámetros es dependiente del lenguaje. La anterior característica se puede interpretar como un método para resolver cualquier problema NP en tiempo polinomial empleando un ANSP de tama~no constante, concretamente treinta y uno. Esto significa que la solución de cualquier problema NP es uniforme en el sentido de que la red, exceptuando la subred universal, se puede ver como un programa; adaptándolo a la instancia del problema a resolver, se escogerín los filtros y las reglas que no pertenecen a la subred universal. Un problema interesante desde nuestro punto de vista es el que hace referencia a como elegir el tama~no optimo de esta red.---ABSTRACT---This thesis deals with the recent research works in the area of Natural Computing {bio-inspired models{, more precisely Networks of Evolutionary Processors first developed by Victor Mitrana and they are based on P Systems whose father is Georghe Paun. In these models, they are a set of processors connected in an underlying undirected graph, such processors have an object multiset (strings) and a set of rules, named evolution rules, that transform objects inside processors[55, 53],. These objects can be sent/received using graph connections provided they accomplish constraints defined at input and output filters processors have. This symbolic model, non deterministic one (processors are not synchronized) and massive parallel one[55] (all rules can be applied in one computational step) has some important properties regarding solution of NP-problems in lineal time and of course, lineal resources. There are a great number of variants such as hybrid networks, splicing processors, etc. that provide the model a computational power equivalent to Turing machines. The origin of networks of evolutionary processors (NEP for short) is a basic architecture for parallel and distributed symbolic processing, related to the Connection Machine as well as the Logic Flow paradigm, which consists of several processors, each of them being placed in a node of a virtual complete graph, which are able to handle data associated with the respective node. All the nodes send simultaneously their data and the receiving nodes handle also simultaneously all the arriving messages, according to some strategies. In a series of papers one considers that each node may be viewed as a cell having genetic information encoded in DNA sequences which may evolve by local evolutionary events, that is point mutations. Each node is specialized just for one of these evolutionary operations. Furthermore, the data in each node is organized in the form of multisets of words (each word appears in an arbitrarily large number of copies), and all the copies are processed in parallel such that all the possible events that can take place do actually take place. Obviously, the computational process just described is not exactly an evolutionary process in the Darwinian sense. But the rewriting operations we have considered might be interpreted as mutations and the filtering process might be viewed as a selection process. Recombination is missing but it was asserted that evolutionary and functional relationships between genes can be captured by taking only local mutations into consideration. It is clear that filters associated with each node allow a strong control of the computation. Indeed, every node has an input and output filter; two nodes can exchange data if it passes the output filter of the sender and the input filter of the receiver. Moreover, if some data is sent out by some node and not able to enter any node, then it is lost. In this paper we simplify the ANSP model considered in by moving the filters from the nodes to the edges. Each edge is viewed as a two-way channel such that the input and output filters coincide. Clearly, the possibility of controlling the computation in such networks seems to be diminished. For instance, there is no possibility to loose data during the communication steps. In spite of this and of the fact that splicing is not a powerful operation (remember that splicing systems generates only regular languages) we prove here that these devices are computationally complete. As a consequence, we propose characterizations of two complexity classes, namely NP and PSPACE, in terms of accepting networks of restricted splicing processors with filtered connections. We proposed a uniform linear time solution to SAT based on ANSPFCs with linearly bounded resources. This solution should be understood correctly: we do not solve SAT in linear time and space. Since any word and auxiliary word appears in an arbitrarily large number of copies, one can generate in linear time, by parallelism and communication, an exponential number of words each of them having an exponential number of copies. However, this does not seem to be a major drawback since by PCR (Polymerase Chain Reaction) one can generate an exponential number of identical DNA molecules in a linear number of reactions. It is worth mentioning that the ANSPFC constructed above remains unchanged for any instance with the same number of variables. Therefore, the solution is uniform in the sense that the network, excepting the input and output nodes, may be viewed as a program according to the number of variables, we choose the filters, the splicing words and the rules, then we assign all possible values to the variables, and compute the formula.We proved that ANSP are computationally complete. Do the ANSPFC remain still computationally complete? If this is not the case, what other problems can be eficiently solved by these ANSPFCs? Moreover, the complexity class NP is exactly the class of all languages decided by ANSP in polynomial time. Can NP be characterized in a similar way with ANSPFCs?

Relevância:

30.00% 30.00%

Publicador:

Resumo:

El presente trabajo describe la construcción de una aplicación que controla a un Non Player Character (NPC), en un mundo virtual. La aplicación desarrollada, que tiene como nombre BotManager, realiza dos tareas fundamentales: 1) conectarse al repositorio de conocimiento, que en esta implementación es una ontología expresada en OWL, para obtener las acciones que debe realizar el NPC dentro del mundo virtual; y 2) ordenar al NPC que realice estas acciones en un mundo virtual creado con la plataforma OpenSimulator. BotManager puede tener variadas aplicaciones, por lo tanto puede ser usada como complemento en mundos virtuales aplicados a la educación, simulación, ocio, etc. Ahora bien, la principal razón que motivó el desarrollo del BotManager fue la de crear un sistema de demostración automática de tareas en un mundo virtual destinado a la educación/ entrenamiento. De esta forma, un Sistema Inteligente de Tutoría integrado con un mundo virtual podría demostrar paso a paso a un estudiante cómo realizar una tarea en el mundo virtual. La ontología que lee el BotManager extiende la ontología propuesta en la tesis “Una propuesta de modelado del estudiante basada en ontologías y diagnóstico pedagógico-cognitivo no monótono” de Julia Parraga en el 2011 (Ontología de Julia). La construcción y las pruebas del BotManager se llevaron a cabo en tres etapas: 1) creación de la Ontología de Acciones del NPC que extiende la Ontología de Julia; 2) diseño e implementación de la aplicación en C# que lee la ontología que contiene el plan de acción del NPC, y ordena al NPC realizar las acciones en el mundo virtual; y 3) pruebas de la aplicación con la práctica “preparación de una taza de cafe”, que es parte de un Laboratorio Virtual de Biotecnología. El BotManager se ha diseñado como una aplicación cliente que se conecta a un servidor de Open- Simulator. Por lo tanto, puede ejecutarse en una máquina distinta a la del servidor. Asimismo, en la implementación del BotManager se ha utilizado una librería gratuita denominada LibOpenMetaverse que permite controlar un NPC de forma remota.---ABSTRACT---This paper describes the construction of an application that controls a Non Player Character (NPC), in a virtual world. The application developed, called BotManager, performs two main tasks: 1) the connection to the repository of knowledge, which in this implementation is an ontology expressed in OWL, and retrieving the actions to be performed by the NPC within the virtual world; and 2) commanding the NPC to perform these actions in a virtual world created with the OpenSimulator platform. BotManager can have diverse applications, therefore it can be used as a complement in virtual worlds applied to education, simulation, entertainment, etc. However, the main reason behind the development of BotManager was to create an automatic demonstration of tasks in a virtual world for education / training. Thus, a virtual world integrated with an Intelligent Tutoring Systems could demonstrate step by step to a student how to perform a task in the virtual world. The ontology used by the BotManager extends ontology proposed in the thesis “A proposal for modeling ontologies based student and not monotonous teaching-cognitive diagnosis” by Julia Parraga in 2011 (Julia’s Ontology). Construction and testing of BotManager were conducted in three stages: 1) creation of the NPC Actions Ontology by extending the Julia’s Ontology; 2) design and implementation of the application in C# that reads the ontology containing the plan of action of the NPC, and commands the NPC to perform the read plan in the virtual world; and 3) testing of the application with the practice “preparing a cup of coffee”, which is part of a Virtual Laboratory of Biotechnology. The BotManager has been designed as a client application that connects to an OpenSimulator server. Therefore, it can run on a different machine to the server. To implement the BotManager we have used a free library called libopenmetaverse that allows us to control a NPC remotely.