1000 resultados para Programas em lógica extendidos


Relevância:

30.00% 30.00%

Publicador:

Resumo:

En este artículo describiremos los usos de la mirada a cámara que se fueron dando en la historia de los programas cómicos argentinos y los fuera de campos que construyeron, concentrándonos especialmente en el estilo posmoderno surgido en la década del '90. Como resultado del análisis, observaremos que hubo una transformación en la enunciación del chiste y que esa transformación puede interpretarse como una crisis en la lógica de la representación instalada en los comienzos de la televisión. Los programas que analizaremos serán: Viendo a Biondi (1961-1969), No toca botón (1981-1987) y Cha-cha-cha (1993, 1995-1997)

Relevância:

30.00% 30.00%

Publicador:

Resumo:

En este se estudia diseños y e implementaciones de paradigmas visuales para observar la ejecución de programas lógicos con restricciones, enfocados hacia la depuración, optimización y enseñanza. Nos centraremos en la representación de datos en ejecuciones CLP, donde perseguimos la representación de variables con restricciones y de las restricciones en sí mismas. Se han implementado dos herramientas, VIFID y TRIFID, que utilizan dichas representaciones y que se usan para mostrar la utilidad de las visualizaciones desarrolladas.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Dentro de los paradigmas de programación en el mundo de la informática tenemos la "Programación Lógica'', cuyo principal exponente es el lenguaje Prolog. Los programas Prolog se componen de un conjunto de predicados, cada uno de ellos definido en base a reglas que aportan un elevado nivel de abstracción y declaratividad al programador. Sin embargo, las formulación con reglas implica, frecuentemente, que un predicado se recompute varias veces para la misma consulta y además, Prolog utiliza un orden fijo para evaluar reglas y objetivos (evaluación SLD) que puede entrar en "bucles infinitos'' cuando ejecuta reglas recursivas declarativamente correctas. Estas limitaciones son atacadas de raiz por la tabulación, que se basa en "recordar'' en una tabla las llamadas realizadas y sus soluciones. Así, en caso de repetir una llamada tendríamos ya disponibles sus soluciones y evitamos la recomputación. También evita "bucles infinitos'' ya que las llamadas que los generan son suspendidas, quedando a la espera de que se computen soluciones para las mismas. La implementación de la tabulación no es sencilla. En particular, necesita de tres operaciones que no pueden ser ejecutadas en tiempo constante simultáneamente. Dichas operaciones son: suspensión de llamadas, relanzamiento de llamadas y {acceso a variables. La primera parte de la tesis compara tres implementaciones de tabulación sobre Ciao, cada una de las cuales penaliza una de estas operaciones. Por tanto, cada solución tiene sus ventajas y sus inconvenientes y se comportan mejor o peor dependiendo del programa ejecutado. La segunda parte de la tesis mejora la funcionalidad de la tabulación para combinarla con restricciones y también para evitar computaciones innecesarias. La programación con restricciones permite la resolución de ecuaciones como medio de programar, mecanismo altamente declarativo. Hemos desarrollado un framework para combinar la tabulación con las restricciones, priorizando objetivos como la flexibilidad, la eficiencia y la generalidad de nuestra solución, obteniendo una sinergia entre ambas técnicas que puede ser aplicada en numerosas aplicaciones. Por otra parte, un aspecto fundamental de la tabulación hace referencia al momento en que se retornan las soluciones de una llamada tabulada. Local evaluation devuelve soluciones cuando todas las soluciones de la llamada tabulada han sido computadas. Por contra, batched evaluation devuelve las soluciones una a una conforme van siendo computadas, por lo que se adapta mejor a problemas donde no nos interesa encontrar todas las soluciones. Sin embargo, su consumo de memoria es exponencialmente peor que el de local evaluation. La tesis presenta swapping evaluation, que devuelve soluciones tan pronto como son computadas pero con un consumo de memoria similar a la de local evaluation. Además, se implementan operadores de poda, once/1, para descartar la búsqueda de soluciones alternativas cuando encontramos la solución deseada. Por último, Prolog adopta con relativa facilidad soluciones para paralelismo gracias a su flexibilidad en el control de la ejecución y a que sus asignaciones son lógicas. La tercera parte de la tesis extiende el paralelismo conjuntivo de Ciao para trabajar con programas no deterministas, lo que presenta dos problemas principales: los objetivos atrapados y la recomputación de objetivos. Las soluciones clásicas para los objetivos atrapados rompían muchos invariantes de la ejecución Prolog, siendo soluciones difíciles de mantener y de extender, que la experiencia nos dice que han caído en desuso. Nosotros proponemos una solución modular (basada en la implementación de swapping evaluation), localizada y que no rompe los invariantes de la ejecución Prolog, pero que mantiene un alto rendimiento de la ejecución paralela. En referencia a la recomputación de objetivos paralelos en presencia de no determinismo hemos adaptado ténicas derivadas de la tabulación para memorizar computaciones de estos objetivos y evitar su recomputación.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Las pruebas de software (Testing) son en la actualidad la técnica más utilizada para la validación y la evaluación de la calidad de un programa. El testing está integrado en todas las metodologías prácticas de desarrollo de software y juega un papel crucial en el éxito de cualquier proyecto de software. Desde las unidades de código más pequeñas a los componentes más complejos, su integración en un sistema de software y su despliegue a producción, todas las piezas de un producto de software deben ser probadas a fondo antes de que el producto de software pueda ser liberado a un entorno de producción. La mayor limitación del testing de software es que continúa siendo un conjunto de tareas manuales, representando una buena parte del coste total de desarrollo. En este escenario, la automatización resulta fundamental para aliviar estos altos costes. La generación automática de casos de pruebas (TCG, del inglés test case generation) es el proceso de generar automáticamente casos de prueba que logren un alto recubrimiento del programa. Entre la gran variedad de enfoques hacia la TCG, esta tesis se centra en un enfoque estructural de caja blanca, y más concretamente en una de las técnicas más utilizadas actualmente, la ejecución simbólica. En ejecución simbólica, el programa bajo pruebas es ejecutado con expresiones simbólicas como argumentos de entrada en lugar de valores concretos. Esta tesis se basa en un marco general para la generación automática de casos de prueba dirigido a programas imperativos orientados a objetos (Java, por ejemplo) y basado en programación lógica con restricciones (CLP, del inglés constraint logic programming). En este marco general, el programa imperativo bajo pruebas es primeramente traducido a un programa CLP equivalente, y luego dicho programa CLP es ejecutado simbólicamente utilizando los mecanismos de evaluación estándar de CLP, extendidos con operaciones especiales para el tratamiento de estructuras de datos dinámicas. Mejorar la escalabilidad y la eficiencia de la ejecución simbólica constituye un reto muy importante. Es bien sabido que la ejecución simbólica resulta impracticable debido al gran número de caminos de ejecución que deben ser explorados y a tamaño de las restricciones que se deben manipular. Además, la generación de casos de prueba mediante ejecución simbólica tiende a producir un número innecesariamente grande de casos de prueba cuando es aplicada a programas de tamaño medio o grande. Las contribuciones de esta tesis pueden ser resumidas como sigue. (1) Se desarrolla un enfoque composicional basado en CLP para la generación de casos de prueba, el cual busca aliviar el problema de la explosión de caminos interprocedimiento analizando de forma separada cada componente (p.ej. método) del programa bajo pruebas, almacenando los resultados y reutilizándolos incrementalmente hasta obtener resultados para el programa completo. También se ha desarrollado un enfoque composicional basado en especialización de programas (evaluación parcial) para la herramienta de ejecución simbólica Symbolic PathFinder (SPF). (2) Se propone una metodología para usar información del consumo de recursos del programa bajo pruebas para guiar la ejecución simbólica hacia aquellas partes del programa que satisfacen una determinada política de recursos, evitando la exploración de aquellas partes del programa que violan dicha política. (3) Se propone una metodología genérica para guiar la ejecución simbólica hacia las partes más interesantes del programa, la cual utiliza abstracciones como generadores de trazas para guiar la ejecución de acuerdo a criterios de selección estructurales. (4) Se propone un nuevo resolutor de restricciones, el cual maneja eficientemente restricciones sobre el uso de la memoria dinámica global (heap) durante ejecución simbólica, el cual mejora considerablemente el rendimiento de la técnica estándar utilizada para este propósito, la \lazy initialization". (5) Todas las técnicas propuestas han sido implementadas en el sistema PET (el enfoque composicional ha sido también implementado en la herramienta SPF). Mediante evaluación experimental se ha confirmado que todas ellas mejoran considerablemente la escalabilidad y eficiencia de la ejecución simbólica y la generación de casos de prueba. ABSTRACT Testing is nowadays the most used technique to validate software and assess its quality. It is integrated into all practical software development methodologies and plays a crucial role towards the success of any software project. From the smallest units of code to the most complex components and their integration into a software system and later deployment; all pieces of a software product must be tested thoroughly before a software product can be released. The main limitation of software testing is that it remains a mostly manual task, representing a large fraction of the total development cost. In this scenario, test automation is paramount to alleviate such high costs. Test case generation (TCG) is the process of automatically generating test inputs that achieve high coverage of the system under test. Among a wide variety of approaches to TCG, this thesis focuses on structural (white-box) TCG, where one of the most successful enabling techniques is symbolic execution. In symbolic execution, the program under test is executed with its input arguments being symbolic expressions rather than concrete values. This thesis relies on a previously developed constraint-based TCG framework for imperative object-oriented programs (e.g., Java), in which the imperative program under test is first translated into an equivalent constraint logic program, and then such translated program is symbolically executed by relying on standard evaluation mechanisms of Constraint Logic Programming (CLP), extended with special treatment for dynamically allocated data structures. Improving the scalability and efficiency of symbolic execution constitutes a major challenge. It is well known that symbolic execution quickly becomes impractical due to the large number of paths that must be explored and the size of the constraints that must be handled. Moreover, symbolic execution-based TCG tends to produce an unnecessarily large number of test cases when applied to medium or large programs. The contributions of this dissertation can be summarized as follows. (1) A compositional approach to CLP-based TCG is developed which overcomes the inter-procedural path explosion by separately analyzing each component (method) in a program under test, stowing the results as method summaries and incrementally reusing them to obtain whole-program results. A similar compositional strategy that relies on program specialization is also developed for the state-of-the-art symbolic execution tool Symbolic PathFinder (SPF). (2) Resource-driven TCG is proposed as a methodology to use resource consumption information to drive symbolic execution towards those parts of the program under test that comply with a user-provided resource policy, avoiding the exploration of those parts of the program that violate such policy. (3) A generic methodology to guide symbolic execution towards the most interesting parts of a program is proposed, which uses abstractions as oracles to steer symbolic execution through those parts of the program under test that interest the programmer/tester most. (4) A new heap-constraint solver is proposed, which efficiently handles heap-related constraints and aliasing of references during symbolic execution and greatly outperforms the state-of-the-art standard technique known as lazy initialization. (5) All techniques above have been implemented in the PET system (and some of them in the SPF tool). Experimental evaluation has confirmed that they considerably help towards a more scalable and efficient symbolic execution and TCG.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Los lenguajes de programación son el idioma que los programadores usamos para comunicar a los computadores qué queremos que hagan. Desde el lenguaje ensamblador, que traduce una a una las instrucciones que interpreta un computador hasta lenguajes de alto nivel, se ha buscado desarrollar lenguajes más cercanos a la forma de pensar y expresarse de los humanos. Los lenguajes de programación lógicos como Prolog utilizan a su vez el lenguaje de la lógica de 1er orden de modo que el programador puede expresar las premisas del problema que se quiere resolver sin preocuparse del cómo se va a resolver dicho problema. La resolución del problema se equipara a encontrar una deducción del objetivo a alcanzar a partir de las premisas y equivale a lo que entendemos por la ejecución de un programa. Ciao es una implementación de Prolog (http://www.ciao-lang.org) y utiliza el método de resolución SLD, que realiza el recorrido de los árboles de decisión en profundidad(depth-first) lo que puede derivar en la ejecución de una rama de busqueda infinita (en un bucle infinito) sin llegar a dar respuestas. Ciao, al ser un sistema modular, permite la utilización de extensiones para implementar estrategias de resolución alternativas como la tabulación (OLDT). La tabulación es un método alternativo que se basa en memorizar las llamadas realizadas y sus respuestas para no repetir llamadas y poder usar las respuestas sin recomputar las llamadas. Algunos programas que con SLD entran en un bucle infinito, gracias a la tabulación dán todas las respuestas y termina. El modulo tabling es una implementación de tabulación mediante el algoritmo CHAT. Esta implementación es una versión beta que no tiene implementado un manejador de memoria. Entendemos que la gestión de memoria en el módulo de tabling tiene gran importancia, dado que la resolución con tabulación permite reducir el tiempo de computación (al no repetir llamadas), aumentando los requerimientos de memoria (para guardar las llamadas y las respuestas). Por lo tanto, el objetivo de este trabajo es implementar un mecanismo de gestión de la memoria en Ciao con el módulo tabling cargado. Para ello se ha realizado la implementación de: Un mecanismo de captura de errores que: detecta cuando el computador se queda sin memoria y activa la reinicialización del sitema. Un procedimiento que ajusta los punteros del modulo de tabling que apuntan a la WAM tras un proceso de realojo de algunas de las áreas de memoria de la WAM. Un gestor de memoria del modulo de tabling que detecta c realizar una ampliación de las áreas de memoria del modulo de tabling, realiza la solicitud de más memoria y realiza el ajuste de los punteros. Para ayudar al lector no familiarizado con este tema, describimos los datos que Ciao y el módulo de tabling alojan en las áreas de memoria dinámicas que queremos gestionar. Los casos de pruebas desarrollados para evaluar la implementación del gestor de memoria, ponen de manifiesto que: Disponer de un gestor de memoria dinámica permite la ejecución de programas en un mayor número de casos. La política de gestión de memoria incide en la velocidad de ejecución de los programas. ---ABSTRACT---Programming languages are the language that programmers use in order to communicate to computers what we want them to do. Starting from the assembly language, which translates one by one the instructions to the computer, and arriving to highly complex languages, programmers have tried to develop programming languages that resemble more closely the way of thinking and communicating of human beings. Logical programming languages, such as Prolog, use the language of logic of the first order so that programmers can express the premise of the problem that they want to solve without having to solve the problem itself. The solution to the problem is equal to finding a deduction of the objective to reach starting from the premises and corresponds to what is usually meant as the execution of a program. Ciao is an implementation of Prolog (http://www.ciao-lang.org) and uses the method of resolution SLD that carries out the path of the decision trees in depth (depth-frist). This can cause the execution of an infinite searching branch (an infinite loop) without getting to an answer. Since Ciao is a modular system, it allows the use of extensions to implement alternative resolution strategies, such as tabulation (OLDT). Tabulation is an alternative method that is based on the memorization of executions and their answers, in order to avoid the repetition of executions and to be able to use the answers without reexecutions. Some programs that get into an infinite loop with SLD are able to give all the answers and to finish thanks to tabulation. The tabling package is an implementation of tabulation through the algorithm CHAT. This implementation is a beta version which does not present a memory handler. The management of memory in the tabling package is highly important, since the solution with tabulation allows to reduce the system time (because it does not repeat executions) and increases the memory requirements (in order to save executions and answers). Therefore, the objective of this work is to implement a memory management mechanism in Ciao with the tabling package loaded. To achieve this goal, the following implementation were made: An error detection system that reveals when the computer is left without memory and activate the reinizialitation of the system. A procedure that adjusts the pointers of the tabling package which points to the WAM after a process of realloc of some of the WAM memory stacks. A memory manager of the tabling package that detects when it is necessary to expand the memory stacks of the tabling package, requests more memory, and adjusts the pointers. In order to help the readers who are not familiar with this topic, we described the data which Ciao and the tabling package host in the dynamic memory stacks that we want to manage. The test cases developed to evaluate the implementation of the memory manager show that: A manager for the dynamic memory allows the execution of programs in a larger number of cases. Memory management policy influences the program execution speed.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Una de las dificultades principales en el desarrollo de software es la ausencia de un marco conceptual adecuado para su estudio. Una propuesta la constituye el modelo transformativo, que entiende el desarrollo de software como un proceso iterativo de transformación de especificaciones: se parte de una especificación inicial que va transformándose sucesivamente hasta obtener una especificación final que se toma como programa. Este modelo básico puede llevarse a la práctica de varias maneras. En concreto, la aproximación deductiva toma una sentencia lógica como especificación inicial y su proceso transformador consiste en la demostración de la sentencia; como producto secundario de la demostración se deriva un programa que satisface la especificación inicial. La tesis desarrolla un método deductivo para la derivación de programas funcionales con patrones, escritos en un lenguaje similar a Hope. El método utiliza una lógica multigénero, cuya relación con el lenguaje de programación es estudiada. También se identifican los esquemas de demostración necesarios para la derivación de funciones con patrones, basados en la demostración independiente de varias subsentencias. Cada subsentencia proporciona una subespecificación de una ecuación del futuro programa a derivar. Nuestro método deductivo está inspirado en uno previo de Zohar Manna y Richard Waldinger, conocido como el cuadro deductivo, que deriva programas en un lenguaje similar a Lisp. El nuevo método es una modificación del cuadro de estos autores, que incorpora géneros y permite demostrar una especificación mediante varios cuadros. Cada cuadro demuestra una subespecificación y por tanto deriva una ecuación del programa. Se prevén mecanismos para que los programas derivados puedan contener definiciones locales con patrones y variables anónimas y sinónimas y para que las funciones auxiliares derivadas no usen variables de las funciones principales. La tesis se completa con varios ejemplos de aplicación, un mecanismo que independentiza el método del lenguaje de programación y un prototipo de entorno interactivo de derivación deductiva. Categorías y descriptores de materia CR D.l.l [Técnicas de programación]: Programación funcional; D.2.10 [Ingeniería de software]: Diseño - métodos; F.3.1 [Lógica y significado de los programas]: Especificación, verificación y razonamiento sobre programas - lógica de programas; F.3.3 [Lógica y significado de los programas]: Estudios de construcciones de programas - construcciones funcionales; esquemas de programa y de recursion; 1.2.2 [Inteligencia artificial]: Programación automática - síntesis de programas; 1.2.3 [Inteligencia artificial]: Deducción y demostración de teoremas]: extracción de respuesta/razón; inducción matemática. Términos generales Programación funcional, síntesis de programas, demostración de teoremas. Otras palabras claves y expresiones Funciones con patrones, cuadro deductivo, especificación parcial, inducción estructural, teorema de descomposición.---ABSTRACT---One of the main difficulties in software development is the lack of an adequate conceptual framework of study. The transformational model is one such proposal that conceives software development as an iterative process of specifications transformation: an initial specification is developed and successively transformed until a final specification is obtained and taken as a program. This basic model can be implemented in several ways. The deductive approach takes a logical sentence as the initial specification and its proof constitutes the transformational process; as a byproduct of the proof, a program which satisfies the initial specification is derived. In the thesis, a deductive method for the derivation of Hope-like functional programs with patterns is developed. The method uses a many-sorted logic, whose relation to the programming language is studied. Also the proof schemes necessary for the derivation of functional programs with patterns, based on the independent proof of several subsentences, are identified. Each subsentence provides a subspecification of one equation of the future program to be derived. Our deductive method is inspired on a previous one by Zohar Manna and Richard Waldinger, known as the deductive tableau, which derives Lisp-like programs. The new method incorporates sorts in the tableau and allows to prove a sentence with several tableaux. Each tableau proves a subspecification and therefore derives an equation of the program. Mechanisms are included to allow the derived programs to contain local definitions with patterns and anonymous and synonymous variables; also, the derived auxiliary functions cannot reference parameters of their main functions. The thesis is completed with several application examples, i mechanism to make the method independent from the programming language and an interactive environment prototype for deductive derivation. CR categories and subject descriptors D.l.l [Programming techniques]: Functional programming; D.2.10 [Software engineering]: Design - methodologies; F.3.1 [Logics and meanings of programa]: Specifying and verifying and reasoning about programs - logics of programs; F.3.3 [Logics and meanings of programs]: Studies of program constructs - functional constructs; program and recursion schemes; 1.2.2 [Artificial intelligence]: Automatic programming - program synthesis; 1.2.3 [Artificial intelligence]: Deduction and theorem proving - answer/reason extraction; mathematical induction. General tenas Functional programming, program synthesis, theorem proving. Additional key words and phrases Functions with patterns, deductive tableau, structural induction, partial specification, descomposition theorem.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

En el contexto de las técnicas de validación de programas, de las estructuras de axiomatización de la programación planteadas por Hoare y del desarrollo de la Lógica de la Programación que Dijkstra realiza con el operador wp, hemos dotado a los elementos esenciales que intervienen en dicho desarrollo de una estructura que permite su estudio en el ámbito de las categorias. En este trabajo se demuestra que el conjunto de precondiciones de un fragmento de programa anotado tiene estructura de N-categoría y que sucede lo mismo con el conjunto de postcondiciones. Más aún, se ha puesto de manifiesto (y probado) que el operador wp actúa como un funtor entre estos pares de N-categorías. Además, los conjuntos de guardas surgen de un modo natural en la lógica de la programación, han sido tratados desde el punto de vista de la semántica denotacional (Wlrth para el PASCAL y Scott y otros, después, en un enfoque más general) y presentados por Manes y Arbib en su semántica parcialmente aditiva. Pues bien, en este trabajo se demuestra que los conjuntos de guardas tienen también estructura de N-categoría y gue cualguier N-categoría dotada de una suma definida adecuadamente tiene estructura de conjunto de guardas, de tal modo, además, gue el preorden inducido por la suma en el conjunto de guardas coincide con la flecha de la N-categoría. Esta suma es, en concreto, la disyunción exclusiva, lo que adicionalmente supone una sorprendentemente sencilla definición alternativa a la suma de las categorías parcialmente aditivas definida por Manes y Arbib. Con todo esto, se aportan herramientas conceptuales para entender mejor y resolver más eficientemente los problemas que tiene planteados la lógica de la programación, pues se dispone de un punto de vista distinto y nuevo y de toda una familia de instrumentos adicionales.---ABSTRACT---In the context of program validation techniques, Hoare's systems for programming and Dijkstra's development of the logic of programming, based on the operator wp, we have endowed the essential features of this development with a structure that permits to study them in the frame of category theory. In this thesis we show that the set of preconditions of an annotated program segment is an N-category, and the same happens for the set of postconditions. Even more, it is shown that the operator wp acts as a functor between those pairs of Ncategories. Furthermore, guard sets come out in a natural way in the logic of programming, they have been considered from a denotational semantics point of view (Wirth for Pascal and afterwards Scott and al. in a more general setting) and they have been embodied by Manes and Arbib in their partially additive semantics. Then, it is shown in this thesis that the above mentioned guard sets also have the structure of an N-category and that any N-category with an appropiately defined sum has the structure of a guard set in such a way that, besides, the preorder defined in the guard set by the sum operation coincides with the arrows of the N-category. This sum is just the exclusive or of Boolean Logic and this fact adds a surprisingly simple alternative definition for the sum operation in Manes and Arbib partially additive categories. The present work, in summary, makes a contribution of conceptual tools for a better understanding and a more efficient solution of the problems posed to the logic of programming and it does so by providing a new different point of view and a whole family of additional techniques.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

En América Latina, y en Brasil en particular, las ocupaciones informales de la tierra urbana se tornaran un fenómeno generalizado en todas las ciudades, hecho que evidencio una serie de problemas urbanos y de ineficiencia en el proveimiento de los derechos básicos de los ciudadanos, principalmente el derecho a la morada digna, con eso, trajo la necesidad de priorización de política publicas curativas, como los programas de regularización urbana, cuyo objetivo es la inserción de las ocupaciones informales en la ciudad formal, con todos los impactos que eso genera: urbanísticos, legales, sociales y económicos. La ley federal intitulado Estatuto da Cidade (EC), reglamentada en 2001, es entendida como un avanzo jurídico por justamente intentar contrabalancear ese contexto, trayendo una serie de principios e instrumentos que buscan garantizar la función social de la propiedad y de la ciudad. Esa nueva lógica, en la teoría, tiene que ser la base de todas las políticas urbanas del país. Con eso, esa tesis tiene como objetivo evaluar si, realmente, los programas de regularización urbana desarrollados en Brasil cumplen con los dictámenes de dicha legislación. Para eso, fue elegido la metodología del estudio de caso, que fue desarrollado en la ciudad de Porto Alegre, capital del Rio Grande do Sul. Primero fue analizado el Estatuto da Cidade, para la definición de los principios de evaluación, luego, fue propuesto un sistema de evaluación, que fue aplicado en los dos casos estudiados: un anterior a la promulgación del EC, el Condominio dos Anjos, que serbio como parámetro referencial, y otro desarrollado tras la promulgación de dicha legislación, el Programa Integrado Entrada da Cidade (PIEC). Tras los análisis, se puede concluir que la legislación federal efectivamente no ha tenido el reflejo necesario, como conclusiones principales se puede citar: que la legislación municipal de Porto Alegre desde la década 90 ya tenía avances considerables, incluso algunos sirvieron de ejemplo en la elaboración del EC, luego, eso puede explicar el bajo impacto percibido; y que el principal fiscalizador y delineador de la política urbana es el financiador del programa, luego, muchas estrategias y dibujos proyectuales dependen de la línea de dicha financiación. ABSTRACT In Latin America, and Brazil in particular, informal urban land occupations pervasive be turned into all cities, a fact evidenced a series of urban problems and inefficiency to provide the basic rights of citizens, mainly the right to a decent housing, with that, brought the need for prioritization of public policy, such as urban regularization programs, aimed at the inclusion of informal occupations in the formal city, with all the impacts that generates: urban, legal, social and economic. Federal law entitled Estatuto da Cidade (EC), regulated in 2001, is understood as a legal advanced for just try to counterbalance this context, bringing a number of principles and instruments that seek to guarantee the social function of property and the city. This new logic, in theory, has to be the basis of all urban policies of the country. With that, this thesis aims to assess whether urban regularization programs developed in Brazil, actually, comply with the dictates of that legislation. For that, it was elected the methodology of the case study, which was developed in the city of Porto Alegre, capital of Rio Grande do Sul, Brazil. It was first analyzed the EC, for defining the principles for evaluation, then, was proposed an evaluation system, which was applied in two case studies: one before the promulgation of the EC, the Condominio dos Anjos, which used as a reference parameter, and another developed following the enactment of this legislation, the Program Integrate Entrada da Cidade (PIEC). After the analysis, it can be concluded that the federal legislation has not actually had the reflection necessary, main conclusions can be cited: the municipal legislation in Porto Alegre, since the early 90s, had considerable progress, including some served as an example in developing the EC, then, that may explain the low perceived impact; the principal auditor and eyeliner urban policy is the founder of the program, of course, many strategies and project drawings depend on the line of financing.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Mapeamento das dissertações e teses referentes à subárea da comunicação popular, alternativa e comunitária (CPAC) desenvolvidas nos Programas de Pós-Graduação em Comunicação stricto sensu no Brasil, de 1972 a 2012. Dentre os objetivos estão localizar as pesquisas; os autores; sua distribuição no tempo e espaço; identificar as instituições e orientadores que impulsionam a subárea; definir as abordagens teórico-metodológicas; e apontar autores/conceitos referência. Por meio de pesquisa exploratória e aplicação de quatro filtros, chegou-se a uma amostra final de 102 pesquisas, 87 dissertações e 15 teses, submetidas à análise quantitativa, por meio de Análise de Conteúdo a partir de partes pré-definidas (Resumo, Palavras chave, Introdução, Sumário, Considerações Finais e capítulo metodológico, quando presente), e a uma análise qualitativa do conteúdo completo das 15 teses. O método que orienta esta pesquisa é o histórico dialético, na perspectiva da busca de uma análise de conjunto e atenta às contradições e mudanças que o objeto está implicado; e a pesquisa bibliográfica que a fundamenta se ancora em autores como Jorge González, Cicilia Peruzzo, Regina Festa, Pedro Gilberto Gomes, Gilberto Giménez e Augusto Triviños e foi realizada com o apoio do software NVivo. Resultados quantitativos indicam: a) predominância de pesquisas sobre comunicação comunitária (68%) b) predominância de estudos empíricos (79%); c) a variedade de denominações atribuídas às experiências pelos pesquisadores; d) a constante luta das classes populares por democratização da comunicação e por direitos sociais ao longo dos anos; e) a influência e importância dos intelectuais orgânicos nas experiências estudadas, f) problemas metodológicos; g) UMESP, USP e UFRJ como instituições protagonistas, e, h) Cicilia Peruzzo e Raquel Paiva como as que mais orientam teses e dissertações sobre a temática. Quanto à análise qualitativa verificaram-se alguns critérios que permeiam a CPAC: 1) a definição de classes subalternas; 2) a importância da participação ativa das comunidades nos processos de comunicação; e 3) formas, conteúdos e objetivos que se complementam e dão identidade às experiências

Relevância:

30.00% 30.00%

Publicador:

Resumo:

A prática regular e bem orientada da atividade física (AF) na 3ª idade possui diversos benefícios na saúde mas para que tal aconteça, é necessária a existência de um PAF que seja desenvolvido por um profissional que conheça as limitações próprias desta idade e que direcione o programa especificamente para este público-alvo. Pretende-se com este estudo caraterizar os Programas de Atividade Física (PAF) inseridos nos diferentes contextos institucionais e se o impacto que têm é percecionado do mesmo modo por utentes e técnicos. A amostra é composta por 27 pessoas: 16 pessoas idosas institucionalizadas e 11 técnicos que conceberam ou dinamizam os PAF. Os dados foram recolhidos através da aplicação de entrevistas, realização de observação das aulas de ginástica e análise de documentos fornecidos pelas instituições Verificou-se que a participação nos PAF é feita essencialmente por utentes do sexo feminino. Os profissionais que coordenam ou dinamizam os PAF também são essencialmente mulheres. Os programas existentes têm estruturas, objetivos e atividades semelhantes. A avaliação inicial dos participantes é realizada na maioria dos PAF; a interna acontece em poucas instituições, também, e junto dos participantes só são utilizadas folhas de presença. Os PAF são totalmente gratuitos para os seus utentes. Apesar de os PAF pertencerem a contextos institucionais diferentes, no geral, seguem uma estrutura lógica e bem concebida. A AF deverá ser vista como mais do que um momento lúdico e para tal aconteça, as instituições que a desenvolvem, devem promover e aumentar a sua regularidade

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Los avances tecnológicos en el mundo actual han impulsado el uso del comercio electrónico como herramienta de comercialización de productos o servicios, por lo que las empresas han optado por la utilización de este medio para realizar sus transacciones, al mismo tiempo se han visto en la necesidad de contar con personal que evalué la veracidad de todas las operaciones, es aquí donde surge la auditoría de los sistemas de información en la que el auditor se encarga de la revisión y la evaluación de los controles, sistemas, procedimientos de informática; de los equipos de cómputo, su utilización, eficiencia y seguridad de la información. En este tipo de auditorías habrá que evaluar los sistemas de información en general desde sus entradas, procedimientos, controles, archivos, y obtención de información. Se requieren varios pasos para realizar una auditoría, el auditor de sistemas debe evaluar los riesgos globales y luego desarrollar un programa de auditoría que consta de objetivos, alcance y procedimientos que le permitan obtener evidencia para sustentar los hallazgos encontrados y poder emitir así su opinión sobre el área que está evaluando. En nuestro país la auditoria de sistemas informáticos no es tan ejercida como otros tipos de auditoría (auditoría financiera, administrativa, operacional, integral, de cumplimiento fiscal). Según la investigación realizada este suceso se debe en primer lugar a la falta de capacitación del personal para realizar ese tipo de auditoría y en segundo lugar a la falta de recursos tecnológicos. La naturaleza especializada de la auditoría de los sistemas de información y las habilidades necesarias para llevarla a cabo, requieren de un amplio conocimiento y capacitación de los auditores, ya que el avance de la auditoría no se detiene y requiere una mayor especialización en la evaluación de las áreas y ramas del desarrollo tecnológico, esta es la razón por la que las auditorias son cada vez más singulares, lo que hace necesario la creación de programas de trabajo que permitan simplificar y desarrollar de una forma lógica la auditoría en esta área.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

De entre una serie de métodos estudiados acerca de la terminación de algoritmos, tales como Size-Change Termination o Isabelle, elegimos el método de RANK como instrumento para desarrollar nuestro propio programa de detección de terminación sobre el lenguaje de la IR. Esta decisión se basa en el coste polinómico de este método (frente a costes en PSPACE como el Size-Change Termination)y la posibilidad de obtener una herramienta asociada al mismo que además nos da la posibilidad de conocer un tiempo de ejecución aproximado. La herramienta asociada a RANK es compleja y va de la mano de una segunda herramienta (ASPIC). Hemos estudiado varios ejemplos, tales como el Mergesort o el Quicksort, para explicar la utilización de estas dos herramientas y a su vez ponernos en situación de los diferentes problemas que nos podemos encontrar a la hora de estudiar un programa. Partiendo del proceso que hemos usado para construir los automátas de los ejemplos anteriores, hemos diseñado e implementado en Java un algoritmo para transformar programas en el lenguaje de la IR al formato de entrada de RANK. Los resultados han sido satisfactorios, puesto que con los autómatas generados somos capaces de detectar de forma automatizada la terminación de, entre otros, los algoritmos recursivos antes mencionados.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Doutoramento em Arquitetura Paisagista - Instituto Superior de Agronomia - UL

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Desarrollo de los programas de transferencia condicionadas como mecanismos de reducción de la pobreza – Lógica de funcionamiento de los programas de transferencia condicionada – Balances del impacto de los programas de transferencia condicionadas en el rompimiento de la transferencia intergeneracional de la pobreza

Relevância:

20.00% 20.00%

Publicador:

Resumo:

This paper tries to show that the developments in linguistic sciences are better viewed as stages in a single research program, rather than different ideological -isms. The first part contains an overview of the structuralistas' beliefs about the universality and equivalence of human languages, and their search for syntactic universals. In the second part, we will see that the generative program, in its turn, tries to answer why language is a universal faculty in the human species and addresses questions about its form, its development and its use. In the second part, we will see that the paper gives a brief glimpse of the tentative answers the program has been giving to each of these issues.