45 resultados para Android Logica Java Deduzione Naturale Didattica

em Universidad Politécnica de Madrid


Relevância:

30.00% 30.00%

Publicador:

Resumo:

Este Proyecto Fin de Grado está enmarcado dentro de las actividades del GRyS (Grupo de Redes y Servicios de Próxima Generación) con las Smart Grids. En la investigación actual sobre Smart Grids se pretenden alcanzar los siguientes objetivos: . Integrar fuentes de energías renovables de manera efectiva. . Aumentar la eficiencia en la gestión de la demanda y suministro de forma dinámica. . Reducir las emisiones de CO2 dando prioridad a fuentes de energía verdes. . Concienciar del consumo de energía mediante la monitorización de dispositivos y servicios. . Estimular el desarrollo de un mercado vanguardista de tecnologías energéticamente eficientes con nuevos modelos de negocio. Dentro del contexto de las Smart Grids, el interés del GRyS se extiende básicamente a la creación de middlewares semánticos y tecnologías afines, como las ontologías de servicios y las bases de datos semánticas. El objetivo de este Proyecto Fin de Grado ha sido diseñar y desarrollar una aplicación para dispositivos con sistema operativo Android, que implementa una interfaz gráfica y los métodos necesarios para obtener y representar información de registro de servicios de una plataforma SOA (Service-Oriented Architecture). La aplicación permite: . Representar información relativa a los servicios y dispositivos registrados en una Smart Grid. . Guardar, cargar y compartir por correo electrónico ficheros HTML con la información anterior. . Representar en un mapa la ubicación de los dispositivos. . Representar medidas (voltaje, temperatura, etc.) en tiempo real. . Aplicar filtros por identificador de dispositivo, modelo o fabricante. . Realizar consultas SPARQL a bases de datos semánticas. . Guardar y cagar consultas SPARQL en ficheros de texto almacenados en la tarjeta SD. La aplicación, desarrollada en Java, es de código libre y hace uso de tecnologías estándar y abiertas como HTML, XML, SPARQL y servicios RESTful. Se ha tenido ocasión de probarla con la infraestructura del proyecto europeo e-Gotham (Sustainable-Smart Grid Open System for the Aggregated Control, Monitoring and Management of Energy), en el que participan 17 socios de 5 países: España, Italia, Estonia, Finlandia y Noruega. En esta memoria se detalla el estudio realizado sobre el Estado del arte y las tecnologías utilizadas en el desarrollo del proyecto, la implementación, diseño y arquitectura de la aplicación, así como las pruebas realizadas y los resultados obtenidos. ABSTRACT. This Final Degree Project is framed within the activities of the GRyS (Grupo de Redes y Servicios de Próxima Generación) with the Smart Grids. Current research on Smart Grids aims to achieve the following objectives: . To effectively integrate renewable energy sources. . To increase management efficiency by dynamically matching demand and supply. . To reduce carbon emissions by giving priority to green energy sources. . To raise energy consumption awareness by monitoring products and services. . To stimulate the development of a leading-edge market for energy-efficient technologies with new business models. Within the context of the Smart Grids, the interest of the GRyS basically extends to the creation of semantic middleware and related technologies, such as service ontologies and semantic data bases. The objective of this Final Degree Project has been to design and develop an application for devices with Android operating system, which implements a graphical interface and methods to obtain and represent services registry information in a Service-Oriented Architecture (SOA) platform. The application allows users to: . Represent information related to services and devices registered in a Smart Grid. . Save, load and share HTML files with the above information by email. . Represent the location of devices on a map. . Represent measures (voltage, temperature, etc.) in real time. . Apply filters by device id, model or manufacturer. . SPARQL query semantic database. . Save and load SPARQL queries in text files stored on the SD card. The application, developed in Java, is open source and uses open standards such as HTML, XML, SPARQL and RESTful services technologies. It has been tested in a real environment using the e-Gotham European project infrastructure (Sustainable-Smart Grid Open System for the Aggregated Control, Monitoring and Management of Energy), which is participated by 17 partners from 5 countries: Spain, Italy, Estonia, Finland and Norway. This report details the study on the State of the art and the technologies used in the development of the project, implementation, design and architecture of the application, as well as the tests performed and the results obtained.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

In recent years, there has been a great increase in the development of wireless technologies and location services. For this reason, numerous projects in the location field, have arisen. In addition, with the appearance of the open Android operating system, wireless technologies are being developed faster than ever. This Project approaches the design and development of a system that combines the technologies of wireless, location and Android with the implementation of an indoor positioning system. As a result, an Android application has been obtained, which detects the position of a phone in a simple and useful way. The application is based on the WIFI manager API of Android. It combines the data stored in a SQL database with the wifi data received at any given time. Afterwards the position of the user is determined with the algorithm that has been implemented. This application is able to obtain the position of any person who is inside a building with Wi-Fi coverage, and display it on the screen of any device with the Android operating system. Besides the estimation of the position, this system displays a map that helps you see in which quadrant of the room are positioned in real time. This system has been designed with a simple interface to allow people without technology knowledge. Finally, several tests and simulations of the system have been carried out to see its operation and accuracy. The performance of the system has been verified in two different places and changes have been made in the Java code to improve its precision and effectiveness. As a result of the several tests, it has been noticed that the placement of the access point (AP) and the configuration of the Wireless network is an important point that should be taken into account to avoid interferences and errors as much as possible, in the estimation of the position. RESUMEN. En los últimos años, se ha producido un incremento en el desarrollo de tecnologías inalámbricas y en servicios de localización y posicionamiento. Por esta razón, han surgido numerosos proyectos relacionados con estas tecnologías. Por otra parte, un punto importante en el desarrollo de estas tecnologías ha sido la aparición del lenguaje Android que ha hecho que estas nuevas tecnologías se implementaran con una mayor rapidez. Este proyecto, se acerca al diseño y desarrollo de un sistema que combina tecnologías inalámbricas, de ubicación y uso de lenguaje Android para el desarrollo de una aplicación de un sistema de posicionamiento en interiores. Como consecuencia de esto se ha obtenido una aplicación Android que detecta la posición de un dispositivo móvil de una manera sencilla e intuititva. La aplicación se basa en la API WIFI de Android, que combina los datos almacenados en una base de datos SQL con los datos recibidos vía Wi-Fi en cualquier momento. A continuación, la posición del usuario se determina con el algoritmo que se ha implementado a lo largo de todo el proyecto utilizando código Android. Esta aplicación es capaz de obtener la posición de cualquier persona que se encuentra dentro de un edificio con cobertura Wi-Fi, mostrando por pantalla la ubicación del usuario en cualquier dispositivo que disponga de sistema operativo Android. Además de la estimación de la posición, este sistema muestra un mapa que le ayuda a ver en qué cuadrante de la sala está situado el usuario. Este sistema ha sido diseñado con una interfaz sencilla para permitir que usuarios sin conocimiento tecnológico o no acostumbrados al uso de los nuevos dispositivos de hoy en día puedan usarlo de una manera sencilla y de forma intuitiva. Por último, se han llevado a cabo varias pruebas y simulaciones del sistema para verificar su funcionamiento y precisión. El rendimiento del sistema se ha comprobado en dos puntos diferentes de la sala (lugar donde se han hecho todas las pruebas y desarrollado la aplicación) realizando cambios en el código Java para mejorar aún más la precisión y eficacia del posicionamiento. Como resultado de todo esto, se ha comprobado que la ubicación del punto de acceso (AP) y la configuración de la red inalámbrica es importante, y por ello se debe de tener en cuenta para evitar interferencias y tantos errores como sea posible en la estimación de la posición.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

El presente proyecto pretende ser una herramienta para la enseñanza de la lectoescritura (enseñar a leer y a escribir) para niños con discapacidad, haciendo para ello uso de una aplicación que se ejecuta en una tablet con Sistema Operativo (S.O.) Android. Existe un vacío en el mundo de las aplicaciones para tabletas en este campo en el que se intentará poner un grano de arena para, al menos, tener una aplicación que sirva de toma de contacto a los interesados en este campo. Para establecer las funcionalidades más adecuadas al propósito de la herramienta, se ha consultado a profesionales de la logopedia de un colegio de educación especial, con cuya colaboración se ha dado forma a la estructura de la misma. La implementación de la aplicación se ha llevado a cabo con programación en entorno Java para Android. Se han incluido diferentes recursos como imágenes, pictogramas y locuciones tanto elementos con licencia libre, como elementos propios generados ‘ex profeso’ para dar la forma final a la herramienta. Podemos decir que en general esta aplicación puede ser usada para enseña a leer y escribir a cualquier niño, pero se ha dotado de unas ciertas características que la confieren una orientación especial hacia niños con necesidades educativas especiales. Para ello se ha cuidado mucho la estética, para que ésta sea lo más simple y suave posible, para hacer especial hincapié en la atención de los niños y evitar su distracción con elementos visuales innecesarios. Se ha dotado de estímulos visuales y sonoros para fomentar su interés (aplausos en caso de acierto, colores para diferenciar aciertos y errores, etc.). Se han utilizado los tamaños de letra más grandes posibles (para las discapacidades visuales), etc. El mercado cuenta con una ingente cantidad de dispositivos Android, con características muy dispares, de tamaño de pantalla, resolución y versiones del S.O. entre otras. La aplicación se ha desarrollado tratando de dar cobertura al mayor porcentaje de ellos posible. El requisito mínimo de tamaño de pantalla sería de siete pulgadas. Esta herramienta no tiene demasiado sentido en dispositivos con pantallas menores por las características intrínsecas de la misma. No obstante se ha trabajado también en la configuración para dispositivos pequeños, como “smartphones”, no por su valor como herramienta para la enseñanza de la lectoescritura (aunque en algunos casos podría ser viable) sino más bien con fines de prueba y entrenamiento para profesores, padres o tutores que realizarán la labor docente con dispositivos tablet. Otro de los requisitos, como se ha mencionado, para poder ejecutar la aplicación sería la versión mínima de S.O., por debajo de la cual (versiones muy obsoletas) la aplicación sería inviable. Sirva este proyecto pues para cubrir, mediante el uso de la tecnología, un aspecto de la enseñanza con grandes oportunidades de mejora. ----------------------- This Project is aimed to be a tool for teaching reading and writing skills to handicapped children with an Android application. There are no Android applications available on this field, so it is intended to provide at least one option to take contact with. Speech therapy professionals from a special needs school have been asked for the most suitable functions to be included in this tool. The structure of this tool has been made with the cooperation of these professionals. The implementation of the application has been performed through Java coding for Android. Different resources have been included such as pictures, pictograms and sounds, including free licenses resources and self-developed resources. In general, it can be said that this application can be used to teach learning and writing skills to any given kid, however it has been provided of certain features that makes it ideal for children with special educational needs. It has been strongly taken into account the whole aesthetic to be as simple and soft as possible, in order to get attention of children, excluding any visual disturbing elements. It has been provided with sound and visual stimulations, to attract their interest (applauses in cases of correct answers, different colours to differentiate right or wrong answers), etc. There are many different types of Android devices, with very heterogeneous features regarding their screen size, resolution and O.S. version, etc., available today. The application has been developed trying to cover most of them. Minimum screen resolution is seven inches. This tool doesn’t seem to be very useful for smaller screens, for its inner features. Nevertheless, it has been developed for smaller devices as well, like smartphones, not intended to be a tool for teaching reading and writing skills (even it could be possible in some cases), but in a test and training context for teachers, parents or guardians who do the teaching work with tablet devices. Another requirement, as stated before, in order to be able to run the application, it would be the minimum O.S. version, below that (very obsolete versions) the application would become impracticable. Hope this project to be used to fulfill, by means of technology, one area of teaching with great improvement opportunities.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

El presente proyecto pretende ser una herramienta para la enseñanza de la lectoescritura (enseñar a leer y a escribir) para niños con discapacidad, haciendo para ello uso de una aplicación que se ejecuta en una tablet con Sistema Operativo (S.O.) Android. Existe un vacío en el mundo de las aplicaciones para tabletas en este campo en el que se intentará poner un grano de arena para, al menos, tener una aplicación que sirva de toma de contacto a los interesados en este campo. Para establecer las funcionalidades más adecuadas al propósito de la herramienta, se ha consultado a profesionales de la logopedia de un colegio de educación especial, con cuya colaboración se ha dado forma a la estructura de la misma. La implementación de la aplicación se ha llevado a cabo con programación en entorno Java para Android. Se han incluido diferentes recursos como imágenes, pictogramas y locuciones tanto elementos con licencia libre, como elementos propios generados ‘ex profeso’ para dar la forma final a la herramienta. Podemos decir que en general esta aplicación puede ser usada para enseña a leer y escribir a cualquier niño, pero se ha dotado de unas ciertas características que la confieren una orientación especial hacia niños con necesidades educativas especiales. Para ello se ha cuidado mucho la estética, para que ésta sea lo más simple y suave posible, para hacer especial hincapié en la atención de los niños y evitar su distracción con elementos visuales innecesarios. Se ha dotado de estímulos visuales y sonoros para fomentar su interés (aplausos en caso de acierto, colores para diferenciar aciertos y errores, etc.). Se han utilizado los tamaños de letra más grandes posibles (para las discapacidades visuales), etc. El mercado cuenta con una ingente cantidad de dispositivos Android, con características muy dispares, de tamaño de pantalla, resolución y versiones del S.O. entre otras. La aplicación se ha desarrollado tratando de dar cobertura al mayor porcentaje de ellos posible. El requisito mínimo de tamaño de pantalla sería de siete pulgadas. Esta herramienta no tiene demasiado sentido en dispositivos con pantallas menores por las características intrínsecas de la misma. No obstante se ha trabajado también en la configuración para dispositivos pequeños, como “smartphones”, no por su valor como herramienta para la enseñanza de la lectoescritura (aunque en algunos casos podría ser viable) sino más bien con fines de prueba y entrenamiento para profesores, padres o tutores que realizarán la labor docente con dispositivos tablet. Otro de los requisitos, como se ha mencionado, para poder ejecutar la aplicación sería la versión mínima de S.O., por debajo de la cual (versiones muy obsoletas) la aplicación sería inviable. Sirva este proyecto pues para cubrir, mediante el uso de la tecnología, un aspecto de la enseñanza con grandes oportunidades de mejora. ABSTRACT. This Project is aimed to be a tool for teaching reading and writing skills to handicapped children with an Android application. There are no Android applications available on this field, so it is intended to provide at least one option to take contact with. Speech therapy professionals from a special needs school have been asked for the most suitable functions to be included in this tool. The structure of this tool has been made with the cooperation of these professionals. The implementation of the application has been performed through Java coding for Android. Different resources have been included such as pictures, pictograms and sounds, including free licenses resources and self-developed resources. In general, it can be said that this application can be used to teach learning and writing skills to any given kid, however it has been provided of certain features that makes it ideal for children with special educational needs. It has been strongly taken into account the whole aesthetic to be as simple and soft as possible, in order to get attention of children, excluding any visual disturbing elements. It has been provided with sound and visual stimulations, to attract their interest (applauses in cases of correct answers, different colours to differentiate right or wrong answers), etc. There are many different types of Android devices, with very heterogeneous features regarding their screen size, resolution and O.S. version, etc., available today. The application has been developed trying to cover most of them. Minimum screen resolution is seven inches. This tool doesn’t seem to be very useful for smaller screens, for its inner features. Nevertheless, it has been developed for smaller devices as well, like smartphones, not intended to be a tool for teaching reading and writing skills (even it could be possible in some cases), but in a test and training context for teachers, parents or guardians who do the teaching work with tablet devices. Another requirement, as stated before, in order to be able to run the application, it would be the minimum O.S. version, below that (very obsolete versions) the application would become impracticable. Hope this project to be used to fulfill, by means of technology, one area of teaching with great improvement opportunities.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Desde el inicio de la globalización, el aprendizaje de la lengua inglesa se ha instaurado como una necesidad. Hoy en día, con la adopción del Espacio Europeo de Educación Superior este lenguaje no sólo se impone como un requisito para los estudiantes sino que se exige un nivel B2, lo cual significa un esfuerzo mayor tanto como para el alumno como para el profesor a la hora de hacer de este ejercicio un hábito y lograr la evaluación continua de los mismos. Este proyecto intenta extender las funcionalidades de una aplicación existente llamada Illlab con ejercicios que se adapten al nivel B2 y permitan la interacción entre alumnos durante la realización de estos ejercicios. El objetivo de esta aplicación es el de desarrollar ejercicios extra en la aplicación Illlab que añadan complejidad para el aprendizaje de inglés de un nivel B2 y que además se puedan realizar actividades entre los alumnos. La idea es hacer una aplicación de preguntas y respuestas “multiple choice” con cuatro opciones por pregunta. El fuerte de este juego está en presentar material variado sobre uso de la lengua y además permitir el juego entre varios alumnos. La extensión de ILLLab se plantea como un proyecto para desarrollar interfaces y funcionalidades adicionales en la antigua aplicación. La principal funcionalidad que se añade es un juego de preguntas y respuestas con opciones múltiples para un nivel B2 y las interfaces responden a necesidades de intercambio y manejo de contenido por Internet mediante estándares aceptados en el mundo del aprendizaje digital tales como Common Cartridge o SCORM. Este proyecto simplemente adapta la aplicación para su uso en un entorno de evaluación de actividades en el cual el profesor tiene acceso a las actividades que realizan los alumnos de un curso para su posterior evaluación. Antiguamente ILLLab sólo contenía ejercicios que se llevaban a cabo en el dispositivo móvil por lo que el control de estas actividades no era posible. La mejora se presenta como una interfaz Common Cartridge para el manejo del contenido, una interfaz de comunicación sobre servicios web tipo REST y el manejo de base de datos mediante Hibernate que agrupa una serie de librerías Java para la persistencia de objetos de la base de datos. ABSTRACT. Since the onset of globalization, the learning of the English language has become as a necessity. Today, with the adoption of the European Higher Education Area this language is not only imposed as a requirement for students but a B2 level is required, which means a greater effort both to the student and teacher when it comes to make the learning exercise a habit and achieve continuous evaluation of students. This project aims to extend the functionality of an existing application called Illlab with an exercise that suits the B2 level and allow interaction between students while performing these exercises. The purpose of this application is to develop an additional exercise in the application Illlab that adds complexity for learning English at B2 level and also enables the interaction among students. The main idea is to make an application in multiple choices style with four options. The strength of this game is to present varied material on use of Enlgish and also allow play between two students. ILLLab extension is conceived as a project to develop interfaces and additional functionalities in the old application. The main functionalities added are a game of questions and answers with multiple choices for a B2 level and interfaces that meet information exchange requirements and content management over the Internet using standards adopted in the world of digital learning such as Common Cartridge or SCORM. This project simply adapts the application for its use in an activities evaluation environment in which the teacher has access to the activities performed by students in a course for further evaluation. The former versión of ILLLab contained only exercises that were carried out on the mobile device so that the evaluation of these activities was not possible. The improvement comes as a Common Cartridge interface for content management, a communication interface with REST web services and a database access using Hibernate which groups a number of Java libraries for object persistence in the database.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Distributed real-time embedded systems are becoming increasingly important to society. More demands will be made on them and greater reliance will be placed on the delivery of their services. A relevant subset of them is high-integrity or hard real-time systems, where failure can cause loss of life, environmental harm, or significant financial loss. Additionally, the evolution of communication networks and paradigms as well as the necessity of demanding processing power and fault tolerance, motivated the interconnection between electronic devices; many of the communications have the possibility of transferring data at a high speed. The concept of distributed systems emerged as systems where different parts are executed on several nodes that interact with each other via a communication network. Java’s popularity, facilities and platform independence have made it an interesting language for the real-time and embedded community. This was the motivation for the development of RTSJ (Real-Time Specification for Java), which is a language extension intended to allow the development of real-time systems. The use of Java in the development of high-integrity systems requires strict development and testing techniques. However, RTJS includes a number of language features that are forbidden in such systems. In the context of the HIJA project, the HRTJ (Hard Real-Time Java) profile was developed to define a robust subset of the language that is amenable to static analysis for high-integrity system certification. Currently, a specification under the Java community process (JSR- 302) is being developed. Its purpose is to define those capabilities needed to create safety critical applications with Java technology called Safety Critical Java (SCJ). However, neither RTSJ nor its profiles provide facilities to develop distributed realtime applications. This is an important issue, as most of the current and future systems will be distributed. The Distributed RTSJ (DRTSJ) Expert Group was created under the Java community process (JSR-50) in order to define appropriate abstractions to overcome this problem. Currently there is no formal specification. The aim of this thesis is to develop a communication middleware that is suitable for the development of distributed hard real-time systems in Java, based on the integration between the RMI (Remote Method Invocation) model and the HRTJ profile. It has been designed and implemented keeping in mind the main requirements such as the predictability and reliability in the timing behavior and the resource usage. iThe design starts with the definition of a computational model which identifies among other things: the communication model, most appropriate underlying network protocols, the analysis model, and a subset of Java for hard real-time systems. In the design, the remote references are the basic means for building distributed applications which are associated with all non-functional parameters and resources needed to implement synchronous or asynchronous remote invocations with real-time attributes. The proposed middleware separates the resource allocation from the execution itself by defining two phases and a specific threading mechanism that guarantees a suitable timing behavior. It also includes mechanisms to monitor the functional and the timing behavior. It provides independence from network protocol defining a network interface and modules. The JRMP protocol was modified to include two phases, non-functional parameters, and message size optimizations. Although serialization is one of the fundamental operations to ensure proper data transmission, current implementations are not suitable for hard real-time systems and there are no alternatives. This thesis proposes a predictable serialization that introduces a new compiler to generate optimized code according to the computational model. The proposed solution has the advantage of allowing us to schedule the communications and to adjust the memory usage at compilation time. In order to validate the design and the implementation a demanding validation process was carried out with emphasis in the functional behavior, the memory usage, the processor usage (the end-to-end response time and the response time in each functional block) and the network usage (real consumption according to the calculated consumption). The results obtained in an industrial application developed by Thales Avionics (a Flight Management System) and in exhaustive tests show that the design and the prototype are reliable for industrial applications with strict timing requirements. Los sistemas empotrados y distribuidos de tiempo real son cada vez más importantes para la sociedad. Su demanda aumenta y cada vez más dependemos de los servicios que proporcionan. Los sistemas de alta integridad constituyen un subconjunto de gran importancia. Se caracterizan por que un fallo en su funcionamiento puede causar pérdida de vidas humanas, daños en el medio ambiente o cuantiosas pérdidas económicas. La necesidad de satisfacer requisitos temporales estrictos, hace más complejo su desarrollo. Mientras que los sistemas empotrados se sigan expandiendo en nuestra sociedad, es necesario garantizar un coste de desarrollo ajustado mediante el uso técnicas adecuadas en su diseño, mantenimiento y certificación. En concreto, se requiere una tecnología flexible e independiente del hardware. La evolución de las redes y paradigmas de comunicación, así como la necesidad de mayor potencia de cómputo y de tolerancia a fallos, ha motivado la interconexión de dispositivos electrónicos. Los mecanismos de comunicación permiten la transferencia de datos con alta velocidad de transmisión. En este contexto, el concepto de sistema distribuido ha emergido como sistemas donde sus componentes se ejecutan en varios nodos en paralelo y que interactúan entre ellos mediante redes de comunicaciones. Un concepto interesante son los sistemas de tiempo real neutrales respecto a la plataforma de ejecución. Se caracterizan por la falta de conocimiento de esta plataforma durante su diseño. Esta propiedad es relevante, por que conviene que se ejecuten en la mayor variedad de arquitecturas, tienen una vida media mayor de diez anos y el lugar ˜ donde se ejecutan puede variar. El lenguaje de programación Java es una buena base para el desarrollo de este tipo de sistemas. Por este motivo se ha creado RTSJ (Real-Time Specification for Java), que es una extensión del lenguaje para permitir el desarrollo de sistemas de tiempo real. Sin embargo, RTSJ no proporciona facilidades para el desarrollo de aplicaciones distribuidas de tiempo real. Es una limitación importante dado que la mayoría de los actuales y futuros sistemas serán distribuidos. El grupo DRTSJ (DistributedRTSJ) fue creado bajo el proceso de la comunidad de Java (JSR-50) con el fin de definir las abstracciones que aborden dicha limitación, pero en la actualidad aun no existe una especificacion formal. El objetivo de esta tesis es desarrollar un middleware de comunicaciones para el desarrollo de sistemas distribuidos de tiempo real en Java, basado en la integración entre el modelo de RMI (Remote Method Invocation) y el perfil HRTJ. Ha sido diseñado e implementado teniendo en cuenta los requisitos principales, como la predecibilidad y la confiabilidad del comportamiento temporal y el uso de recursos. El diseño parte de la definición de un modelo computacional el cual identifica entre otras cosas: el modelo de comunicaciones, los protocolos de red subyacentes más adecuados, el modelo de análisis, y un subconjunto de Java para sistemas de tiempo real crítico. En el diseño, las referencias remotas son el medio básico para construcción de aplicaciones distribuidas las cuales son asociadas a todos los parámetros no funcionales y los recursos necesarios para la ejecución de invocaciones remotas síncronas o asíncronas con atributos de tiempo real. El middleware propuesto separa la asignación de recursos de la propia ejecución definiendo dos fases y un mecanismo de hebras especifico que garantiza un comportamiento temporal adecuado. Además se ha incluido mecanismos para supervisar el comportamiento funcional y temporal. Se ha buscado independencia del protocolo de red definiendo una interfaz de red y módulos específicos. También se ha modificado el protocolo JRMP para incluir diferentes fases, parámetros no funcionales y optimizaciones de los tamaños de los mensajes. Aunque la serialización es una de las operaciones fundamentales para asegurar la adecuada transmisión de datos, las actuales implementaciones no son adecuadas para sistemas críticos y no hay alternativas. Este trabajo propone una serialización predecible que ha implicado el desarrollo de un nuevo compilador para la generación de código optimizado acorde al modelo computacional. La solución propuesta tiene la ventaja que en tiempo de compilación nos permite planificar las comunicaciones y ajustar el uso de memoria. Con el objetivo de validar el diseño e implementación se ha llevado a cabo un exigente proceso de validación con énfasis en: el comportamiento funcional, el uso de memoria, el uso del procesador (tiempo de respuesta de extremo a extremo y en cada uno de los bloques funcionales) y el uso de la red (consumo real conforme al estimado). Los buenos resultados obtenidos en una aplicación industrial desarrollada por Thales Avionics (un sistema de gestión de vuelo) y en las pruebas exhaustivas han demostrado que el diseño y el prototipo son fiables para aplicaciones industriales con estrictos requisitos temporales.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Este artículo presenta una solución al problema de autenticación segura, portable y expandible realizando una combinación de la tecnología Java y el almacenamiento del certificado digital X.509 en las tarjetas Java para acceder a los servicios ofrecidos por una institución, en este caso concreto la Universidad Tecnológica de Panamá, garantizando la autenticidad, confidencialidad, integridad y no repudio.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Este paper presenta la tecnología Java Card y los certificados X.509 como método de autenticación en aplicaciones web en ambientes universitarios, en el caso concreto la Universidad Tecnológica de Panamá (UTP). La solución consiste en mejorar el escenario de acceso a los servicios de la UTP tratando de extender el uso de la Infraestructura de Clave Pública, llevando a cabo la integración de estas tecnologías que aporten mayor seguridad a todos los usuarios y que gocen de un acceso a los servicios ofrecidos de manera flexible, segura, garantizando la autenticidad, confidencialidad, integridad y no repudio.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Automatic cost analysis of programs has been traditionally concentrated on a reduced number of resources such as execution steps, time, or memory. However, the increasing relevance of analysis applications such as static debugging and/or certiflcation of user-level properties (including for mobile code) makes it interesting to develop analyses for resource notions that are actually application-dependent. This may include, for example, bytes sent or received by an application, number of files left open, number of SMSs sent or received, number of accesses to a datábase, money spent, energy consumption, etc. We present a fully automated analysis for inferring upper bounds on the usage that a Java bytecode program makes of a set of application programmer-deflnable resources. In our context, a resource is defined by programmer-provided annotations which state the basic consumption that certain program elements make of that resource. From these deflnitions our analysis derives functions which return an upper bound on the usage that the whole program (and individual blocks) make of that resource for any given set of input data sizes. The analysis proposed is independent of the particular resource. We also present some experimental results from a prototype implementation of the approach covering a signiflcant set of interesting resources.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Abstract is not available.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Abstract interpretation has been widely used for the analysis of object-oriented languages and, in particular, Java source and bytecode. However, while most existing work deals with the problem of flnding expressive abstract domains that track accurately the characteristics of a particular concrete property, the underlying flxpoint algorithms have received comparatively less attention. In fact, many existing (abstract interpretation based—) flxpoint algorithms rely on relatively inefHcient techniques for solving inter-procedural caligraphs or are speciflc and tied to particular analyses. We also argüe that the design of an efficient fixpoint algorithm is pivotal to supporting the analysis of large programs. In this paper we introduce a novel algorithm for analysis of Java bytecode which includes a number of optimizations in order to reduce the number of iterations. The algorithm is parametric -in the sense that it is independent of the abstract domain used and it can be applied to different domains as "plug-ins"-, multivariant, and flow-sensitive. Also, is based on a program transformation, prior to the analysis, that results in a highly uniform representation of all the features in the language and therefore simplifies analysis. Detailed descriptions of decompilation solutions are given and discussed with an example. We also provide some performance data from a preliminary implementation of the analysis.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Automatic cost analysis of programs has been traditionally studied in terms of a number of concrete, predefined resources such as execution steps, time, or memory. However, the increasing relevance of analysis applications such as static debugging and/or certification of user-level properties (including for mobile code) makes it interesting to develop analyses for resource notions that are actually applicationdependent. This may include, for example, bytes sent or received by an application, number of files left open, number of SMSs sent or received, number of accesses to a database, money spent, energy consumption, etc. We present a fully automated analysis for inferring upper bounds on the usage that a Java bytecode program makes of a set of application programmer-definable resources. In our context, a resource is defined by programmer-provided annotations which state the basic consumption that certain program elements make of that resource. From these definitions our analysis derives functions which return an upper bound on the usage that the whole program (and individual blocks) make of that resource for any given set of input data sizes. The analysis proposed is independent of the particular resource. We also present some experimental results from a prototype implementation of the approach covering an ample set of interesting resources.

Relevância:

20.00% 20.00%

Publicador:

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.

Relevância:

20.00% 20.00%

Publicador:

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.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Abstract interpretation has been widely used for the analysis of object-oriented languages and, more precisely, Java source and bytecode. However, while most of the existing work deals with the problem of finding expressive abstract domains that track accurately the characteristics of a particular concrete property, the underlying fixpoint algorithms have received comparatively less attention. In fact, many existing (abstract interpretation based) fixpoint algorithms rely on relatively inefficient techniques to solve inter-procedural call graphs or are specific and tied to particular analyses. We argue that the design of an efficient fixpoint algorithm is pivotal to support the analysis of large programs. In this paper we introduce a novel algorithm for analysis of Java bytecode which includes a number of optimizations in order to reduce the number of iterations. Also, the algorithm is parametric in the sense that it is independent of the abstract domain used and it can be applied to different domains as "plug-ins". It is also incremental in the sense that, if desired, analysis data can be saved so that only a reduced amount of reanalysis is needed after a small program change, which can be instrumental for large programs. The algorithm is also multivariant and flowsensitive. Finally, another interesting characteristic of the algorithm is that it is based on a program transformation, prior to the analysis, that results in a highly uniform representation of all the features in the language and therefore simplifies analysis. Detailed descriptions of decompilation solutions are provided and discussed with an example.