974 resultados para Open Source Software
Resumo:
Este proyecto consiste en el diseño y construcción de un sintetizador basado en el chip 6581 Sound Interface Device (SID). Este chip era el encargado de la generación de sonido en el Commodore 64, ordenador personal comercializado en 1982, y fue el primer sintetizador complejo construido para ordenador. El chip en cuestión es un sintetizador de tres voces, cada una de ellas capaz de generar cuatro diferentes formas de onda. Cada voz tiene control independiente de varios parámetros, permitiendo una relativamente amplia variedad de sonidos y efectos, muy útil para su uso en videojuegos. Además está dotado de un filtro programable para conseguir distintos timbres mediante síntesis sustractiva. El sintetizador se ha construido sobre Arduino, una plataforma de electrónica abierta concebida para la creación de prototipos, consistente en una placa de circuito impreso con un microcontrolador, programable desde un PC para que realice múltiples funciones (desde encender LEDs hasta controlar servomecanismos en robótica, procesado y transmisión de datos, etc.). El sintetizador es controlable vía MIDI, por ejemplo, desde un teclado de piano. A través de MIDI recibe información tal como qué notas debe tocar, o los valores de los parámetros del SID que modifican las propiedades del sonido. Además, toda esa información también la puede recibir de un PC mediante una conexión USB. Se han construido dos versiones del sintetizador: una versión “hardware”, que utiliza el SID para la generación de sonido, y otra “software”, que reemplaza el SID por un emulador, es decir, un programa que se comporta (en la medida de lo posible) de la misma manera que el SID. El emulador se ha implementado en un microcontrolador Atmega 168 de Atmel, el mismo que utiliza Arduino. ABSTRACT. This project consists on design and construction of a synthesizer which is based on chip 6581 Sound Interface Device (SID). This chip was used for sound generation on the Commodore 64, a home computer presented in 1982, and it was the first complex synthesizer built for computers. The chip is a three-voice synthesizer, each voice capable of generating four different waveforms. Each voice has independent control of several parameters, allowing a relatively wide variety of sounds and effects, very useful for its use on videogames. It also includes a programmable filter, allowing more timbre control via subtractive synthesis. The synthesizer has been built on Arduino, an open-source electronics prototyping platform that consists on a printed circuit board with a microcontroller, which is programmable with a computer to do several functions (lighting LEDs, controlling servomechanisms on robotics, data processing or transmission, etc.). The synthesizer is controlled via MIDI, in example, from a piano-type keyboard. It receives from MIDI information such as the notes that should be played or SID’s parameter values that modify the sound. It also can receive that information from a PC via USB connection. Two versions of the synthesizer have been built: a hardware one that uses the SID chip for sound generation, and a software one that replaces SID by an emulator, it is, a program that behaves (as far as possible) in the same way the SID would. The emulator is implemented on an Atmel’s Atmega 168 microcontroller, the same one that is used on Arduino.
Resumo:
VladBot es un robot autónomo diseñado para posicionar en interiores un micrófono de medida. Este prototipo puede valorar la idea de automatizar medidas acústicas en interiores mediante un robot autónomo. Posee dos ruedas motrices y una rueda loca. Ésta rueda loca aporta maniobrabilidad al robot. Un soporte extensible hecho de aluminio sostiene el micrófono de medida. VladBot ha sido diseñado con tecnologías de bajo coste y bajo una plataforma abierta, Arduino. Arduino es una plataforma electrónica libre. Esto quiere decir que los usuarios tienen libre acceso a toda la información referente a los micro-controladores (hardware) y referente al software. Ofrece un IDE (Integrated Development Environment, en español, Entorno de Desarrollo Integrado) de forma gratuita y con un sencillo lenguaje de programación, con el que se pueden realizar proyectos de cualquier tipo. Además, los usuarios disponen de un foro donde encontrar ayuda, “Arduino Forum”. VladBot se comunica con el usuario a través de Bluetooth, creando un enlace fiable y con un alcance suficiente (aproximadamente 100 metros) para que controlar a VladBot desde una sala contigua. Hoy en día, Bluetooth es una tecnología implantada en casi todos los ordenadores, por lo que no necesario ningún sistema adicional para crear dicho enlace. Esta comunicación utiliza un protocolo de comunicaciones, JSON (JavaScript Object Notation). JSON hace que la comunicación sea más fiable, ya que sólo un tipo de mensajes preestablecidos son reconocidos. Gracias a este protocolo es posible la comunicación con otro software, permitiendo crear itinerarios en otro programa externo. El diseño de VladBot favorece su evolución hasta un sistema más preciso ya que el usuario puede realizar modificaciones en el robot. El código que se proporciona puede ser modificado, aumentando las funcionalidades de VladBot o mejorándolas. Sus componentes pueden ser cambiados también (incluso añadir nuevos dispositivos) para aumentar sus capacidades. Vladbot es por tanto, un sistema de transporte (de bajo coste) para un micrófono de medida que se puede comunicar inalámbricamente con el usuario de manera fiable. ABSTRACT. VladBot is an autonomous robot designed to indoor positioning of a measurement microphone. This prototype can value the idea of making automatic acoustic measurements indoor with an autonomous robot. It has two drive wheels and a caster ball. This caster ball provides manoeuvrability to the robot. An extendible stand made in aluminium holds the measurement microphone. VladBot has been designed with low cost technologies and under an open-source platform, Arduino. Arduino is a freeFsource electronics platform. This means that users have free access to all the information about micro-controllers (hardware) and about the software. Arduino offers a free IDE (Integrated Development Environment) with an easy programming language, which any kind of project can be made with. Besides, users have a forum where find help, “Arduino Forum”. VladBot communicates with the user by Bluetooth, creating a reliable link with enough range (100 meters approximately) for controlling VladBot in the next room. Nowadays, Bluetooth is a technology embedded in almost laptops, so it is not necessary any additional system for create this link. This communication uses a communication protocol, JSON (JavaScript Object Notation). JSON makes the communication more reliable, since only a preFestablished kind of messages are recognised. Thanks to this protocol is possible the communication with another software, allowing to create routes in an external program. VladBot´s design favours its evolution to an accurate system since the user can make modifications in the robot. The code given can be changed, increasing VladBot´s uses or improving these uses. Their components can be changed too (even new devices can be added) for increasing its abilities. So, VladBot is a (low cost) transport system for a measurement microphone, which can communicate with the user in a reliable way.
Resumo:
Las metodologías para el desarrollo de productos se han convertido en herramientas de vital importancia en el ámbito del desarrollo software debido a que su implantación nos permite estructurar, planificar y controlar el proceso de desarrollo completo de un determinado proyecto y obtener como resultado un producto final exitoso. Por tanto, la elección de una metodología para su implantación en una determinada empresa, es un proceso que requiere especial atención, ya que del éxito o el fracaso de su establecimiento dependerán en gran medida los resultados de los diversos procesos de desarrollo de esa entidad. El trabajo de fin de grado extractado en este documento, tiene como objetivo principal realizar un estudio sobre algunas de las diversas metodologías basadas en líneas de productos software (LPS) presentes en el mercado, tales como el modelo TWIN, el modelo WATCH, el modelo ESPLEP o el modelo SEI. Dicho estudio y la posterior comparativa de los modelos, persigue el propósito de adaptar y concretar alguna de estas metodologías al ciclo de vida de desarrollo habitual en el mercado de la ingeniería de software y más concretamente a los productos desarrollados por la empresa everis. Sin embargo, tras la realización de la comparativa, se llego a la conclusión de que las diferentes características que ofrecen las metodologías a estudio, no satisfacen por completo las necesidades específicas demandadas por everis. Por este motivo, al no poder adaptar ninguno de los modelos, el objetivo principal paso a ser la creación de una metodología propia que aunara las características más importantes de cada uno de los modelos estudiados y se compaginara con las particularidades proporcionadas por el modelo COM exclusivo de everis, obteniendo como resultado un modelo propio de desarrollo ágil, basado en líneas de productos software. Por último, una vez creada la nueva metodología, se buscaba alcanzar dos objetivos finales. El primero es la realización de un pequeño estudio con el propósito de conocer las diversas herramientas “open source” que puedan servir como base o apoyo para la metodología. Y el segundo, realizar un estudio de aplicabilidad del nuevo modelo en un proyecto simulado con el fin de comprobar su efectividad.
Resumo:
Modern embedded applications typically integrate a multitude of functionalities with potentially different criticality levels into a single system. Without appropriate preconditions, the integration of mixed-criticality subsystems can lead to a significant and potentially unacceptable increase of engineering and certification costs. A promising solution is to incorporate mechanisms that establish multiple partitions with strict temporal and spatial separation between the individual partitions. In this approach, subsystems with different levels of criticality can be placed in different partitions and can be verified and validated in isolation. The MultiPARTES FP7 project aims at supporting mixed- criticality integration for embedded systems based on virtualization techniques for heterogeneous multicore processors. A major outcome of the project is the MultiPARTES XtratuM, an open source hypervisor designed as a generic virtualization layer for heterogeneous multicore. MultiPARTES evaluates the developed technology through selected use cases from the offshore wind power, space, visual surveillance, and automotive domains. The impact of MultiPARTES on the targeted domains will be also discussed. In a number of ongoing research initiatives (e.g., RECOMP, ARAMIS, MultiPARTES, CERTAINTY) mixed-criticality integration is considered in multicore processors. Key challenges are the combination of software virtualization and hardware segregation and the extension of partitioning mechanisms to jointly address significant non-functional requirements (e.g., time, energy and power budgets, adaptivity, reliability, safety, security, volume, weight, etc.) along with development and certification methodology.
Resumo:
Background DCE@urLAB is a software application for analysis of dynamic contrast-enhanced magnetic resonance imaging data (DCE-MRI). The tool incorporates a friendly graphical user interface (GUI) to interactively select and analyze a region of interest (ROI) within the image set, taking into account the tissue concentration of the contrast agent (CA) and its effect on pixel intensity. Results Pixel-wise model-based quantitative parameters are estimated by fitting DCE-MRI data to several pharmacokinetic models using the Levenberg-Marquardt algorithm (LMA). DCE@urLAB also includes the semi-quantitative parametric and heuristic analysis approaches commonly used in practice. This software application has been programmed in the Interactive Data Language (IDL) and tested both with publicly available simulated data and preclinical studies from tumor-bearing mouse brains. Conclusions A user-friendly solution for applying pharmacokinetic and non-quantitative analysis DCE-MRI in preclinical studies has been implemented and tested. The proposed tool has been specially designed for easy selection of multi-pixel ROIs. A public release of DCE@urLAB, together with the open source code and sample datasets, is available at http://www.die.upm.es/im/archives/DCEurLAB/ webcite.
Resumo:
Actualmente existen aplicaciones que permiten simular el comportamiento de bacterias en distintos hábitats y los procesos que ocurren en estos para facilitar su estudio y experimentación sin la necesidad de un laboratorio. Una de las aplicaciones de software libre para la simulación de poblaciones bacteriológicas mas usada es iDynoMiCS (individual-based Dynamics of Microbial Communities Simulator), un simulador basado en agentes que permite trabajar con varios modelos computacionales de bacterias en 2D y 3D. Este simulador permite una gran libertad al configurar una numerosa cantidad de variables con respecto al entorno, reacciones químicas y otros detalles importantes. Una característica importante es el poder simular de manera sencilla la conjugación de plásmidos entre bacterias. Los plásmidos son moléculas de ADN diferentes del cromosoma celular, generalmente circularles, que se replican, transcriben y conjugan independientemente del ADN cromosómico. Estas están presentes normalmente en bacterias procariotas, y en algunas ocasiones en eucariotas, sin embargo, en este tipo de células son llamados episomas. Dado el complejo comportamiento de los plásmidos y la gama de posibilidades que estos presentan como mecanismos externos al funcionamiento básico de la célula, en la mayoría de los casos confiriéndole distintas ventajas evolutivas, como por ejemplo: resistencia antibiótica, entre otros, resulta importante su estudio y subsecuente manipulación. Sin embargo, el marco operativo del iDynoMiCS, en cuanto a simulación de plásmidos se refiere, es demasiado sencillo y no permite realizar operaciones más complejas que el análisis de la propagación de un plásmido en la comunidad. El presente trabajo surge para resolver esta deficiencia de iDynomics. Aquí se analizarán, desarrollarán e implementarán las modificaciones necesarias para que iDynomics pueda simular satisfactoriamente y mas apegado a la realidad la conjugación de plásmidos y permita así mismo resolver distintas operaciones lógicas, como lo son los circuitos genéticos, basadas en plásmidos. También se analizarán los resultados obtenidos de acuerdo a distintos estudios relevantes y a la comparación de los resultados obtenidos con el código original de iDynomics. Adicionalmente se analizará un estudio comparando la eficiencia de detección de una sustancia mediante dos circuitos genéticos distintos. Asimismo el presente trabajo puede tener interés para el grupo LIA de la Facultad de Informática de la Universidad Politécnica de Madrid, el cual está participando en el proyecto europeo BACTOCOM que se centra en el estudio de la conjugación de plásmidos y circuitos genéticos. --ABSTRACT--Currently there are applications that simulate the behavior of bacteria in different habitats and the ongoing processes inside them to facilitate their study and experimentation without the need for an actual laboratory. One of the most used open source applications to simulate bacterial populations is iDynoMiCS (individual-based Dynamics of Microbial Communities Simulator), an agent-based simulator that allows working with several computer models of 2D and 3D bacteria in biofilms. This simulator allows great freedom by means of a large number of configurable variables regarding environment, chemical reactions and other important details of the simulation. Within these characteristics there exists a very basic framework to simulate plasmid conjugation. Plasmids are DNA molecules physically different from the cell’s chromosome, commonly found as small circular, double-stranded DNA molecules that are replicated, conjugated and transcribed independently of chromosomal DNA. These bacteria are normally present in prokaryotes and sometimes in eukaryotes, which in this case these cells are called episomes. Plasmids are external mechanisms to the cells basic operations, and as such, in the majority of the cases, confer to the host cell various evolutionary advantages, like antibiotic resistance for example. It is mperative to further study plasmids and the possibilities they present. However, the operational framework of the iDynoMiCS plasmid simulation is too simple, and does not allow more complex operations that the analysis of the spread of a plasmid in the community. This project was conceived to resolve this particular deficiency in iDynomics, moreover, in this paper is discussed, developed and implemented the necessary changes to iDynomics simulation software so it can satisfactorily and realistically simulate plasmid conjugation, and allow the possibility to solve various ogic operations, such as plasmid-based genetic circuits. Moreover the results obtained will be analyzed and compared with other relevant studies and with those obtained with the original iDynomics code. Conjointly, an additional study detailing the sensing of a substance with two different genetic circuits will be presented. This work may also be relevant to the LIA group of the Faculty of Informatics of the Polytechnic University of Madrid, which is participating in the European project BACTOCOM that focuses on the study of the of plasmid conjugation and genetic circuits.
Resumo:
Mode switches are used to partition the system’s behavior into different modes to reduce the complexity of large embedded systems. Such systems operate in multiple modes in which each one corresponds to a specific application scenario; these are called Multi-Mode Systems (MMS). A different piece of software is normally executed for each mode. At any given time, the system can be in one of the predefined modes and then be switched to another as a result of a certain condition. A mode switch mechanism (or mode change protocol) is used to shift the system from one mode to another at run-time. In this thesis we have used a hierarchical scheduling framework to implement a multi-mode system called Multi-Mode Hierarchical Scheduling Framework (MMHSF). A two-level Hierarchical Scheduling Framework (HSF) has already been implemented in an open source real-time operating system, FreeRTOS, to support temporal isolation among real-time components. The main contribution of this thesis is the extension of the HSF featuring a multimode feature with an emphasis on making minimal changes in the underlying operating system (FreeRTOS) and its HSF implementation. Our implementation uses fixed-priority preemptive scheduling at both local and global scheduling levels and idling periodic servers. It also now supports different modes of the system which can be switched at run-time. Each subsystem and task exhibit different timing attributes according to mode, and upon a Mode Change Request (MCR) the task-set and timing interfaces of the entire system (including subsystems and tasks) undergo a change. A Mode Change Protocol specifies precisely how the system-mode will be changed. However, an application may not only need to change a mode but also a different mode change protocol semantic. For example, the mode change from normal to shutdown can allow all the tasks to be completed before the mode itself is changed, while changing a mode from normal to emergency may require aborting all tasks instantly. In our work, both the system mode and the mode change protocol can be changed at run-time. We have implemented three different mode change protocols to switch from one mode to another: the Suspend/resume protocol, the Abort protocol, and the Complete protocol. These protocols increase the flexibility of the system, allowing users to select the way they want to switch to a new mode. The implementation of MMHSF is tested and evaluated on an AVR-based 32 bit board EVK1100 with an AVR32UC3A0512 micro-controller. We have tested the behavior of each system mode and for each mode change protocol. We also provide the results for the performance measures of all mode change protocols in the thesis. RESUMEN Los conmutadores de modo son usados para particionar el comportamiento del sistema en diferentes modos, reduciendo así la complejidad de grandes sistemas empotrados. Estos sistemas tienen multiples modos de operación, cada uno de ellos correspondiente a distintos escenarios y para distintas aplicaciones; son llamados Sistemas Multimodales (o en inglés “Multi-Mode Systems” o MMS). Normalmente cada modo ejecuta una parte de código distinto. En un momento dado el sistema, que está en un modo concreto, puede ser cambiado a otro modo distinto como resultado de alguna condicion impuesta previamente. Los mecanismos de cambio de modo (o protocolos de cambio de modo) son usados para mover el sistema de un modo a otro durante el tiempo de ejecución. En este trabajo se ha usado un modelo de sistema operativo para implementar un sistema multimodo llamado MMHSF, siglas en inglés correspondientes a (Multi-Mode Hierarchical Scheduling Framework). Este sistema está basado en el HSF (Hierarchical Scheduling Framework), un modelo de sistema operativo con jerarquía de dos niveles, implementado en un sistema operativo en tiempo real de libre distribución llamado FreeRTOS, capaz de permitir el aislamiento temporal entre componentes. La principal contribución de este trabajo es la ampliación del HSF convirtiendolo en un sistema multimodo realizando los cambios mínimos necesarios sobre el sistema operativo FreeRTOS y la implementación ya existente del HSF. Esta implementación usa un sistema de planificación de prioridad fija para ambos niveles de jerarquía, ocupando el tiempo entre tareas con un “modo reposo”. Además el sistema es capaz de cambiar de un modo a otro en tiempo de ejecución. Cada subsistema y tarea son capaces de tener distintos atributos de tiempo (prioridad, periodo y tiempo de ejecución) en función del modo. Bajo una demanda de cambio de modo (Mode Change Request MCR) se puede variar el set de tareas en ejecución, así como los atributos de los servidores y las tareas. Un protocolo de cambio de modo espeficica precisamente cómo será cambiado el sistema de un modo a otro. Sin embargo una aplicación puede requerir no solo un cambio de modo, sino que lo haga de una forma especifica. Por ejemplo, el cambio de modo de “normal” a “apagado” puede permitir a las tareas en ejecución ser finalizadas antes de que se complete la transición, pero sin embargo el cambio de “normal” a “emergencia” puede requerir abortar todas las tareas instantaneamente. En este trabajo ambas características, tanto el modo como el protocolo de cambio, pueden ser cambiadas en tiempo de ejecución, pero deben ser previamente definidas por el desarrollador. Han sido definidos tres protocolos de cambios: el protocolo “suspender/continuar”, protocolo “abortar” y el protocolo “completar”. Estos protocolos incrementan la flexibilidad del sistema, permitiendo al usuario seleccionar de que forma quieren cambiar hacia el nuevo modo. La implementación del MMHSF ha sido testada y evaluada en una placa AVR EVK1100, con un micro-controlador AVR32UC3A0. Se ha comprobado el comportamiento de los distintos modos para los distintos protocolos, definidos previamente. Como resultado se proporcionan las medidades de rendimiento de los distintos protocolos de cambio de modo.
Resumo:
This document is the result of a process of web development to create a tool that will allow to Cracow University of Technology consult, create and manage timetables. The technologies chosen for this purpose are Apache Tomcat Server, My SQL Community Server, JDBC driver, Java Servlets and JSPs for the server side. The client part counts on Javascript, jQuery, AJAX and CSS technologies to perform the dynamism. The document will justify the choice of these technologies and will explain some development tools that help in the integration and development of all this elements: specifically, NetBeans IDE and MySQL workbench have been used as helpful tools. After explaining all the elements involved in the development of the web application, the architecture and the code developed are explained through UML diagrams. Some implementation details related to security are also deeper explained through sequence diagrams. As the source code of the application is provided, an installation manual has been developed to run the project. In addition, as the platform is intended to be a beta that will be grown, some unimplemented ideas for future development are also exposed. Finally, some annexes with important files and scripts related to the initiation of the platform are attached. This project started through an existing tool that needed to be expanded. The main purpose of the project along its development has focused on setting the roots for a whole new platform that will replace the existing one. For this goal, it has been needed to make a deep inspection on the existing web technologies: a web server and a SQL database had to be chosen. Although the alternatives were a lot, Java technology for the server was finally selected because of the big community backwards, the easiness of modelling the language through UML diagrams and the fact of being free license software. Apache Tomcat is the open source server that can use Java Servlet and JSP technology. Related to the SQL database, MySQL Community Server is the most popular open-source SQL Server, with a big community after and quite a lot of tools to manage the server. JDBC is the driver needed to put in contact Java and MySQL. Once we chose the technologies that would be part of the platform, the development process started. After a detailed explanation of the development environment installation, we used UML use case diagrams to set the main tasks of the platform; UML class diagrams served to establish the existing relations between the classes generated; the architecture of the platform was represented through UML deployment diagrams; and Enhanced entity–relationship (EER) model were used to define the tables of the database and their relationships. Apart from the previous diagrams, some implementation issues were explained to make a better understanding of the developed code - UML sequence diagrams helped to explain this. Once the whole platform was properly defined and developed, the performance of the application has been shown: it has been proved that with the current state of the code, the platform covers the use cases that were set as the main target. Nevertheless, some requisites needed for the proper working of the platform have been specified. As the project is aimed to be grown, some ideas that could not be added to this beta have been explained in order not to be missed for future development. Finally, some annexes containing important configuration issues for the platform have been added after proper explanation, as well as an installation guide that will let a new developer get the project ready. In addition to this document some other files related to the project are provided: - Javadoc. The Javadoc containing the information of every Java class created is necessary for a better understanding of the source code. - database_model.mwb. This file contains the model of the database for MySQL Workbench. This model allows, among other things, generate the MySQL script for the creation of the tables. - ScheduleManager.war. The WAR file that will allow loading the developed application into Tomcat Server without using NetBeans. - ScheduleManager.zip. The source code exported from NetBeans project containing all Java packages, JSPs, Javascript files and CSS files that are part of the platform. - config.properties. The configuration file to properly get the names and credentials to use the database, also explained in Annex II. Example of config.properties file. - db_init_script.sql. The SQL query to initiate the database explained in Annex III. SQL statements for MySQL initialization. RESUMEN. Este proyecto tiene como punto de partida la necesidad de evolución de una herramienta web existente. El propósito principal del proyecto durante su desarrollo se ha centrado en establecer las bases de una completamente nueva plataforma que reemplazará a la existente. Para lograr esto, ha sido necesario realizar una profunda inspección en las tecnologías web existentes: un servidor web y una base de datos SQL debían ser elegidos. Aunque existen muchas alternativas, la tecnología Java ha resultado ser elegida debido a la gran comunidad de desarrolladores que tiene detrás, además de la facilidad que proporciona este lenguaje a la hora de modelarlo usando diagramas UML. Tampoco hay que olvidar que es una tecnología de uso libre de licencia. Apache Tomcat es el servidor de código libre que permite emplear Java Servlets y JSPs para hacer uso de la tecnología de Java. Respecto a la base de datos SQL, el servidor más popular de código libre es MySQL, y cuenta también con una gran comunidad detrás y buenas herramientas de modelado, creación y gestión de la bases de datos. JDBC es el driver que va a permitir comunicar las aplicaciones Java con MySQL. Tras elegir las tecnologías que formarían parte de esta nueva plataforma, el proceso de desarrollo tiene comienzo. Tras una extensa explicación de la instalación del entorno de desarrollo, se han usado diagramas de caso de UML para establecer cuáles son los objetivos principales de la plataforma; los diagramas de clases nos permiten realizar una organización del código java desarrollado de modo que sean fácilmente entendibles las relaciones entre las diferentes clases. La arquitectura de la plataforma queda definida a través de diagramas de despliegue. Por último, diagramas EER van a definir las relaciones entre las tablas creadas en la base de datos. Aparte de estos diagramas, algunos detalles de implementación se van a justificar para tener una mejor comprensión del código desarrollado. Diagramas de secuencia ayudarán en estas explicaciones. Una vez que toda la plataforma haya quedad debidamente definida y desarrollada, se va a realizar una demostración de la misma: se demostrará cómo los objetivos generales han sido alcanzados con el desarrollo actual del proyecto. No obstante, algunos requisitos han sido aclarados para que la plataforma trabaje adecuadamente. Como la intención del proyecto es crecer (no es una versión final), algunas ideas que se han podido llevar acabo han quedado descritas de manera que no se pierdan. Por último, algunos anexos que contienen información importante acerca de la plataforma se han añadido tras la correspondiente explicación de su utilidad, así como una guía de instalación que va a permitir a un nuevo desarrollador tener el proyecto preparado. Junto a este documento, ficheros conteniendo el proyecto desarrollado quedan adjuntos. Estos ficheros son: - Documentación Javadoc. Contiene la información de las clases Java que han sido creadas. - database_model.mwb. Este fichero contiene el modelo de la base de datos para MySQL Workbench. Esto permite, entre otras cosas, generar el script de iniciación de la base de datos para la creación de las tablas. - ScheduleManager.war. El fichero WAR que permite desplegar la plataforma en un servidor Apache Tomcat. - ScheduleManager.zip. El código fuente exportado directamente del proyecto de Netbeans. Contiene todos los paquetes de Java generados, ficheros JSPs, Javascript y CSS que forman parte de la plataforma. - config.properties. Ejemplo del fichero de configuración que permite obtener los nombres de la base de datos - db_init_script.sql. Las consultas SQL necesarias para la creación de la base de datos.
Resumo:
El objetivo del Proyecto Fin de Carrera (PFC) es el de conocer, simular y crear una red VoIP sobre una red de datos en un entorno docente, más concretamente, en la asignatura Redes y Servicios de telecomunicación en Grado en Ingeniería de Telecomunicaciones en la Universidad Politécnica de Madrid (UPM). Una vez se adquieran los conocimientos necesarios, se propondrán una serie de prácticas para que los alumnos se vayan familiarizando con el software y hardware utilizados, de manera que, se irá subiendo el grado de dificultad hasta que puedan realizar una auténtica red VoIP por sí mismos. A parte de la realización de las prácticas, los alumnos deberán pasar una prueba de los conocimientos adquiridos al final de cada práctica mediante preguntas tipo test. Los sistemas elegidos para la implantación de una red VoIP en los módulos de laboratorio son: 3CX System Phone y Asteisk-Trixbox. Los cuales, son capaces de trabajar mediante gestores gráficos para simplificar el nivel de dificultad de la configuración. 3CX es una PBX que trabaja sobre Windows y se basa exclusivamente en el protocolo SIP. Esto facilita el manejo para usuarios que solo han usado Windows sin quitar funcionalidades que tienen otras centralitas en otros sistemas operativos. La versión demo activa todas las opciones para poder familiarizarse con este sistema. Por otro lado, Asterisk trabaja en todas las plataformas, aunque se ha seleccionado trabajar sobre Linux. Esta selección se ha realizado porque el resto de plataformas limitan la configuración de la IP PBX, esta es de código abierto y permite realizar todo tipo de configuraciones. Además, es un software gratuito, esto es una ventaja a la hora de configurar novedades o resolver problemas, ya que hay muchos especialistas que dan soporte y ayudan de forma gratuita. La voz sobre Internet es habitualmente conocida como VoIP (Voice Over IP), debido a que IP (Internet Protocol) es el protocolo de red de Internet. Como tecnología, la VoIP no es solo un paso más en el crecimiento de las comunicaciones por voz, sino que supone integrar las comunicaciones de datos y las de voz en una misma red, y en concreto, en la red con mayor cobertura mundial: Internet. La mayor importancia y motivación de este Proyecto Fin de Carrera es que el alumno sea capaz de llegar a un entorno laboral y pueda tener unos conocimientos capaces de afrontar esta tecnología que esta tan a la orden del día. La importancia que estas redes tienen y tendrán en un futuro muy próximo en el mundo de la informática y las comunicaciones. Cabe decir, que se observa que estas disciplinas tecnológicas evolucionan a pasos agigantados y se requieren conocimientos más sólidos. ABSTRACT. The objective of my final project during my studies in university was, to simulate and create a VoIP network over a data network in a teaching environment, more specifically on the subject of telecommunications networks and services in Telecommunication Engineering Degree in Polytechnic University of Madrid (UPM). Once acquiring the necessary knowledge a number of practices were proposed to the students to become familiar with the software and hardware used, so that it would rise to the level of difficulty that they could make a real VoIP network for themselves. Parts of the experimental practices were that students must pass a test of knowledge acquired at the end of each practice by choice questions. The systems chosen for the implementation of a VoIP network in the laboratory modules are: 3CX Phone System and Asteisk - Trixbox. Which were able to work with graphics operators to simplify the difficulty level of the configuration. 3CX is a PBX that works on Windows and is based solely on the SIP protocol. This facilitates handling for users who have only used Windows without removing functionality with other exchanges in other operating systems. Active demo version all options to get to grips with this system. Moreover, Asterisk works on all platforms, but has been selected to work on Linux. This selection was made because other platforms limit the IP PBX configuration, as this is open source and allows all kinds of configurations. Also, Linux is a free software and an advantage when configuring new or solve problems, as there are many specialists that support and help for free. Voice over Internet is commonly known as VoIP (Voice Over IP), because IP (Internet Protocol) is the Internet protocol network. As technology, VoIP is not just another step in the growth of voice communications, but communications of integrating data and voice on a single network, and in particular, in the network with the largest global coverage: Internet. The increased importance and motivation of this Thesis is that the student is able to reach a working environment and may have some knowledge to deal with these technologies that is so much the order of the day. The importances of these networks have and will be of essences in the very near future in the world of computing and communications. It must be said it is observed that these technological disciplines evolve by leaps and bounds stronger knowledge required.
Resumo:
El presente Proyecto de Fin de Máster consiste en crear una herramienta software capaz de monitorizar y gestionar la actividad de Hydra, una herramienta de gestión de entornos distribuidos, para que su estrategia de balanceo de carga se adecúe al modelo creado por GloBeM, una metodología de análisis de entornos distribuidos. GloBeM, que es una metodología externa, puede analizar y crear un modelo de máquina de estados finitos a partir de un sistema distribuido concreto. Hydra, una herramienta también externa, es un sistema de gestión de entornos cloud recientemente desarrollado y de código abierto, con un sistema de balanceo de carga efectivo pero algo limitado. El software construido recoge el modelo creado por GloBeM y lo analiza. A partir de ahí, monitoriza en tiempo real y a una frecuencia determinada la actividad de Hydra y el sistema cloud que ésta gestiona, y reconfigura sus parámetros para que su desempeño se ciña a lo estipulado por el modelo de GloBeM, extendiendo así el sistema de balanceo de carga original de Hydra.---ABSTRACT---This Master's Thesis Project involves creating a software able to monitor and manage the activity of Hydra, a tool for managing distributed environments, in order to adjust its load balancing strategy to the model created by GloBeM, an analysis methodology for distributed environments. GloBeM, which is an external methodology, can analyse and create a finite-state machine model from a particular cloud system. Hydra, also an external tool, is an open source management system for cloud environments recently developed, with a relatively limited system of load balancing. The created software gets the model created by GloBeM as an input and analyses it. From there, it monitors in real time and at a certain frequency Hydra’s activity and the cloud system that it manages, and reconfigures its parameters to adjust its performance to the stipulations by the GloBeM’s model, extending Hydra's original load balancing system.
Resumo:
With the ever growing trend of smart phones and tablets, Android is becoming more and more popular everyday. With more than one billion active users i to date, Android is the leading technology in smart phone arena. In addition to that, Android also runs on Android TV, Android smart watches and cars. Therefore, in recent years, Android applications have become one of the major development sectors in software industry. As of mid 2013, the number of published applications on Google Play had exceeded one million and the cumulative number of downloads was more than 50 billionii. A 2013 survey also revealed that 71% of the mobile application developers work on developing Android applicationsiii. Considering this size of Android applications, it is quite evident that people rely on these applications on a daily basis for the completion of simple tasks like keeping track of weather to rather complex tasks like managing one’s bank accounts. Hence, like every other kind of code, Android code also needs to be verified in order to work properly and achieve a certain confidence level. Because of the gigantic size of the number of applications, it becomes really hard to manually test Android applications specially when it has to be verified for various versions of the OS and also, various device configurations such as different screen sizes and different hardware availability. Hence, recently there has been a lot of work on developing different testing methods for Android applications in Computer Science fraternity. The model of Android attracts researchers because of its open source nature. It makes the whole research model more streamlined when the code for both, application and the platform are readily available to analyze. And hence, there has been a great deal of research in testing and static analysis of Android applications. A great deal of this research has been focused on the input test generation for Android applications. Hence, there are a several testing tools available now, which focus on automatic generation of test cases for Android applications. These tools differ with one another on the basis of their strategies and heuristics used for this generation of test cases. But there is still very little work done on the comparison of these testing tools and the strategies they use. Recently, some research work has been carried outiv in this regard that compared the performance of various available tools with respect to their respective code coverage, fault detection, ability to work on multiple platforms and their ease of use. It was done, by running these tools on a total of 60 real world Android applications. The results of this research showed that although effective, these strategies being used by the tools, also face limitations and hence, have room for improvement. The purpose of this thesis is to extend this research into a more specific and attribute-‐ oriented way. Attributes refer to the tasks that can be completed using the Android platform. It can be anything ranging from a basic system call for receiving an SMS to more complex tasks like sending the user to another application from the current one. The idea is to develop a benchmark for Android testing tools, which is based on the performance related to these attributes. This will allow the comparison of these tools with respect to these attributes. For example, if there is an application that plays some audio file, will the testing tool be able to generate a test input that will warrant the execution of this audio file? Using multiple applications using different attributes, it can be visualized that which testing tool is more useful for which kinds of attributes. In this thesis, it was decided that 9 attributes covering the basic nature of tasks, will be targeted for the assessment of three testing tools. Later this can be done for much more attributes to compare even more testing tools. The aim of this work is to show that this approach is effective and can be used on a much larger scale. One of the flagship features of this work, which also differentiates it with the previous work, is that the applications used, are all specially made for this research. The reason for doing that is to analyze just that specific attribute in isolation, which the application is focused on, and not allow the tool to get bottlenecked by something trivial, which is not the main attribute under testing. This means 9 applications, each focused on one specific attribute. The main contributions of this thesis are: A summary of the three existing testing tools and their respective techniques for automatic test input generation of Android Applications. • A detailed study of the usage of these testing tools using the 9 applications specially designed and developed for this study. • The analysis of the obtained results of the study carried out. And a comparison of the performance of the selected tools.
Resumo:
La forma de consumir contenidos en Internet ha cambiado durante los últimos años. Inicialmente se empleaban webs estáticas y con contenidos pobres visualmente. Con la evolución de las redes de comunicación, esta tendencia ha variado. A día de hoy, deseamos páginas agradables, accesibles y que nos presenten temas variados. Todo esto ha cambiado la forma de crear páginas web y en todos los casos se persigue el objetivo de atraer a los usuarios. El gran auge de los smartphones y las aplicaciones móviles que invaden el mercado actual han revolucionado el mundo del estudio de los idiomas permitiendo compatibilizar los recursos punteros con el aprendizaje tradicional. La popularidad de los dispositivos móviles y de las aplicaciones ha sido el principal motivo de la realización de este proyecto. En él se realizará un análisis de las diferentes tecnologías existentes y se elegirá la mejor opción que se ajuste a nuestras necesidades para poder desarrollar un sistema que implemente el enfoque llamado Mobile Assisted Language Learning (MALL) que supone una aproximación innovadora al aprendizaje de idiomas con la ayuda de un dispositivo móvil. En este documento se va a ofrecer una panorámica general acerca del desarrollo de aplicaciones para dispositivos móviles en el entorno del e-learning. Se estudiarán características técnicas de diferentes plataformas seleccionando la mejor opción para la implementación de un sistema que proporcione los contenidos básicos para el aprendizaje de un idioma, en este caso del inglés, de forma intuitiva y divertida. Dicho sistema permitirá al usuario mejorar su nivel de inglés mediante una interfaz web de forma dinámica y cercana empleando los recursos que ofrecen los dispositivos móviles y haciendo uso del diseño adaptativo. Este proyecto está pensado para los usuarios que dispongan de poco tiempo libre para realizar un curso de forma presencial o, mejor aún, para reforzar o repasar contenidos ya aprendidos por otros medios más tradicionales o no. La aplicación ofrece la posibilidad de que se haga uso del sistema de forma fácil y sencilla desde cualquier dispositivo móvil del que se disponga como es un smartphone, tablet o un ordenador personal, compitiendo con otros usuarios o contra uno mismo y mejorando así el nivel de partida a través de las actividades propuestas. Durante el proyecto se han comparado diversas soluciones, la mayoría de código abierto y de libre distribución que permiten desplegar servicios de almacenamiento accesibles mediante Internet. Se concluirá con un caso práctico analizando los requisitos técnicos y llevando a cabo las fases de análisis, diseño, creación de la base de datos, implementación y pruebas dentro del ciclo de vida del software. Finalmente, se migrará la aplicación con toda la información a un servidor en la nube. ABSTRACT. The way of consuming content on the Internet has changed over the past years. Initially, static websites were used with poor visual contents. Nevertheless, with the evolution of communication networks this trend has changed. Nowadays, we expect pleasant, accessible and varied topic pages and such expectations have changed the way to create web pages generally aiming at appealing and therefore, attracting users. The great boom of smartphones and mobile applications in the current market, have revolutionized the world of language learning as they make it possible to combine computing with traditional learning resources. The popularity of mobile devices and applications has been the main reason for the development of this project. Here, the different existing technologies will be examined and we will try to select the best option that adapts to our needs in order to develop a system that implements Mobile Assisted Language Learning (MALL) that in broad terms implies an approach to language learning with the help of a mobile device. This report provides an overview of the development of applications for mobile devices in the e-learning environment. We will study the technical characteristics of different platforms and we will select the best option for the implementation of a system that provide the basic content for learning a language, in this case English, by means of an intuitive and fun method. This system will allow the user to improve their level of English with a web interface in a dynamic and close way employing the resources offered by mobile devices using the adaptive design. This project is intended for users who do not have enough free time to make a classroom course or to review contents from more traditional courses as it offers the possibility to make use of the system quickly and easily from any mobile device available such as a smartphone, a tablet or a personal computer, competing with other users or against oneself and thus improving their departing level through different activities. During the project, different solutions have been compared. Most of them, open source and free distribution that allow to deploy storage services accessible via the Internet. It will conclude with a case study analyzing the technical requirements and conducting phases of analysis, design and creation of a database, implementation and testing in the software lifecycle. Finally, the application will be migrated with all the information to a server in the cloud.
Resumo:
El presente TFG está enmarcado en el contexto de la biología sintética (más concretamente en la automatización de protocolos) y representa una parte de los avances en este sector. Se trata de una plataforma de gestión de laboratorios autónomos. El resultado tecnológico servirá para ayudar al operador a coordinar las máquinas disponibles en un laboratorio a la hora de ejecutar un experimento basado en un protocolo de biología sintética. En la actualidad los experimentos biológicos tienen una tasa de éxito muy baja en laboratorios convencionales debido a la cantidad de factores externos que intervienen durante el protocolo. Además estos experimentos son caros y requieren de un operador pendiente de la ejecución en cada fase del protocolo. La automatización de laboratorios puede suponer un aumento de la tasa de éxito, además de una reducción de costes y de riesgos para los trabajadores en el entorno del laboratorio. En la presente propuesta se pretende que se dividan las distintas entidades de un laboratorio en unidades funcionales que serán los elementos a ser coordinados por la herramienta resultado del TFG. Para aportar flexibilidad a la herramienta se utilizará una arquitectura orientada a servicios (SOA). Cada unidad funcional desplegará un servicio web proporcionando su funcionalidad al resto del laboratorio. SOA es esencial para la comunicación entre máquinas ya que permite la abstracción del tipo de máquina que se trate y como esté implementada su funcionalidad. La principal dificultad del TFG consiste en lidiar con las dificultades de integración y coordinación de las distintas unidades funcionales para poder gestionar adecuadamente el ciclo de vida de un experimento. Para ello se ha realizado un análisis de herramientas disponibles de software libre. Finalmente se ha escogido la plataforma Apache Camel como marco sobre el que crear la herramienta específica planteada en el TFG. Apache Camel juega un papel importantísimo en este proyecto, ya que establece las capas de conexión a los distintos servicios y encamina los mensajes oportunos a cada servicio basándose en el contenido del fichero de entrada. Para la preparación del prototipo se han desarrollado una serie de servicios web que permitirán realizar pruebas y demostraciones de concepto de la herramienta en sí. Además se ha desarrollado una versión preliminar de la aplicación web que utilizará el operador del laboratorio para gestionar las peticiones, decidiendo que protocolo se ejecuta a continuación y siguiendo el flujo de tareas del experimento.---ABSTRACT---The current TFG is bound by synthetic biology context (more specifically in the protocol automation) and represents an element of progression in this sector. It consists of a management platform for automated laboratories. The technological result will help the operator to coordinate the available machines in a lab, this way an experiment based on a synthetic biological protocol, could be executed. Nowadays, the biological experiments have a low success rate in conventional laboratories, due to the amount of external factors that intrude during the protocol. On top of it, these experiments are usually expensive and require of an operator monitoring at every phase of the protocol. The laboratories’ automation might mean an increase in the success rate, and also a reduction of costs and risks for the lab workers. The current approach is hoped to divide the different entities in a laboratory in functional units. Those will be the elements to be coordinated by the tool that results from this TFG. In order to provide flexibility to the system, a service-oriented architecture will be used (SOA). Every functional unit will deploy a web service, publishing its functionality to the rest of the lab. SOA is essential to facilitate the communication between machines, due to the fact that it provides an abstraction on the type of the machine and how its functionality is implemented. The main difficulty of this TFG consists on grappling with the integration and coordination problems, being able to manage successfully the lifecycle of an experiment. For that, a benchmark has been made on the available open source tools. Finally Apache Camel has been chosen as a framework over which the tool defined in the TFG will be created. Apache Camel plays a fundamental role in this project, given that it establishes the connection layers to the different services and routes the suitable messages to each service, based on the received file’s content. For the prototype development a number of services that will allow it to perform demonstrations and concept tests have been deployed. Furthermore a preliminary version of the webapp has been developed. It will allow the laboratory operator managing petitions, to decide what protocol goes next as it executes the flow of the experiment’s tasks.
Resumo:
La presente investigación se inicia planteando el objetivo de identificar los parámetros geométricos que son exclusivos del proceso de generación de la Forma y relacionarlos con los invariantes relacionados con la Fabricación digital aplicada a la Arquitectura. Con ello se pretende recuperar la geometría como herramienta principal del proceso de Proyecto ampliando su ámbito de actuación al encontrar una relación con los procesos de fabricación digital. El primer capítulo describe los antecedentes y contexto histórico centrándose especialmente en la influencia de la capacidad de definir geometrías complejas digitalmente mediante la aplicación de algoritmos. En los primeros ejemplos la aproximación del Arquitecto a proyectos con geometrías complejas no euclídeas aún se emplea sin precisión en la comunicación de la geometría ideada para su puesta en obra. Las técnicas constructivas obligan a asumir una tolerancia de desviación entre proyecto y obra y la previsión del comportamiento de esa geometría no permite asegurar su comportamiento final. No será hasta la introducción de herramientas CAD en el proceso de ideación arquitectónica cuando el Arquitecto se capacite para generar geometrías no representables de forma analógica. Sin embargo, la imposibilidad de trasladar la geometría proyectada a la praxis constructiva impedirá la plasmación de un proceso completo, salvo en las contadas ocasiones que se recogen en este texto. “El análisis cronológico de las referencias establece como aspecto esencial para la construcción de geometrías complejas la capacidad primero para definir y comunicar de forma precisa e inequívoca la geometría y después la capacidad de analizar el desempeño prestacional de dicha propuesta geométrica”. La presente investigación se inicia planteando el objetivo de identificar los parámetros geométricos que son exclusivos del proceso de generación de la Forma y relacionarlos con los invariantes relacionados con la Fabricación digital aplicada a la Arquitectura. Con ello se pretende recuperar la geometría como herramienta principal del proceso de Proyecto ampliando su ámbito de actuación al encontrar una relación con los procesos de fabricación digital. El primer capítulo describe los antecedentes y contexto histórico centrándose especialmente en la influencia de la capacidad de definir geometrías complejas digitalmente mediante la aplicación de algoritmos. En los primeros ejemplos la aproximación del Arquitecto a proyectos con geometrías complejas no euclídeas aún se emplea sin precisión en la comunicación de la geometría ideada para su puesta en obra. Las técnicas constructivas obligan a asumir una tolerancia de desviación entre proyecto y obra y la previsión del comportamiento de esa geometría no permite asegurar su comportamiento final. No será hasta la introducción de herramientas CAD en el proceso de ideación arquitectónica cuando el Arquitecto se capacite para generar geometrías no representables de forma analógica. Sin embargo, la imposibilidad de trasladar la geometría proyectada a la praxis constructiva impedirá la plasmación de un proceso completo, salvo en las contadas ocasiones que se recogen en este texto. “El análisis cronológico de las referencias establece como aspecto esencial para la construcción de geometrías complejas la capacidad primero para definir y comunicar de forma precisa e inequívoca la geometría y después la capacidad de analizar el desempeño prestacional de dicha propuesta geométrica”. Establecida la primera conclusión, el capítulo de contexto histórico continúa enfocándose sobre la aplicación de las técnicas digitales en el Proceso de proyecto primero, y en la puesta en obra después. Los casos de estudio identifican claramente como un punto de inflexión para la generación de formas complejas mediante un software CAD el Museo Guggenheim de Bilbao en 1992. El motivo esencial para elegir este proyecto como el primer proyecto digital es el uso de la herramienta de definición digital de la geometría para su reproducción inequívoca en obra. “La revolución digital ha aportado al Arquitecto la posibilidad de abandonar las tipologías arquitectónicas basados en restricciones geométricas-constructivas. La aplicación de técnicas de fabricación digital ha permitido la capacidad de diseñar con independencia del sistema constructivo y libertad formal. En este nuevo contexto las prestaciones suponen los nuevos límites conceptuales, ya que el acceso y disposición de la información del comportamiento de las alternativas que cada geometría conlleva demanda del Arquitecto la jerarquización de los objetivos y la formulación en un conjunto coherente de parámetros”. Los proyectos que emplean herramientas digitales para la resolución de las distintas etapas del proceso proyectual se verán incrementados de forma exponencial desde 1992 hasta nuestros días. A pesar del importante auge de las técnicas de diseño asistido por ordenador el principal desafío sigue siendo la vinculación de las geometrías y materiales propuestos con las capacidades de las técnicas de manufactura y puesta en obra. El proceso de diseño para fabricación en un entorno digital es una tecnología madura en otras industrias como la aeroespacial o la automovilística, incluso la de productos de consumo y decoración, sin embargo en el sector de Construcción es un sistema inmaduro e inconexo. Las particularidades de la industria de la construcción aún no han sido abordadas en su totalidad y las propuestas de investigación realizadas en este ámbito se han centrado hasta 2015 en partes del proceso y no en el proceso total. “El principal obstáculo para la estandarización e implantación globalizada de un proceso digital desde el origen de la forma hasta la construcción es la inexistencia de un protocolo integrado que integre las limitaciones de fabricación, económicas y de puesta en obra junto a la evaluación de desempeño prestacional durante la fases iniciales de proyecto”. En el capítulo número 3 se estudian los distintos procesos de generación de la forma. Se propone una definición específica para el ámbito de la investigación de “forma” en el entendemos que se incluye la envolvente exterior y el conjunto organizativo de espacios interiores conectados. Por lo tanto no es excluyente del interior. El objetivo de este estudio es analizar y clasificar los procesos para la generación digital de formas en los distintos proyectos seleccionados como emblemáticos de cada tipología. Se concluye que la aproximación a este proceso es muy variada y compleja, con aplicación segregada y descoordinada entre los distintos agentes que han intervenir. En un proceso de generación formal analógico los parámetros que intervienen son en parte conscientes y en parte inconscientes o aprendidos. El Arquitecto sólo tiene control sobre la parte consciente de los parámetros a integrar en el diseño, de acuerdo a sus conocimientos y capacidades será capaz de manejar un número limitado de parámetros. La parte aprendida permanece en el inconsciente y dirige el proceso analógico, aportando prejuicios estéticos incorporados durante el proceso formativo y propio del entorno cultural. “El empleo de herramientas digitales basadas en la evaluación prestacional durante el proceso de selección formal permite al Arquitecto conocer “en tiempo real” el desempeño en el conjunto de prestaciones evaluadoras del conjunto de alternativas geométricas a la propuesta previamente definida por la intuición arquitectónica. El proceso definido no persigue identificar una solución óptima sino asistir al Arquitecto en el proceso de generación de la forma mediante la evaluación continua de los vectores direccionales más idóneos que el procedimiento generativo plantea”. La definición de complejidad en generación y producción de formas en relación con el proceso de diseño digital paramétrico global o integrado, es esencial para establecer un protocolo que optimice su gestión. “Se propone como definición de complejidad como factor resultante de multiplicar el número de agentes intervinientes por el número de parámetros e interacciones comunes que intervienen en el proceso de generación de la forma, dividido por la complejidad de intercambio de información digital desde el origen hasta la fase de fabricación y construcción”. Una vez analizados los procesos de generación digital de Arquitectura se propone identificar los parámetros geométricos que definen el proceso de Diseño digital, entendiendose por Diseño el proceso que engloba desde la proposición de una forma inicial basada en la intuición del Arquitecto, la generación y evaluación de variantes y posterior definición digital para producción, tanto de un objeto, un sistema o de la totalidad del Proyecto. En la actualidad el proceso de Diseño es discontinuo y lineal organizandose los parámetros por disciplinas en las que está estructurada las atribuciones profesionales en la industria de la construcción. Para simplificar la identificación y listado se han agrupado siguiendo estos grupos de conocimiento. Entendemos parametros invariables aquellos que son independientes de Tipologías arquitectónicas o que dependen del mismo proceso de generación de la Forma. “El listado de los parámetros que intervienen en un proceso de generación formal es una abstracción de una realidad compleja. La parametrización de las decisiones que intervienen en la selección de una forma determinada mediante “well defined problems” es imposible. El proceso que esta tesis describe entiende esta condición como un elemento que pone en valor el propio procedimiento generativo por la riqueza que la subjetividad que el equipo de diseño aporta”. La segunda parte esencial de esta investigación pretende extraer las restricciones propias del estado del arte de la fabricación digital para posteriormente incorporarlos en los procesos digitales de definición de la Forma arquitectónica. “La integración de las restricciones derivadas de las técnicas de fabricación y construcción digitales en el proceso de generación de formas desde el ámbito de la Arquitectura debe referirse a los condicionantes geométricos asociados a cada sistema constructivo, material y técnica de fabricación. La geometría es además el vínculo que permite asociar el conjunto de parámetros prestacionales seleccionados para un Proyecto con los sistemas de fabricación digital”. A estos condicionantes geométricos obtenidos del análisis de cada sistema de fabricación digital se les ha denominado “invariantes geométricos”. Bajo este término se engloban tanto límites dimensionales de fabricación, como materiales compatibles, tolerancias de manufactura e instalación y cualidades prestacionales asociadas. El objetivo de esta propuesta es emplear la geometría, herramienta fundamental y propia del Arquitecto, como nexo de unión entre el conjunto complejo y heterogéneo de parámetros previamente listados y analizados. Para ello se han simplificado en tablas específicas para cada parámetro prestacional los condicionantes geométricos que se derivan de los Sistemas de fabricación digital compatibles (ver apéndice 1). El estudio y evaluación de las capacidades y objetivos de las distintas plataformas de software disponibles y de las experiencias profesionales evaluadas en los proyectos presentados, permiten concluir que la propuesta de plataforma digital de diseño integral multi-paramétrico de formas arquitectónicas requiere de un protocolo de interoperatibilidad específico aún no universalmente establecido. Actualmente el enfoque de la estrategia para normalizar y universalizar el contexto normativo para regular la interoperatibilidad se centra en figura del gestor denominado “BIM manager”. Las atribuciones y roles de esta figura se enfocan a la gestión del continente y no del contenido (Definición de los formatos de intercambio, niveles de desarrollo (LOD) de los componentes o conjuntos constructivos, detección de interferencias y documentación del propio modelo). Siendo este ámbito un desarrollo necesario para la propuesta de universalización del sistema de diseño para fabricación digital integrado, la presente investigación aporta un organigrama y protocolo asociado. El protocolo: 1. Establece la responsabilidad de identificar y definir la Información que debe determinar el proceso de generación y desarrollo de la forma arquitectónica. 2. Define la forma digital apropiada para generar la geometría del Proyecto, incluyendo la precisión necesaria para cada componente y el nivel de detalle necesario para su exportación inequívoca al proceso de fabricación. 3. Define el tempo de cada etapa de diseño identificando un nivel de detalle acorde. 4. Acopla este organigrama dentro de las estructuras nuevas que se proponen en un entorno BIM para asegurar que no se producen solapes o vacíos con las atribuciones que se identifican para el BIM Manager. “El Arquitecto debe dirigir el protocolo de generación coordinada con los sistemas de producción digital para conseguir que la integración completa. El protocolo debe asistir al proceso de generación de forma mediante la evaluación del desempeño prestacional de cada variante en tiempo real. La comunicación entre herramientas digitales es esencial para permitir una ágil transmisión de información. Es necesario establecer un protocolo adaptado a los objetivos y las necesidades operativas de cada proyecto ya que la estandarización de un protocolo único no es posible”. Una decisión estratégica a la hora de planificar una plataforma de diseño digital común es establecer si vamos a optar por un Modelo digital único o diversos Modelos digitales federados. Cada uno de los modos de trabajo tiene fortalezas y debilidades, no obstante en el ámbito de investigación se ha concluido que un proceso integrado de Diseño que incorpore la evaluación prestacional y conceptual definida en el Capítulo 3, requiere necesariamente de varios modelos de software distintos que han de relacionarse entre sí mediante un protocolo de comunicación automatizado. Una plataforma basada en un modelo federado consiste en establecer un protocolo de comunicación entre los programas informáticos empleados por cada disciplina. En este modelo de operación cada equipo de diseño debe establecer las bases de comunicación en función del número y tipo de programas y procesos digitales a emplear. En esta investigación se propone un protocolo basado en los estándares de intercambio de información que estructura cualquier proceso de generación de forma paramétrico “La investigación establece el empleo de algoritmos evolutivos como el sistema actual óptimo para desarrollar un proceso de generación de formas basadas en la integración y coordinación de invariantes geométricos derivados de un conjunto de objetivos prestacionales y constructivos. No obstante, para la aplicación en el caso práctico realizado se ha podido verificar que la evaluación del desempeño aún no puede realizarse en una única herramienta y por lo tanto el proceso de selección de las variantes genéticas óptimas ha de ejecutarse de forma manual y acumulativa. El proceso debe realizarse de manera federada para la selección evolutiva de los invariantes geométricos dimensionales”. La evaluación del protocolo de integración y los condicionantes geométricos obtenidos como parámetros geométricos que controlan las posibles formas compatibles se realiza mediante su aplicación en un caso práctico. El ejercicio simula la colaboración multidisciplinar con modelos federados de plataformas distintas. La elección del tamaño y complejidad constructiva del proyecto se ha modulado para poder alcanzar un desarrollo completo de cada uno de los parámetros prestacionales seleccionados. Continuando con el mismo objetivo propuesto para los parámetros prestacionales, la tipología constructiva-estructural seleccionada para el ejercicio permite la aplicación la totalidad de invariantes geométricos asociados. El objetivo de este caso práctico es evaluar la capacidad alterar la forma inicialmente propuesta mediante la evaluación del desempeño prestacional de conjunto de variantes geométricas generadas a partir de un parámetro dimensional determinado. Para que este proceso tenga sentido, cada una de las variantes debe ser previamente validada conforme a las limitaciones geométricas propias de cada sistema de fabricación y montaje previstos. El interés de las conclusiones obtenidas es la identificación de una variante geométrica distante a la solución simétrica inicialmente como la solución óptima para el conjunto de parámetros seleccionados. Al tiempo se ha comprobado como la participación de un conjunto de parámetros multi-disciplinares que representan la realidad compleja de los objetivos arquitectónicos favorecen la aparición de variaciones genéticas con prestaciones mejoradas a la intuición inicial. “La herencias tipológicas suponen un límite para la imaginación de variantes formales al proceso de ideación arquitectónica. El ejercicio realizado demuestra que incluso en casos donde aparentemente la solución óptima aparenta ser obvia una variante aleatoria puede mejorar su desempeño global. La posibilidad de conocer las condiciones geométricas de las técnicas de fabricación digital compatibles con el conjunto de parámetros seleccionados por el Arquitecto para dirigir el proceso asegura que los resultados del algoritmo evolutivo empleado sean constructivamente viables. La mejora de imaginación humana con la aportación de geometrías realmente construibles supone el objetivo último de esta tesis”. ABSTRACT Architectural form generation process is shifting from analogical to digital. Digital technology has changed the way we design empowering Architects and Engineers to precisely define any complex geometry envisioned. At the same time, the construction industry, following aeronautical and automotive industries, is implementing digital manufacturing techniques to improve efficiency and quality. Consequently construction complexity will no longer be related to geometry complexity and it is associated to coordination with digital manufacturing capacities. Unfortunately it is agreed that non-standard geometries, even when proposed with performance optimization criteria, are only suitable for projects with non-restricted budgets. Furthemore, the lack of coordinated exportation protocol and geometry management between design and construction is avoiding the globalization of emergence process in built projects Present research first objective is to identify exclusive form-generation parameters related to digital manufacturing geometrical restraints. The intention was to use geometry as the form-generation tool and integrate the digital manufacturing capacities at first stages of the project. The first chapter of this text describes the investigation historical context focusing on the influence between accurate geometry definition at non-standard forms and its construction. At first examples of non-Euclidean geometries built the communication between design and construction were based on analogical partial and imprecise documentation. Deficient communication leads to geometry adaptation on site leaving the final form uncontrolled by the Architect. Computer Aided Design enable Architects to define univocally complex geometries that previously where impossible to communicate. “The univocally definition of the Form, and communication between design and construction is essential for complex geometry Projects”. The second chapter is focused on digital technologies application in form finding process and site construction. The case studies selected identifies a clear inflexion node at 1992 with the Guggenheim Museum in Bilbao. The singularity of this project was the use of Aeronautics software to define digitally the external envelope complex geometry to enable the contractor to build it. “The digital revolution has given the Architect the capacity to design buildings beyond the architectural archetypes driven by geometric-constructive limitations. The application of digital manufacturing techniques has enabled a free-form construction without geometrical limitations. In this new context performance shall be the responsible to set new conceptual boundaries, since the behavior of each possible geometry can be compare and analyze beforehand. The role of the Architect is to prioritize the performance and architectural objectives of each project in a complete and coherent set of parameters”. Projects using digital tools for solving various stages of the design process were increased exponentially since 1992 until today. Despite the significant rise of the techniques of computer-aided design the main challenge remains linking geometries and materials proposed at each design with the capabilities of digital manufacturing techniques. Design for manufacturing in a digital environment is a mature technology in other industries such as aerospace and automotive, including consumer products and decoration, but in the construction sector is an immature and disjointed system. The peculiarities of the construction industry have not yet been addressed in its entirety and research proposals made in this area until 2015 have focused in separate parts of the process and not the total process. “The main obstacle to global standardization and implementation of a complete digital process from the form-finding to construction site is the lack of an integrated protocol that integrates manufacturing, economic and commissioning limitations, together with the performance evaluation of each possible form”. The different form generation processes are studied at chapter number 3. At the introduction of this chapter there is a specific definition of "form" for the research field. Form is identified with the outer envelope geometry, including the organizational set of connected indoor spaces connected to it. Therefore it is not exclusive of the interior. The aim of this study is to analyze and classify the main digital form generation processes using different selected projects as emblematic of each type. The approach to this process is complex, with segregated and uncoordinated different actors have to intervene application. In an analogical form-generation process parameters involved are partly conscious and partly unconscious or learned. The architect has control only over limited part of the parameters to be integrated into the design, according to their knowledge and. There is also a learned aesthetical prejudice that leads the form generation process to a specific geometry leaving the performance and optimization criteria apart from the decision making process. “Using performance evaluation digital tools during form finding process provides real-time comparative information to the Architect enabling geometry selection based on its performance. The generative form generation process described at this document does not ambition to identify the optimum geometry for each set of parameters. The objective is to provide quick information at each generation of what direction is most favorable for the performance parameters selected”. Manufacturing complexity definition in relation to a global and integral process of digital design for manufacture is essential for establishing an efficient managing protocol. “The definition of complexity associated to design for production in Architecture is proposed as the factor between number of different agents involved in the process by the number of interactions required between them, divided by the percentage of the interchange of information that is standardized and proof of information loss”. Design in architecture is a multi-objective process by definition. Therefore, addressing generation process linked to a set of non-coherent parameters requires the selection of adequate generative algorithm and the interaction of the architect. During the second half of the twentieth century and early twenty-first century it have been developed various mathematical algorithms for multi-parametric digital design. Heuristic algorithms are the most adequate algorithms for architectural projects due to its nature. The advantage of such algorithms is the ability to efficiently handle large scale optimization cases where a large number of design objectives and variables are involved. These generative processes do not pursue the optimum solution, in fact it will be impossible to proof with such algorithm. This is not a problem in architectural design where the final goal is to guide the form finding process towards a better performance within the initial direction provided by the architect. This research has focused on genetic algorithms due to its capacity to generate geometric alternatives in multiple directions and evaluate the fitness against a set of parameters specified in a single process. "Any protocol seeks to achieve standardization. The design to manufacturing protocol aims to provide a coordinated and coherent form generation process between a set of design parameters and the geometrical requirements of manufacturing technique. The protocol also provides an information exchange environment where there is a communication path and the level of information is ensured. The research is focused on the process because it is considered that each project will have its own singularities and parameters but the process will stay the same. Again the development of a specific tool is not a goal for the research, the intention is to provide an open source protocol that is valid for any set of tools”. Once the digital generation processes are being analized and classified, the next step is to identify the geometric parameters that define the digital design process. The definition of design process is including from the initial shape proposal based on the intuition of the architect to the generation, evaluation, selection and production of alternatives, both of an object , system or of the entire project . The current design process in Architecture is discontinuous and linear, dividing the process in disciplines in which the construction industry is structured. The proposal is to unify all relevant parameters in one process. The parameters are listed in groups of knowledge for internal classification but the matrix used for parameter relationship determination are combined. “A multi-parameter determination of the form-finding process is the integration all the measurable decisions laying behind Architect intuition. It is not possible to formulate and solve with an algorithm the design in Architecture. It is not the intention to do so with the proposal of this research. The process aims to integrate in one open protocol a selection of parameters by using geometry as common language. There is no optimum solution for any step of the process, the outcome is an evaluation of performance of all the form variations to assist the Architect for the selection of the preferable solution for the project”. The research follows with the geometrical restrictions of today Digital manufacturing techniques. Once determined it has been integrated in the form-finding process. “Digital manufacturing techniques are integrated in the form-finding process using geometry as common language. Geometric restraints define the boundary for performance parametric form-finding process. Geometrical limitations are classified by material and constructive system”. Choose between one digital model or several federate models is a strategic decision at planning a digital design for manufacturing protocol. Each one of the working models have strengths and weakens, nevertheless for the research purposes federated models are required to manage the different performance evaluation software platforms. A protocol based on federated models shall establish a communication process between software platforms and consultants. The manager shall integrate each discipline requirements defining the communication basis. The proposed protocol is based on standards on information exchange with singularities of the digital manufacturing industry. “The research concludes evolutionary algorithms as current best system to develop a generative form finding process based on the integration and coordination of a set of performance and constructive objectives. However, for application in professional practice and standardize it, the performance evaluation cannot be done in only one tool and therefore the selection of optimal genetic variants must be run in several iterations with a cumulative result. Consequently, the evaluation process within the geometrical restraints shall be carried out with federated models coordinated following the information exchange protocol”. The integration protocol and geometric constraints evaluation is done by applying in a practical case study. The exercise simulates multidisciplinary collaboration across software platforms with federated models. The choice of size and construction complexity of the project has been modulated to achieve the full development of each of the parameters selected. Continuing with the same objective proposed for the performance parameters the constructive and structural type selected for the exercise allows the application all geometric invariants associated to the set of parameters selected. The main goal of the case study is to proof the capacity of the manufacturing integrated form finding process to generate geometric alternatives to initial form with performance improved and following the restrictions determined by the compatible digital manufacturing technologies. The process is to be divided in consecutive analysis each one limited by the geometrical conditions and integrated in a overall evaluation. The interest of this process is the result of a non-intuitive form that performs better than a double symmetrical form. The second conclusion is that one parameter evaluation alone will not justify the exploration of complex geometry variations, but when there is a set of parameters with multidisciplinary approach then the less obvious solution emerge as the better performing form. “Architectural typologies impose limitation for Architects capacity to imagine formal variations. The case study and the research conclusions proof that even in situations where the intuitive solution apparently is the optimum solution, random variations can perform better when integrating all parameters evaluation. The capacity of foreseing the geometrical properties linking each design parameter with compatible manufacturing technologies ensure the result of the form-finding process to be constructively viable. Finally, the propose of a complete process where the geometry alternatives are generated beyond the Architect intuition and performance evaluated by a set of parameters previously selected and coordinated with the manufacturing requirements is the final objective of the Thesis”.
Resumo:
Este proyecto ha sido estructurado en tres bloques diferenciados que tiene como objetivo analizar el presente, pasado y futuro de la gestión de proyectos con una orientación clara a ofrecer apoyo a aquellas empresas que planeen realizar un giro en sus estructura de organización de trabajo hacia filosofías ágiles. La gestión de proyectos a acompañado al hombre desde el inicio de los tiempos, pero sin embargo no fue hasta nuestra historia más cercana cuando se comienza a tener conciencia de la necesidad de establecer aplicar métodos generales a la hora de afrontar proyectos de ingeniería. Pioneros fueron en este sentido personajes como Taylor, Fayol o Gantt, cuyas aportaciones iniciales posibilitaron el nacimiento de la gestión de proyectos a mediados del siglo XX. En las década sucesivas hasta nuestros días han aparecido un número considerable de metodologías, perfeccionando elementos anteriormente asimilados y adaptándose a la realidad tecnológica y social del momento. Este recorrido histórico se aborda en el primer bloque de este proyecto. Los puntos revisados en la introducción histórica proporcionan las bases de conocimiento para entender las principales características entre las grandes familias de metodologías que actualmente son implantadas en el mundo empresarial. Es precisamente este punto, el de la exposición y análisis de las metodologías más extendidas y contemporáneas a la elaboración de este proyecto, lo que se aborda en el segundo bloque. En él se desarrolla con intenso detalle dos metodologías de la familia de filosofías ágiles, elegidas entre las más extendidas en la industria: Scrum, eXtreme Programming (XP) y un híbrido de ambas. Para entender la dimensión del cambio filosófico en cuanto a la gestión de proyectos que emprenden estas metodologías, se hace necesario repasar cuales son las metodologías no ágiles más extendidas actualmente. Para ello se introducen metodologías como la llamada tradicional o PRINCE2, principalmente, ya que también se realiza un repaso más superficial por otras aproximaciones notables. El último bloque que construye el desenlace del proyecto, intenta responder a las cuestiones futuras relacionadas con la adopción de metodologías ágiles. Para ello se revisa los puntos más conflictivos a señalar en este proceso y se ofrecerán soluciones teóricas y prácticas para ayudar a las empresas en su fase de migración hacia filosofías de organización ágiles. Ya que toda empresa hoy en día debería tener un soporte tecnológico que ofrezca apoyo a su desarrollo empresarial, gran parte de la elaboración de este proyecto se ha dedicado a hacer un estudio comparativo de las actuales herramientas Open Source. Se han instalado y probado 25 herramientas para posteriormente seleccionar 3 que han sido analizadas en profundidad. Así mismo, se enumeran pros y contras de estas herramientas, aportando ideas de mejoras y trazando cuál debería ser su evolución para ofrecer una alternativa real a las herramientas comerciales orientadas a esta labor. Las empresas pueden utilizar este índice de herramientas de software para decidir si pueden sustentar su proceso de migración en una herramienta Open Source o si deben orientarse a herramientas comerciales o de creación propias. ABSTRACT. This project has been divided into three different blocks that aims to analyze the past, present and future of project management with a clear focus on providing support to those companies that are planning to make a shift in its organizational structure working towards agile philosophies . The project management has walked together with the humanity since the beginning of time , but it was on our recent history when it begins to become aware of the need to establish general methods to apply to engineering projects. There was pioneers like Taylor , Fayol or Gantt, whose contributions made possible the birth of project management in the mid- twentieth century. In the following decades, there was a considerable number of new methodologies, improving concepts and adapting then to the technological and social reality of the moment . This historical journey is addressed in the first block of this project. The different facts reviewed at the first block provide the knowledge to understand the key features among the most important families of methodologies that nowadays are implemented in the business world. It is precisely this point, the presentation and analysis of the most widespread methodologies what is addressed in the second block. Two of the most widespread agile methodologies are detailed: Scrum , eXtreme Programming ( XP ) and a hybrid of both . In order to understand the philosophical shift in terms of project management performed by these methodologies , it is necessary to review what are the most widespread no agile methodologies currently. For this purpose, methodologies like Waterfall or PRINCE2 are explained. Other no agile methodologies are explained as well, but not so deeply in comparison with them. The last section of this project is the conclusion, it tries to answer future questions related to the adoption of agile methodologies. For that reason, the most important milestones are reviewed to provide theoretical and practical solutions and answers to help companies in this migration process toward agile methodologies. Since every company should has a solid technical support for its business development, a considerably part of the time has been applied to make a comparative study of the existing Open Source tools. 25 tools have been installed and tested. Then, 3 tools has been selected to be analyzed deeply. Also, pros and cons of these tools have been exposed in order to suggest a roadmap to offer a real alternative to the existing commercial tools in this business area. The companies that are involved in a migration progress toward a agile methodology can used this study about the available Open Source tools to decide if they can afford the migration process based on one of them or if they should use a commercial tool or a tailor-made software.