69 resultados para Object-oriented Design
Resumo:
The aim of the paper is to discuss the use of knowledge models to formulate general applications. First, the paper presents the recent evolution of the software field where increasing attention is paid to conceptual modeling. Then, the current state of knowledge modeling techniques is described where increased reliability is available through the modern knowledge acquisition techniques and supporting tools. The KSM (Knowledge Structure Manager) tool is described next. First, the concept of knowledge area is introduced as a building block where methods to perform a collection of tasks are included together with the bodies of knowledge providing the basic methods to perform the basic tasks. Then, the CONCEL language to define vocabularies of domains and the LINK language for methods formulation are introduced. Finally, the object oriented implementation of a knowledge area is described and a general methodology for application design and maintenance supported by KSM is proposed. To illustrate the concepts and methods, an example of system for intelligent traffic management in a road network is described. This example is followed by a proposal of generalization for reuse of the resulting architecture. Finally, some concluding comments are proposed about the feasibility of using the knowledge modeling tools and methods for general application design.
Resumo:
OboMind es un programa educativo utilizado en todos los niveles educativos, desde el colegio hasta la universidad. Este programa simula un robot que se desplaza a través de un mapa. Este proyecto surge de la necesidad de ampliar ciertas funcionalidades de dicho programa. Para la realización del mismo se han utilizado las tecnologías proporcionadas por Java, utilizando como base el código fuente de libre distribución. Este proyecto cuenta con partes de diseño y partes de implementación, en la que se ha utilizado metodologías orientadas a objetos. ---ABSTRACT---RoboMind is an educational programming environment used in all academic disciplines from primary school to college. This application simulates a robot that can move around a world. This project comes from the necessity of extending certain functionalities of it. The technologies used for developing has been those provided by the Java framework, using the free program sources as support for the project. The project has two parts, one design part and another, implementation part, in which object oriented technologies had been used.
Resumo:
El presente proyecto parte de un programa utilizado en las prácticas de laboratorio en la asignatura Antenas y Compatibilidad Electromagnética del sexto semestre llamado SABOR, que pretende ser actualizado para que en las nuevas versiones de los sistemas operativos ofrecidos por la compañía Windows pueda ser operativo. El objetivo principal será diseñar e implementar nuevas funcionalidades así como desarrollar mejoras y corregir errores del mismo. Para su mejor entendimiento se ha creado una herramienta en entorno MATLAB para analizar uno de los tipos más comunes de Apertura que se utilizan actualmente, las bocinas. Dicha herramienta es una interfaz gráfica que tiene como entradas las variables elementales de diseño de la apertura como por ejemplo: dimensiones de la propia bocina o los parámetros generales comunes a todas ellas. A su vez, el software nos genera algunos de los parámetros de salida fundamentales de las antenas: Directividad, Ancho de haz, Centro de fase y Spillover. Para el correcto desarrollo del software se ha realizado numerosas pruebas con el fin de depurar y corregir errores con respecto a la anterior versión del SABOR. Por otra parte se ha hecho también hincapié en la funcionalidad del programa para que sea más intuitivo y evitar complejidades. El tipo de antena que se pretende estudiar es la bocina que consiste en una guía de onda en la cual el área de la sección se va incrementando progresivamente hasta un extremo abierto, que se comporta como una apertura. Se utilizan extensamente en satélites comerciales para coberturas globales desde órbitas geoestacionarias, pero el uso más común es como elemento de radiación para reflectores de antenas. Los tipos de bocinas que se van a examinar en la herramienta son: Sectorial H, Sectorial E, Piramidal, Cónica, Cónica Corrugada y Piramidal Corrugada. El proyecto está desarrollado de manera que pueda servir de información teórico-práctico de todo el software SABOR. Por ello, el documento además de revisar la teoría de las bocinas analizadas, mostrará la información relacionada con la programación orientado a objetos en entorno MATLAB cuyo objetivo propio es adquirir una nueva forma de pensamiento acerca del proceso de descomposición de problemas y desarrollo de soluciones de programación. Finalmente se ha creado un manual de autoayuda para dar soporte al software y se han incluido los resultados de diversas pruebas realizadas para poder observar todos los detalles de su funcionamiento, así como las conclusiones y líneas futuras de acción. ABSTRACT This Project comes from a program used in the labs of the subject Antennas and Electromagnetic Compatibility in the sixth semester called SABOR, which aims to be updated in order to any type of computer running a Windows operating systems(Windows 7 and subsequent versions). The main objectives are design and improve existing functionalities and develop new features. In addition, we will correct mistakes in earlier versions. For a better understanding a new custom tool using MATLAB environment has been created to analyze one of the most common types of apertura antenna which is used for the moment, horns. This tool is a graphical interface that has elementary design variables as a inputs, for example: Dimensions of the own horn or common general parameters of all horns. At the same time, the software generate us some of the fundamental parameters of antennas output like Directivity, Beamwidth, Phase centre and Spillover. This software has been performed numerous tests for the proper functioning of the Software and we have been cared in order to debug and correct errors that were detected in earlier versions of SABOR. In addition, it has also been emphasized the program's functionality in order to be more intuitive and avoiding unnecessary barriers or complexities. The type of antenna that we are going to study is the horn which consists of a waveguides which the section area has been gradually increasing to an open-ended, that behaves as an aperture. It is widely used in comercial satellites for global coverage from geostationary orbits. However, the most common use is radiating element for antenna reflectors. The types of horns which is going to be considered are: Rectangular H-plane sectorial, Rectangular E-plane sectorial, Rectangular Pyramidal, Circular, Corrugated Circular and Corrugated Pyramidal. The Project is developed so that it can be used as practical-theorical information around the SABOR software. Therefore, In addition to thoroughly reviewing the theory document of analyzed horns, it display information related to the object-oriented programming in MATLAB environment whose goal leads us to a new way of thinking about the process of decomposition of problems and solutions development programming. Finally, it has been created a self-help manual in order to support the software and has been included the results of different tests to observe all the details of their operations, as well as the conclusions and future action lines.
Resumo:
Los llamados procesos creativos en general, y los del proyectar arquitectónico en particular, mantienen aproximaciones hacia el objeto centradas principalmente en el procedimiento, es decir, en lo estratégico, lo metodológico o/y lo paradigmático. En ellas, además, el potencial de información no suele ser completo ni contemplado o, si lo ha sido, de manera inconciente, o referido de nuevo a lo procedimental. Igualmente, se centra el interés de estas aproximaciones, o en el objeto propuesto o resultado, o en lo procesal, pero sin atender a su constitución, es decir, a la información misma. Por tanto, y como reclama la física, la base constituyente informacional de estas aproximaciones, no ha sido considerada hasta ahora, ni se ha intentado sistematizar. Junto a esta omisión, estos acercamientos no permiten que cada humano configure de manera autónoma, independiente e íntegramente su propio proceso pues, los comentados procedimientos, están apoyados en marcos contextuales, culturales o/y procesales, reflejando así una orientación limitada en espacio-tiempo. Es así que se propone una potencia, o “aquellas cualidades poseídas por las cosas en cuya virtud éstas son totalmente impasibles o inmutables, o no se dejan cambiar fácilmente…”, según la define Aristóteles en “Metafísica”, como la posibilidad de, a la vez, aludir a un abanico informacional completo y apuntar hacia la íntegra elaboración de un proceso personal propio. Desde lo informacional, que a su vez es energético dependiendo de la disciplina científica considerada, se diferencian, en primer lugar, unos atributos o términos mínimos, que son unas potencias que compendian el abanico informacional completo. Es decir, son mínimos máximos. Estos atributos forman la fase cualitativa de la información a la que se llama acompañamiento. En segundo lugar, y apoyado tanto en el funcionamiento cerebral, en el espacio-tiempo cuántico, como en los nuevos experimentos e investigaciones de la biología, la física y la neurociencia en especial, se abren líneas nuevas para acceder a la información, antes contemplada de manera lineal, local y como entidad separada. Por ello, esta segunda aproximación presenta una potencia de intensificación de datos, que permite un aumento de los mismos en el cerebro y, por ello, la posibilidad de evitar el problema del “papel en blanco”. A esta fase se la nombra promoción. En tercer lugar, ambas fases constituyen la generación como propuesta de tesis, siendo la misma un cambio de cualquier tipo en el que alguien es agente de algo, específicamente, cuando un humano es mediador entre sucesos. Fusionando ambas, se añade simultáneamente una con-formación potencial global, que es sinérgicamente más que la suma de las dos anteriores. De esta manera agrupadora, y con objeto de materializar y sistematizar ahora esta generación o potencia, se presenta una puesta en práctica. Para ello, se desarrolla un modelo analítico-geométrico-paramétrico y se expone su aplicación en dicho caso práctico. Además, dicho modelo presenta un funcionamiento autorreferido u holográfico, reflejando tanto a los estudios científicos revisados, como al propio funcionamiento de los atributos o/y de todas las potencias que se presentan en esta investigación. ABSTRACT Generally speaking the so-called creative processes, and particularly those of the architectural design, keep approaches into the object oriented mainly in the process, so to speak, into the strategical, the methodological and/ or into the paradigmatic. In addition, they don’t usually take into account the potential of information neither in a complete manner nor even contemplated or, if considered, worked out unconsciously, or referred back to the procedural. Similarly, the interest of these approaches is focused either in the proposed object or the output, or in the processual, but leaving their constituent out, being it the information itself. Therefore, as physics is claiming nowadays, the constituent core of these approaches have neither been taken into account so far, nor tried to systematize. Along with this omission, these approaches do not allow each human being to set up autonomously, independently and entirely her/ his own process, because the mentioned procedures are supported by contextual, cultural and/ or procedural frameworks, reflecting then a perspective limited in space-time. Thus a potency is proposed, or "those qualities possessed by things under which they are totally impassive or immutable, or are not easily changed...", as defined by Aristotle in "Metaphysics", as the possibility to, and at the same time, alluding to a full informational range and point out to a whole development of an own personal process. From the informational stand, which in turn is energetic depending on the scientific discipline considered, it is distinguished, in the first place, a minimum set of attributes or terms, which are potencies that summarize the full informational range. That is, they are maximum minimums. These attributes build up the qualitative phase of the information being called accompaniment. Secondly, and supported in the brain functioning, in quantum space-time, as in new experiments and research carried out by biology, physics and neuroscience especially, new lines to access information are being opened, being contemplated linearly, locally and as a detached entity before. Thus, this second approach comes up with a potency of data`s intensifying that allows an increase in the brain thereof and, therefore, the possibility of avoiding the problem of "the blank paper". Promotion is how this phase is appointed. In the third place, both phases form the generation as the dissertation proposal, being it a change of any kind in which someone is the agent of something, specifically, when a human being is the mediator in between events. Fusing both of them, a global potential formation-with is added simultaneously, which is synergistically greater than the sum of the previous two. In this grouping way, and now in order to materialize and systemize this generation or potency, an implementation is displayed. To this end, an analytical-geometrical-parametrical model is developed and put into practice as a case study. In addition, this model features a self-referral or holographic functioning, being aligned to both scientific reviewed studies, and the very functioning either of the attributes and/ or all the potencies that are introduced in this research.
Resumo:
Software architectural evaluation is a key discipline used to identify, at early stages of a real-time system (RTS) development, the problems that may arise during its operation. Typical mechanisms supporting concurrency, such as semaphores, mutexes or monitors, usually lead to concurrency problems in execution time that are difficult to be identified, reproduced and solved. For this reason, it is crucial to understand the root causes of these problems and to provide support to identify and mitigate them at early stages of the system lifecycle. This paper aims to present the results of a research work oriented to the development of the tool called ‘Deadlock Risk Evaluation of Architectural Models’ (DREAM) to assess deadlock risk in architectural models of an RTS. A particular architectural style, Pipelines of Processes in Object-Oriented Architectures–UML (PPOOA) was used to represent platform-independent models of an RTS architecture supported by the PPOOA –Visio tool. We validated the technique presented here by using several case studies related to RTS development and comparing our results with those from other deadlock detection approaches, supported by different tools. Here we present two of these case studies, one related to avionics and the other to planetary exploration robotics. Copyright © 2011 John Wiley & Sons, Ltd.
Resumo:
This paper introduces a novel technique for identifying logically related sections of the heap such as recursive data structures, objects that are part of the same multi-component structure, and related groups of objects stored in the same collection/array. When combined withthe lifetime properties of these structures, this information can be used to drive a range of program optimizations including pool allocation, object co-location, static deallocation, and region-based garbage collection. The technique outlined in this paper also improves the efficiency of the static analysis by providing a normal form for the abstract models (speeding the convergence of the static analysis). We focus on two techniques for grouping parts of the heap. The first is a technique for precisely identifying recursive data structures in object-oriented programs based on the types declared in the program. The second technique is a novel method for grouping objects that make up the same composite structure and that allows us to partition the objects stored in a collection/array into groups based on a similarity relation. We provide a parametric component in the similarity relation in order to support specific analysis applications (such as a numeric analysis which would need to partition the objects based on numeric properties of the fields). Using the Barnes-Hut benchmark from the JOlden suite we show how these grouping methods can be used to identify various types of logical structures allowing the application of many region-based program optimizations.
Resumo:
Finding useful sharing information between instances in object- oriented programs has recently been the focus of much research. The applications of such static analysis are multiple: by knowing which variables definitely do not share in memory we can apply conventional compiler optimizations, find coarse-grained parallelism opportunities, or, more importantly, verify certain correctness aspects of programs even in the absence of annotations. In this paper we introduce a framework for deriving precise sharing information based on abstract interpretation for a Java-like language. Our analysis achieves precision in various ways, including supporting multivariance, which allows separating different contexts. We propose a combined Set Sharing + Nullity + Classes domain which captures which instances do not share and which ones are definitively null, and which uses the classes to refine the static information when inheritance is present. The use of a set sharing abstraction allows a more precise representation of the existing sharings and is crucial in achieving precision during interprocedural analysis. Carrying the domains in a combined way facilitates the interaction among them in the presence of multivariance in the analysis. We show through examples and experimentally that both the set sharing part of the domain as well as the combined domain provide more accurate information than previous work based on pair sharing domains, at reasonable cost.
Resumo:
Finding useful sharing information between instances in object- oriented programs has been recently the focus of much research. The applications of such static analysis are multiple: by knowing which variables share in memory we can apply conventional compiler optimizations, find coarse-grained parallelism opportunities, or, more importantly,erify certain correctness aspects of programs even in the absence of annotations In this paper we introduce a framework for deriving precise sharing information based on abstract interpretation for a Java-like language. Our analysis achieves precision in various ways. The analysis is multivariant, which allows separating different contexts. We propose a combined Set Sharing + Nullity + Classes domain which captures which instances share and which ones do not or are definitively null, and which uses the classes to refine the static information when inheritance is present. Carrying the domains in a combined way facilitates the interaction among the domains in the presence of mutivariance in the analysis. We show that both the set sharing part of the domain as well as the combined domain provide more accurate information than previous work based on pair sharing domains, at reasonable cost.
Resumo:
El Análisis de Consumo de Recursos o Análisis de Coste trata de aproximar el coste de ejecutar un programa como una función dependiente de sus datos de entrada. A pesar de que existen trabajos previos a esta tesis doctoral que desarrollan potentes marcos para el análisis de coste de programas orientados a objetos, algunos aspectos avanzados, como la eficiencia, la precisión y la fiabilidad de los resultados, todavía deben ser estudiados en profundidad. Esta tesis aborda estos aspectos desde cuatro perspectivas diferentes: (1) Las estructuras de datos compartidas en la memoria del programa son una pesadilla para el análisis estático de programas. Trabajos recientes proponen una serie de condiciones de localidad para poder mantener de forma consistente información sobre los atributos de los objetos almacenados en memoria compartida, reemplazando éstos por variables locales no almacenadas en la memoria compartida. En esta tesis presentamos dos extensiones a estos trabajos: la primera es considerar, no sólo los accesos a los atributos, sino también los accesos a los elementos almacenados en arrays; la segunda se centra en los casos en los que las condiciones de localidad no se cumplen de forma incondicional, para lo cual, proponemos una técnica para encontrar las precondiciones necesarias para garantizar la consistencia de la información acerca de los datos almacenados en memoria. (2) El objetivo del análisis incremental es, dado un programa, los resultados de su análisis y una serie de cambios sobre el programa, obtener los nuevos resultados del análisis de la forma más eficiente posible, evitando reanalizar aquellos fragmentos de código que no se hayan visto afectados por los cambios. Los analizadores actuales todavía leen y analizan el programa completo de forma no incremental. Esta tesis presenta un análisis de coste incremental, que, dado un cambio en el programa, reconstruye la información sobre el coste del programa de todos los métodos afectados por el cambio de forma incremental. Para esto, proponemos (i) un algoritmo multi-dominio y de punto fijo que puede ser utilizado en todos los análisis globales necesarios para inferir el coste, y (ii) una novedosa forma de almacenar las expresiones de coste que nos permite reconstruir de forma incremental únicamente las funciones de coste de aquellos componentes afectados por el cambio. (3) Las garantías de coste obtenidas de forma automática por herramientas de análisis estático no son consideradas totalmente fiables salvo que la implementación de la herramienta o los resultados obtenidos sean verificados formalmente. Llevar a cabo el análisis de estas herramientas es una tarea titánica, ya que se trata de herramientas de gran tamaño y complejidad. En esta tesis nos centramos en el desarrollo de un marco formal para la verificación de las garantías de coste obtenidas por los analizadores en lugar de analizar las herramientas. Hemos implementado esta idea mediante la herramienta COSTA, un analizador de coste para programas Java y KeY, una herramienta de verificación de programas Java. De esta forma, COSTA genera las garantías de coste, mientras que KeY prueba la validez formal de los resultados obtenidos, generando de esta forma garantías de coste verificadas. (4) Hoy en día la concurrencia y los programas distribuidos son clave en el desarrollo de software. Los objetos concurrentes son un modelo de concurrencia asentado para el desarrollo de sistemas concurrentes. En este modelo, los objetos son las unidades de concurrencia y se comunican entre ellos mediante llamadas asíncronas a sus métodos. La distribución de las tareas sugiere que el análisis de coste debe inferir el coste de los diferentes componentes distribuidos por separado. En esta tesis proponemos un análisis de coste sensible a objetos que, utilizando los resultados obtenidos mediante un análisis de apunta-a, mantiene el coste de los diferentes componentes de forma independiente. Abstract Resource Analysis (a.k.a. Cost Analysis) tries to approximate the cost of executing programs as functions on their input data sizes and without actually having to execute the programs. While a powerful resource analysis framework on object-oriented programs existed before this thesis, advanced aspects to improve the efficiency, the accuracy and the reliability of the results of the analysis still need to be further investigated. This thesis tackles this need from the following four different perspectives. (1) Shared mutable data structures are the bane of formal reasoning and static analysis. Analyses which keep track of heap-allocated data are referred to as heap-sensitive. Recent work proposes locality conditions for soundly tracking field accesses by means of ghost non-heap allocated variables. In this thesis we present two extensions to this approach: the first extension is to consider arrays accesses (in addition to object fields), while the second extension focuses on handling cases for which the locality conditions cannot be proven unconditionally by finding aliasing preconditions under which tracking such heap locations is feasible. (2) The aim of incremental analysis is, given a program, its analysis results and a series of changes to the program, to obtain the new analysis results as efficiently as possible and, ideally, without having to (re-)analyze fragments of code that are not affected by the changes. During software development, programs are permanently modified but most analyzers still read and analyze the entire program at once in a non-incremental way. This thesis presents an incremental resource usage analysis which, after a change in the program is made, is able to reconstruct the upper-bounds of all affected methods in an incremental way. To this purpose, we propose (i) a multi-domain incremental fixed-point algorithm which can be used by all global analyses required to infer the cost, and (ii) a novel form of cost summaries that allows us to incrementally reconstruct only those components of cost functions affected by the change. (3) Resource guarantees that are automatically inferred by static analysis tools are generally not considered completely trustworthy, unless the tool implementation or the results are formally verified. Performing full-blown verification of such tools is a daunting task, since they are large and complex. In this thesis we focus on the development of a formal framework for the verification of the resource guarantees obtained by the analyzers, instead of verifying the tools. We have implemented this idea using COSTA, a state-of-the-art cost analyzer for Java programs and KeY, a state-of-the-art verification tool for Java source code. COSTA is able to derive upper-bounds of Java programs while KeY proves the validity of these bounds and provides a certificate. The main contribution of our work is to show that the proposed tools cooperation can be used for automatically producing verified resource guarantees. (4) Distribution and concurrency are today mainstream. Concurrent objects form a well established model for distributed concurrent systems. In this model, objects are the concurrency units that communicate via asynchronous method calls. Distribution suggests that analysis must infer the cost of the diverse distributed components separately. In this thesis we propose a novel object-sensitive cost analysis which, by using the results gathered by a points-to analysis, can keep the cost of the diverse distributed components separate.
Resumo:
El presente proyecto final de carrera titulado “Modelado de alto nivel con SystemC” tiene como objetivo principal el modelado de algunos módulos de un codificador de vídeo MPEG-2 utilizando el lenguaje de descripción de sistemas igitales SystemC con un nivel de abstracción TLM o Transaction Level Modeling. SystemC es un lenguaje de descripción de sistemas digitales basado en C++. En él hay un conjunto de rutinas y librerías que implementan tipos de datos, estructuras y procesos especiales para el modelado de sistemas digitales. Su descripción se puede consultar en [GLMS02] El nivel de abstracción TLM se caracteriza por separar la comunicación entre los módulos de su funcionalidad. Este nivel de abstracción hace un mayor énfasis en la funcionalidad de la comunicación entre los módulos (de donde a donde van datos) que la implementación exacta de la misma. En los documentos [RSPF] y [HG] se describen el TLM y un ejemplo de implementación. La arquitectura del modelo se basa en el codificador MVIP-2 descrito en [Gar04], de dicho modelo, los módulos implementados son: · IVIDEOH: módulo que realiza un filtrado del vídeo de entrada en la dimensión horizontal y guarda en memoria el video filtrado. · IVIDEOV: módulo que lee de la memoria el vídeo filtrado por IVIDEOH, realiza el filtrado en la dimensión horizontal y escribe el video filtrado en memoria. · DCT: módulo que lee el video filtrado por IVIDEOV, hace la transformada discreta del coseno y guarda el vídeo transformado en la memoria. · QUANT: módulo que lee el video transformado por DCT, lo cuantifica y guarda el resultado en la memoria. · IQUANT: módulo que lee el video cuantificado por QUANT, realiza la cuantificación inversa y guarda el resultado en memoria. · IDCT: módulo que lee el video procesado por IQUANT, realiza la transformada inversa del coseno y guarda el resultado en memoria. · IMEM: módulo que hace de interfaz entre los módulos anteriores y la memoria. Gestiona las peticiones simultáneas de acceso a la memoria y asegura el acceso exclusivo a la memoria en cada instante de tiempo. Todos estos módulos aparecen en gris en la siguiente figura en la que se muestra la arquitectura del modelo: Figura 1. Arquitectura del modelo (VER PDF DEL PFC) En figura también aparecen unos módulos en blanco, dichos módulos son de pruebas y se han añadido para realizar simulaciones y probar los módulos del modelo: · CAMARA: módulo que simula una cámara en blanco y negro, lee la luminancia de un fichero de vídeo y lo envía al modelo a través de una FIFO. · FIFO: hace de interfaz entre la cámara y el modelo, guarda los datos que envía la cámara hasta que IVIDEOH los lee. · CONTROL: módulo que se encarga de controlar los módulos que procesan el vídeo, estos le indican cuando terminan de procesar un frame de vídeo y este módulo se encarga de iniciar los módulos que sean necesarios para seguir con la codificación. Este módulo se encarga del correcto secuenciamiento de los módulos procesadores de vídeo. · RAM: módulo que simula una memoria RAM, incluye un retardo programable en el acceso. Para las pruebas también se han generado ficheros de vídeo con el resultado de cada módulo procesador de vídeo, ficheros con mensajes y un fichero de trazas en el que se muestra el secuenciamiento de los procesadores. Como resultado del trabajo en el presente PFC se puede concluir que SystemC permite el modelado de sistemas digitales con bastante sencillez (hace falta conocimientos previos de C++ y programación orientada objetos) y permite la realización de modelos con un nivel de abstracción mayor a RTL, el habitual en Verilog y VHDL, en el caso del presente PFC, el TLM. ABSTRACT This final career project titled “High level modeling with SystemC” have as main objective the modeling of some of the modules of an MPEG-2 video coder using the SystemC digital systems description language at the TLM or Transaction Level Modeling abstraction level. SystemC is a digital systems description language based in C++. It contains routines and libraries that define special data types, structures and process to model digital systems. There is a complete description of the SystemC language in the document [GLMS02]. The main characteristic of TLM abstraction level is that it separates the communication among modules of their functionality. This abstraction level puts a higher emphasis in the functionality of the communication (from where to where the data go) than the exact implementation of it. The TLM and an example are described in the documents [RSPF] and [HG]. The architecture of the model is based in the MVIP-2 video coder (described in the document [Gar04]) The modeled modules are: · IVIDEOH: module that filter the video input in the horizontal dimension. It saves the filtered video in the memory. · IVIDEOV: module that read the IVIDEOH filtered video, filter it in the vertical dimension and save the filtered video in the memory. · DCT: module that read the IVIDEOV filtered video, do the discrete cosine transform and save the transformed video in the memory. · QUANT: module that read the DCT transformed video, quantify it and save the quantified video in the memory. · IQUANT: module that read the QUANT processed video, do the inverse quantification and save the result in the memory. · IDCT: module that read the IQUANT processed video, do the inverse cosine transform and save the result in the memory. · IMEM: this module is the interface between the modules described previously and the memory. It manage the simultaneous accesses to the memory and ensure an unique access at each instant of time All this modules are included in grey in the following figure (SEE PDF OF PFC). This figure shows the architecture of the model: Figure 1. Architecture of the model This figure also includes other modules in white, these modules have been added to the model in order to simulate and prove the modules of the model: · CAMARA: simulates a black and white video camera, it reads the luminance of a video file and sends it to the model through a FIFO. · FIFO: is the interface between the camera and the model, it saves the video data sent by the camera until the IVIDEOH module reads it. · CONTROL: controls the modules that process the video. These modules indicate the CONTROL module when they have finished the processing of a video frame. The CONTROL module, then, init the necessary modules to continue with the video coding. This module is responsible of the right sequence of the video processing modules. · RAM: it simulates a RAM memory; it also simulates a programmable delay in the access to the memory. It has been generated video files, text files and a trace file to check the correct function of the model. The trace file shows the sequence of the video processing modules. As a result of the present final career project, it can be deduced that it is quite easy to model digital systems with SystemC (it is only needed previous knowledge of C++ and object oriented programming) and it also allow the modeling with a level of abstraction higher than the RTL used in Verilog and VHDL, in the case of the present final career project, the TLM.
Resumo:
Modern object oriented languages like C# and JAVA enable developers to build complex application in less time. These languages are based on selecting heap allocated pass-by-reference objects for user defined data structures. This simplifies programming by automatically managing memory allocation and deallocation in conjunction with automated garbage collection. This simplification of programming comes at the cost of performance. Using pass-by-reference objects instead of lighter weight pass-by value structs can have memory impact in some cases. These costs can be critical when these application runs on limited resource environments such as mobile devices and cloud computing systems. We explore the problem by using the simple and uniform memory model to improve the performance. In this work we address this problem by providing an automated and sounds static conversion analysis which identifies if a by reference type can be safely converted to a by value type where the conversion may result in performance improvements. This works focus on C# programs. Our approach is based on a combination of syntactic and semantic checks to identify classes that are safe to convert. We evaluate the effectiveness of our work in identifying convertible types and impact of this transformation. The result shows that the transformation of reference type to value type can have substantial performance impact in practice. In our case studies we optimize the performance in Barnes-Hut program which shows total memory allocation decreased by 93% and execution time also reduced by 15%.
Resumo:
La usabilidad es un atributo de calidad de un sistema software que llega a ser crítico en sistemas altamente interactivos. Desde el campo de la Interacción Persona-Ordenador se proponen recomendaciones que permiten alcanzar un nivel adecuado de usabilidad en un sistema. En la disciplina de la Ingeniería de Software se ha establecido que algunas de estas recomendaciones afectan a la funcionalidad principal de los sistemas y no solo a la interfaz de usuario. Este tipo de recomendaciones de usabilidad se deben tener en cuenta desde las primeras actividades y durante todo el proceso de desarrollo, así como se hace con atributos tales como la seguridad, la facilidad de mantenimiento o el rendimiento. Desde la Ingeniería de Software se han hecho estudios y propuestas para abordar la usabilidad en las primeras actividades del desarrollo. En particular en la educción de requisitos y diseño de la arquitectura. Estas propuestas son de un alto nivel de abstracción. En esta investigación se aborda la usabilidad en actividades avanzadas del proceso de desarrollo: el diseño detallado y la programación. El objetivo de este trabajo es obtener, formalizar y validar soluciones reutilizables para la usabilidad en estas actividades. En este estudio se seleccionan tres funcionalidades de usabilidad identificadas como de alto impacto en el diseño: Abortar Operación, Retroalimentación de Progreso y Preferencias. Para la obtención de elementos reutilizables se utiliza un método inductivo. Se parte de la construcción de aplicaciones web particulares y se induce una solución general. Durante la construcción de las aplicaciones se mantiene la trazabilidad de los elementos relacionados con cada funcionalidad de usabilidad. Al finalizar se realiza un análisis de elementos comunes, y los hallazgos se formalizan como patrones de diseño orientados a la implementación y patrones de programación en cada uno de los lenguajes utilizados: PHP, VB .NET y Java. Las soluciones formalizadas como patrones se validan usando la metodología de estudio de casos. Desarrolladores independientes utilizan los patrones para la inclusión de las tres funcionalidades de usabilidad en dos nuevas aplicaciones web. Como resultado, los desarrolladores pueden usar con éxito las soluciones propuestas para dos de las funcionalidades: Abortar Operación y Preferencias. La funcionalidad Retroalimentación de Progreso no puede ser implementada completamente. Se concluye que es posible obtener elementos reutilizables para la implementación de cada funcionalidad de usabilidad. Estos elementos incluyen: escenarios de aplicación, que son la combinación de casuísticas que generan las funcionalidades de usabilidad, responsabilidades comunes necesarias para cubrir los escenarios, componentes comunes para cumplir con las responsabilidades, elementos de diseño asociados a los componentes y el código que implementa el diseño. Formalizar las soluciones como patrones resulta útil para comunicar los hallazgos a otros desarrolladores y los patrones se mejoran a través de su utilización en nuevos desarrollos. La implementación de funcionalidades de usabilidad presenta características que condicionan su reutilización, en particular, el nivel de acoplamiento de la funcionalidad de usabilidad con las funcionalidades de la aplicación, y la complejidad interna de la solución. ABSTRACT Usability is a critical quality attribute of highly interactive software systems. The humancomputer interaction field proposes recommendations for achieving an acceptable system usability level. The discipline of software engineering has established that some of these recommendations affect not only the user interface but also the core system functionality. This type of usability recommendations must be taken into account as of the early activities and throughout the software development process as in the case of attributes like security, ease of maintenance or performance. Software engineering has conducted studies and put forward proposals for tackling usability in the early development activities, particularly requirements elicitation and architecture design. These proposals have a high level of abstraction. This research addresses usability in later activities of the development process: detailed design and programming. The goal of this research is to discover, specify and validate reusable usability solutions for detailed design and programming. Abort Operation, Feedback and Preferences, three usability functionalities identified as having a high impact on design, are selected for the study. An inductive method, whereby a general solution is induced from particular web applications built for the purpose, is used to discover reusable elements. During the construction of the applications, the traceability of the elements related to each usability functionality is maintained. At the end of the process, the common and possibly reusable elements are analysed. The findings are specified as implementation-oriented design patterns and programming patterns for each of the languages used: PHP, VB .NET and Java. The solutions specified as patterns are validated using the case study methodology. Independent developers use the patterns in order to build the three usability functionalities into two new web applications. As a result, the developers successfully use the proposed solutions for two of the functionalities: Abort Operation and Preferences. The Progress Feedback functionality cannot be fully implemented. We conclude that it is possible to discover reusable elements for implementing each usability functionality. These elements include: application scenarios, which are combinations of cases that generate usability functionalities, common responsibilities to cover the scenarios, common components to fulfil the responsibilities, design elements associated with the components and code implementing the design. It is useful to specify solutions as patterns in order to communicate findings to other developers, and patterns improve through further use in other development projects. Reusability depends on the features of usability functionality implementation, particularly the level of coupling of the usability functionality with the application functionalities and the internal complexity of the solution.
Resumo:
El objetivo de esta Tesis es crear un Modelo de Diseño Orientado a Marcos que, intermedio entre el Mundo Externo y el Modelo Interno del Mundo que supone el sistema ímplementado, disminuya la pérdida de conocimiento que se produce al formalizar la realidad en Bases de Conocimientos. El modelo disminuye la pérdida de conocimiento al formalizar Bases de Conocimiento, acercando el formalismo de Marcos al Mundo Externo, porque: 1. Crea una base teórica que uniformiza el concepto de Marco en el plano de la Formalización, estableciendo un conjunto de restricciones sintácticas y semánticas que impedirán, al Ingeniero del Conocimiento (IC) cuando formaliza, definir elementos no permitidos o el uso indebido de ellos. 2. Se incrementa la expresividad del formalismo al asociar a cada una de las propiedades de un marco clase un parámetro adicional que simboliza la representatividad de la propiedad en el concepto. Este parámetro, y las técnicas de inferencia que trabajan con él, permitirán al IC introducir en el Modelo Formalizado conocimiento que antes no introducía al construir la base de conocimientos y que, sin embargo, sí existía en la realidad. 3. Se propone una técnica de equiparación que trabaja con el conocimiento incierto presente en el dominio. Esta técnica de equiparación, utiliza la representatividad de las propiedades en los marcos clase y el grado de certeza de las propiedades de las entidades para calcular el valor de equiparación y, así, determinar en qué medida los marcos clase seleccionados son consistentes con la descripción de la situación actual dada por una entidad. 4. Proporciona nuevas técnicas de inferencia basadas en la transferencia de propiedades y modifica las ya existentes. Las transferencias de propiedades realizadas sobre relaciones "ad hoc" definidas por el IC al construir el sistema, es una nueva técnica de inferencia independiente y complementaria a la transferencia de propiedades llamada tradicionalmente Herencia (cesión de propiedades entre padres e hijos). A esta nueva técnica, se le ha llamado Donación, es decir, cesión de propiedades entre marcos sin parentesco. Como aportación práctica, se ha construido un entorno de construcción de Sistemas Basados en el Conocimiento formalizados en Marcos, donde se han introducido todos los nuevos conceptos del Modelo Teórico de la Tesis. Se trata de una cierta anidación. Es decir, son marcos que permiten formalizar cualquier SBC en marcos. El entorno permitirá al IC formalizar bases de conocimientos automáticamente y éste podrá validar el conocimiento del dominio en la fase de formalización en lugar de tener que esperar a que la BC esté implementada. Todo ello lleva a describir el Modelo de Diseño Orientado a Marcos como un puente que aproxima y comunica el Mundo Externo con el Modelo Interno asociado a la realidad e implementado en una computadora, disminuyendo así las diversas pérdidas de conocimiento que si bien no ocurren simultáneamente al construir Sistemas Basados en el Conocimiento, sí coexisten en él.---ABSTRACT---The goal of this thesis is to créate a Frame-Orlented Deslgn Model that, bridging the Outside World and the implemented system's Internal Model of the World, reduces the amount of knowledge lost when reality is formalized in Knowledge Bases (KB). The model diminishes the loss of knowledge when formalizing a KB and brings the Frame-formalized Model closer to the Outside World because: 1. It creates a theory that standardizes the concept of trame at the formalization level to establish a set of syntactic and semantic constraints that will prevent the Knowledge Engineer (KE) from defining forbidden elements or their undue use in the formalization process. 2. The formalism's expressiveness is increased by associating an additional parameter to each of the properties of a class frame to symbolize the representativeness of the concept property. This parameter and the related inference techniques will allow the KE to enter knowledge into the Formalized Model that actually existed but that was not used previously when building the KB. 3. The proposed technique involves matching and works with uncertain knowledge present in the domain. This matching technique takes the representativeness of the properties in the class frame and the degree of certainty of the properties of the entities to calcúlate the matching valué and thus determine to what extent the class frames selected are consistent with the description of the present situation given by an entity. 4. It offers new inference techniques based on property transfer and alters existing ones. Property transfer on ad hoc relations defined by the KE when building a system is a new inference technique independent of and complementary to property transfer traditionally termed Inheritance (transfer of properties between parents and children). This new technique has been callad Donation (transfer of properties between trames without relationships). 5. It improves control of the procedural knowledge defined in the trames by introducing OO concepta. A frame-formalized KBS building environment has been constructed, incorporating all the new concepts of the theoretical model set out in the thesis. There is some embedding, that is, they are trames that provide for any KBS to be formalizad in trames. The environment will enable the KE to formaliza KB automatically, and he will be able to valídate the domain knowledge in the formalization stage instead of havíng to wait until the KB has been implemented. This is a description of the Frame-oriented Design Model, a bridge that brings closer and communicates the Outside World with the Interna! Model associated to reality and implemented on a computar, thus reducing the different losses in knowledge that, though they do not occur simultaneosly when building a Knowledge-based System, coexist within it.
Resumo:
La sostenibilidad de los sistemas olivareros situados en zonas de pendiente y montaña (SMOPS) en Andalucía se encuentra actualmente amenazada por las elevadas tasas de abandono que afectan a estos sistemas productivos. Así, la consumación de este proceso de abandono, no sólo pondría en peligro a las propias explotaciones, sino a todo el conjunto de bienes y servicios no productivos y al patrimonio cultural generado por este sistema productivo. En este contexto, la búsqueda de alternativas políticas enfocadas a revertir este proceso se erige como una necesidad categórica en aras de garantizar en el largo plazo la sostenibilidad de los olivares de montaña. Esta tesis pretende hacer frente a esta necesidad a través de la construcción de un marco político alternativo para los SMOPS, que permita la integración simultánea de todas las dimensiones que pueden influir en su desarrollo; esto es: el marco político actual, principalmente determinado por la Política Agraria Común (PAC) de la Unión Europea (UE); las preferencias de la sociedad hacia la oferta de bienes y servicios públicos generados por los SMOPS; y las preferencias y voluntad de innovación hacia nuevos manejos y sistemas de gestión de los agricultores y propietarios de las explotaciones. Para ello, se emplea una metodología de investigación mixta, que abarca la realización de cuatro encuestas (personales y online) llevadas a cabo a los agentes o grupos de interés involucrados directa o indirectamente en la gestión de los SMOPS –ciudadanos, agricultores y propietarios y expertos-; una profunda revisión de las herramientas de política agroambiental actuales y posibles alternativas a las mismas; y el desarrollo de nuevas estrategias metodológicas para dotar de mayor precisión y fiabilidad las estimaciones obtenidas a partir del Método del Experimento de Elección (MEE) en el campo de la valoración medioambiental. En general, los resultados muestran que una estrategia de política agroambiental basada en la combinación de los Contratos Territoriales de Zona Rural (CTZR) y el manejo ecológico supondría una mejora en la sostenibilidad de los sistemas olivareros de montaña andaluces, que, al mismo tiempo, propiciaría una mejor consideración de las necesidades y demandas de los agentes implicados en su gestión. Asimismo, los hallazgos obtenidos en esta investigación demandan un cambio de paradigma en los actuales pagos agroambientales, que han de pasar de una estrategia basada en la implementación de acciones, a otra enfocada al logro de objetivos, la cual, en el caso del olivar, se podría centrar en el aumento del secuestro de carbono en el suelo. Desde un punto de vista metodológico, los resultados han contribuido notablemente a mejorar la fiabilidad y precisión de las conclusiones estimadas a partir del MEE, mediante el diseño de un novedoso proceso iterativo para detectar posibles comportamientos inconsistentes por parte de los entrevistados con respecto a su máxima Disposición al Pago (DAP) para lograr la situación considerada como “óptima” en los olivares ecológicos de montaña andaluces. En líneas generales, el actual marco institucional favorece la puesta en práctica de la mayoría de las estrategias propuestas en esta tesis; sin embargo son necesarios mayores esfuerzos para reconducir los actuales Pagos Agroambientales y Climáticos de la PAC, hacia una estrategia de política agroambiental adaptada a las necesidades y requisitos del territorio en el que se aplica, enfocada al logro de objetivos y que sea capaz de integrar y coordinar al conjunto de agentes y grupos de interés involucrados -directa o indirectamente- en la gestión de los olivares de montaña. En este contexto, se espera que la puesta en práctica de nuevas estructuras y acuerdos de gobernanza territorial juegue un importante papel en el desarrollo de una política agroambiental realmente adaptada a las necesidades de los sistemas olivareros de montaña andaluces. ABSTRACT The long-term sustainability of Andalusian sloping and mountainous olive production systems (SMOPS) is currently threatened by the high abandonment rates that affect these production systems. The effective occurrence of this abandonment process is indeed menacing not only farms themselves, but also the wide array of public goods and services provided by SMOPS and the cultural heritage held by this production system. The search of policy alternatives aimed at tackling this process is thus a central necessity. This thesis aims to undertake this necessity by building an alternative policy framework for SMOPS that simultaneously integrates the several dimensions that are susceptible to influence it, namely: the current policy framework, mainly determined by the European Union’s (EU) Common Agricultural Policy (CAP); the social preferences toward the supply of SMOPS’ public goods and services; and farmers’ preferences and willingness to innovate toward new management practices in their farms. For this purpose, we put into practice a mixed-method strategy that combines four face-to-face and online surveys carried out with SMOPS’ stakeholders -including citizens, farmers and experts-; in-depth analysis of current and alternative agrienvironmental policy (AEP) instruments; and the development of novel methodological approaches to advance toward more reliable Discrete Choice Experiment’s (DCE) outcomes in the field of environmental valuation. Overall, results show that a policy strategy based on the combination of Territorial Management Contracts (TMC) and organic management would further enhance Andalusian SMOPS’ sustainability by simultaneously taking into account stakeholders’ demands and needs. Findings also call for paradigm shift of the current action-oriented design of Agri-Environmental-Climate Schemes (AECS), toward a result-based approach, that in the case of olive orchards should particularly be focused on enhancing soil carbon sequestration. From a methodological perspective, results have contributed to improve the accuracy and feasibility of DCE outcomes by designing a novel and iterative procedure focused in ascertaining respondents’ inconsistent behaviour with respect to their stated maximum WTP for the attainment of an ideal situation to be achieved in organic Andalusian SMOPS. Generally, the present institutional framework favours the implementation of the main policy strategies proposed in this thesis, albeit further efforts are required to better conduct current CAP’s agri-environmental instruments toward a territorially targeted result-oriented strategy capable to integrate and coordinate the whole set of stakeholders involved in the management of SMOPS. In this regard, alternative governance structures and arrangements are expected to play a major role on the process of tackling SMOPS’ agri-environmental policy challenge.
Resumo:
Las personas con discapacidad a menudo se encuentran con problemas de acceso a las Tecnologías de la Información y la Comunicación (TIC), debido a diseños y desarrollos que no tienen en cuenta sus diferencias funcionales, y en consecuencia se encuentran en riesgo de exclusión social. Cada vez es más común encontrar productos de apoyo que permitan utilizar diferentes tecnologías (ordenadores, Internet, dispositivos móviles), pero muchos de ellos no se encuentran integrados debido a que funcionan esencialmente modificando la plataforma donde están instalados, siendo soluciones de acceso de segunda generación. Más allá del desarrollo de los productos de apoyo, que sin duda ha evolucionado positivamente en los últimos años, cabe resaltar que existe una falta de herramientas y de aproximación holística que ayuden a los desarrolladores y diseñadores hacer las TIC accesibles. Esta tesis doctoral pretende validar la hipótesis de que una metodología holística de desarrollo de aplicaciones y productos de apoyo TIC, llamada Marco Abierto Accesible, facilita el desarrollo y la integración de modo nativo de la accesibilidad en las aplicaciones y productos apoyo, independientemente de la tecnología utilizada, dando lugar a soluciones de acceso de tercera generación que permitan mejorar la utilización de dichas aplicaciones por parte de personas con discapacidad. Este trabajo se ha desarrollado en el marco del proyecto AEGIS (del inglés, open Accessibility Everywhere: Groundwork, Infrastructure, Standards), que fue parcialmente financiado por la Comisión Europea (CE) bajo el VII Programa Marco y tuvo una duración de cuatro años. La metodología para el diseño, desarrollo y validación seguida en esta tesis es una adaptación de dos metodologías de diseño existentes (el Diseño Centrado en el Usuario y el Diseño Orientado a Metas), la implementación del Marco Abierto Accesible y el uso de diferentes técnicas de validación. Además se ha desarrollado un marco metodológico de entrenamiento para minimizar el efecto que tiene la curva de aprendizaje cuando los usuarios prueban por primera vez las soluciones desarrolladas. En esta tesis se presenta el Marco Abierto Accesible aplicado a las TIC en las tres áreas en las que se desarrolla este trabajo: ordenadores, Internet y dispositivos móviles, partiendo de las necesidades y problemas que tienen los usuarios con discapacidad en el uso de las TIC. Diferentes instanciaciones del Marco Abierto Accesible se definen en las tres áreas TIC mencionadas anteriormente y se describen varios ejemplos de sus implementaciones particulares. Los resultados de las evaluaciones de las implementaciones particulares con usuarios finales y expertos, una vez discutidos y contrastados con las hipótesis, sirven para probar la validez del Marco Abierto Accesible para la integración nativa de productos de apoyo en Tecnologías de la Información y la Comunicación. Finalmente, se presentan las líneas de investigación y trabajo futuro en el área de la accesibilidad en las TIC. ABSTRACT People with disabilities often encounter problems of access to Information and Communications Technology (ICT), due to design and developments that do not take into account their functional differences and therefore put them at risk of social exclusion. It is increasingly common to find assistive products that allow to use different technologies (computers, Internet, mobile devices), but many of them are not well integrated because they work essentially modifying the platform where they are installed, beeing the second-generation access solutions. Beyond the assistive product development, which has certainly evolved positively in recent years, it is notable that there is a lack of tools and holistic approach to help developers and designers make accessible ICT. This doctoral thesis aims to validate the hypothesis that a holistic approach to application development and assistive ICT products, called Open Accessibility Framework, facilitates the development and integration of native accessible applications and assistive products, regardless of the technology used, resulting in third-generation access solutions that improve the use of such applications by people with disabilities. This work was developed under the AEGIS project (open Accessibility Everywhere: Groundwork, Infrastructure, Standards), which was partially funded by the European Commission (EC) under the Seventh Framework Programme and lasted four years. The methodology for the design, development and validation followed in this thesis is an adaptation of two existing design methodologies (User Centered Design and Goal Oriented Design), the implementation of the Open Accessibility Framework and the usage of different validation techniques. A training methodological framework ha also been developed to minimize the effect of the learning curve when users first try the solutions developed. This thesis presents the Open Accessibility Framework applied to ICT in three areas in which this work is developed: computers, Internet and mobile devices, based on the needs and problems of the disabled users in the use of ICT. Different instantiations of the Open Accessibility Framework are defined in the three aforementioned ICT areas and various examples of its particular implementations are described. The results of the evaluations of the particular implementations which have been carried with end users and experts, once discussed and contrasted with the hypotheses, have been used to test the validity of the Open Accessibility Framework for the native integration of assistive products in Information and Communications Technology. Finally, the future research lines and future work in the area of ICT accessibility are presented.