990 resultados para Java EE
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.
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.
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:
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.
Resumo:
This article presents a solution to the problem of strong authentication, portable and expandable using a combination of Java technology and storage of X.509 digital certificate in Java cards to access services offered by an institution, in this case, the technology of the University of Panama, ensuring the authenticity, confidentiality, integrity and non repudiation.
Resumo:
This paper presents a general view of the telematic voting system developed by its authors, with a special emphasis on the important role that smart cards play in this scenario. The use of smart cards as basic pieces for providing secure cryptographic operations in this type of voting scheme is justified. The differences and advantages of Java Cards in comparison with the ?classical? smart cards (those that completely conform to the ISO/IEC 7816 standard) are also discussed. As an example, the paper describes one of the applets implemented in the voting Java Card as part of the general telematic voting application.
Resumo:
Dentro de los estudios de Ingeniería, las asignaturas que se ocupan de la capacidad de desarrollar programas de ordenador presentan algunas particularidades que las hacen especialmente interesantes a la hora de aplicar instrumentos de evaluación no tradicionales. Estas características son: (a) el resultado del aprendizaje es estrictamente una competencia, (b) el ejercicio profesional de esta competencia se realiza usualmente en equipo y (c) el proceso de evaluación puede ser más objetivo que en otras materias. Como consecuencia de la aplicación del EEES se están aplicando nuevas metodologías docentes y de estrategias de evaluación a estas asignaturas y resulta relevante conocer qué diferencias, si existen, introducen en el proceso de aprendizaje de este tipo de materias. El presente trabajo contrasta la aplicación de dos metodologías docentes y dos instrumentos de evaluación en dos grupos de la misma asignatura. Uno de los grupos ha seguido una metodología docente a distancia apoyada en una plataforma de e-learning, con contenidos docentes en formato electrónico, tutorías virtuales, un foro de comunicaciones, ejercicios de autoevaluación,trabajos individuales y trabajos en grupo. El otro grupo comparte los mismos contenidos docentes pero sigue una metodología que se basa en la impartición de clases presenciales de tipo magistral y clases prácticas de resolución de problemas y en la que se realiza un proyecto en equipo que se entrega en tres hitos. En ambos casos se ha utilizado una rúbrica por parte del profesor para evaluar los trabajos y otra por parte del alumno para valorar la actividad y competencia trabajo en equipo. Además se ha realizado un examen tradicional aunque sin efecto en la calificación final del alumno como referencia de comparación. En este sentido se muestra la experiencia en el empleo de la rúbrica en el contexto de la docencia en Ingeniería, y, en este caso, respecto de un instrumento tradicional como es una prueba de evaluación escrita.
Resumo:
Las facilidades e independencia de plataforma de Java han generado un gran interés en la comunidad de tiempo real. Dicho interés se ha reflejado en la especificación RTSJ (Real-Time Specification for Java), que extiende y adapta el lenguaje Java para permitir el desarrollo de sistemas de tiempo real. Adicionalmente, se han desarrollado perfiles de RTSJ para garantizar la predecibilidad en sistemas de tiempo real críticos. Sin embargo, RTSJ y sus perfiles no proporcionan facilidades para sistemas distribuidos. El objetivo de este trabajo es afrontar dicha limitación definiendo un nuevo modelo de RMI (Remote Method Invocation) basado en los principales perfiles de RTSJ para sistemas de tiempo real crítico. Este trabajo presenta el diseño y la implementación de RMI-HRT (RMI-Hard Real-Time) que está enfocado a sistemas de tiempo real crítico con requisitos de alta integridad.
Resumo:
El presente trabajo fin de grado, que, a partir de ahora, denominaré TFG, consiste en elaborar una monitorización de programas concurrentes en lenguaje Java, para que se visualicen los eventos ocurridos durante la ejecución de los dichos programas. Este trabajo surge en el marco de la asignatura “Concurrencia” de la Escuela Técnica Superior de Ingeniería Informática de la Universidad Politécnica de Madrid, impartida por D. Julio Mariño y D. Ángel Herranz. El objetivo principal de este proyecto es crear una herramienta para el aprendizaje de la asignatura de concurrencia, facilitando la comprensión de los conceptos teóricos, de modo que puedan corregir los posibles errores que haya en sus prácticas. en este proyecto se expone el desarrollo de una librería de visualización de programas concurrentes programados en Java usando un formalismo gráfico similar al empleado en la asignatura. Además esta librería da soporte a los mecanismos de sincronización usados en las prácticas de la asignatura: la librería Monitor (desarrollada por los profesores de la asignatura, D. Ángel Herranz y D. Julio Mariño) y la librería JCSP (Universidad de Kent). ---ABSTRACT---This Bachelor Thesis addresses the problem of monitoring a Java program in order to trace and visualize a certain set of events produced during the execution of concurrent Java programs. This work originates in the subject "Concurrency" of the Computer Science and Engineering degree of our University. The main goal of this work is to have a tool that helps students learning the subject, so they can better understand the core concepts and correct common mistakes in the course practical work. We have implemented a library for visualizing concurrent Java programsusing a graphical notation similar to the one used in class, which supports the design of concurrent programs whose synchronization mechanisms are either monitors(using the Monitor package) or CSP(as implemented in the JCSP library from Kent University).
Resumo:
Inscripción en parte superior: "Historia de Cabrera y de la guerra civil". Inscrito en el grab: "Joaquin Molina"
Resumo:
Inscripción en parte superior: "Historia de Cabrera y de la guerra civil". Inscrito en el grab: "Joaquin Molina"
Resumo:
En este trabajo se describe el diseñno y la implementación de una infraestructura para la comunicación entre componentes que sigan el estilo arquitectóonico C2 sobre una plataforma Java. Un requisito de esta infraestructura es que componentes y conectores se ejecuten cada uno en su propia máquina virtual (JVM) en el mismo nodo o en nodos diferentes. Se ha diseñado un conjunto de clases que proporcionan mecanismos para la comunicación entre componentes y conectores C2. Como parte del trabajo, se han evaluado las tecnologías disponibles para Java que permiten construir la infraestructura, habiéndose elegido la invocación remota a método (RMI) como la base para la comunicación entre los componentes del sistema
Resumo:
The main purpose of this work is to describe the case of an online Java Programming course for engineering students to learn computer programming and to practice other non-technicalabilities: online training, self-assessment, teamwork and use of foreign languages. It is important that students develop confidence and competence in these skills, which will be required later in their professional tasks and/or in other engineering courses (life-long learning). Furthermore, this paper presents the pedagogical methodology, the results drawn from this experience and an objective performance comparison with another conventional (face-to-face) Java course.
Resumo:
La presente tesis doctoral identifica el reciente fenómeno de la emergenciai de corrientes urbanísticas que actúan en la periferia urbana a partir de una concepción del diseño urbano que propugna modelos más compactos, a escala humana, de carácter integral y sostenible, como alternativa al desarrollo disperso y difusoii que caracteriza en gran medida a la ciudad contemporánea. Se develan las diferencias de origen y las coincidencias entre las distintas líneas de pensamiento que definen a estas emergentes corrientes alternativas, situándolas dentro de determinados enfoques planteados en la presente tesis, y demostrando con ello, las progresivas áreas de convergencia que permiten su ordenamiento como fenómeno histórico común. Estas distintas líneas de pensamiento, que derivan en las corrientes urbanísticas alternativas, se manifiestan primeramente como reacción a las operaciones modernistas de la posguerra, pero crecientemente expresan una visión contestataria a la expansión urbana descontrolada iii, de bajas densidades, zonificación excluyente y dependiente del automóvil; modelo asociado a las autopistas urbanas, los llamados nuevos artefactos urbanos y las grandes parcelas destinadas a proyectos habitacionales. Una realidad expresada en variados contextos en el ámbito de la globalización económica y cultural que, en gran medida, se singulariza como responsable de las profundas transformaciones urbanas, de la consecuente gradual pérdida de habitabilidad en las ciudades y del impacto sobre el medio natural; cuestión a tratar en el “Marco conceptual” referido al contexto y problema de la tesis. Se estudian los planteamientos fundamentales que postulan estas corrientes alternativas en el contexto de la expansión urbana horizontal, con el fin de identificar las distintas vertientes o líneas existentes, de establecer sus orígenes, enfoques, vínculos y alcances, permitiendo con ello caracterizar el fenómeno en sí desde una visión original e integradora. Estas corrientes a tratar han surgido en diversos momentos y con diversas particularidades, pero con mayor intensidad, articulación y visibilidad a partir de los años ochenta y especialmente en los noventa del siglo recién pasado, fundamentalmente en Europa y en los Estados Unidos de América, representando el “Cuerpo teórico” de esta tesis. Emergen en un escenario de creciente empoderamiento ciudadano, en tiempos de una mayor conciencia ambiental y social, y desde la convicción extendida de las limitaciones de un desarrollismo que, en términos del territorio físico, se manifiesta en el crecimiento urbano por extensión, incremental y desarticulado; tienen distintos idearios de origen, algunos en aparente contradicción o manifiesta oposición entre sí; se articulan desde diversos énfasis y surgen a partir de distintas aproximaciones. Para poder comprender el fenómeno de manera integral, se identifican y observan las tendencias contemporáneas y las correspondientes corrientes principales del diseño urbano; se indaga en sus discursos críticos y se ordenan en función de tres enfoques, los cuales reúnen los fundamentos esenciales de las distintas miradas críticas al modelo disperso y difuso: el enfoque neotradicional, el enfoque de la movilidad, y el enfoque ecológicoiv. Reconociendo la importancia de las operaciones de renovación urbana en la “ciudad intramuros” y siendo partícipes de estas intervenciones, las diferentes corrientes observadas desde los tres enfoques planteados, tienen un común denominador disciplinar en cuanto a su preocupación por generar actuaciones urbanas viables y practicables que causen un menor impacto sobre el territorio y que ofrezcan las condiciones para mejorar la habitabilidad en la ciudad, asumiendo el crecimiento hacia las periferias desde una aproximación alternativa a los modelos hoy predominantes. Las distintas corrientes, desde los particulares enfoques señalados, pretenden en síntesis, un desarrollo que refuerce el rol del diseño urbano, que promueva modelos más compactosv, de usos mixtos compatibles con la residencia y con espacios públicos de calidad, a una escala apropiada para la movilidad peatonal, favoreciendo de esta manera el uso del transporte público y velando consecuentemente por aquellos aspectos que mejoren las condiciones de sostenibilidad. En definitiva, el ideario de las corrientes caracterizadas en esta tesis como alternativas, se origina y se sostiene a partir de la convicción de situar a la disciplina del diseño urbano en su justa medida en el desarrollo contemporáneo, en el convencimiento de la relevancia del proyecto urbano en el ordenamiento del territorio y el crecimiento de las ciudades actuales. Una convergencia implícita a tratarse en la “Discusión de resultados”. La preocupación que reflejan las distintas corrientes estudiadas por el hábitat construido, en cuanto a su condición de acoger y estimular la dimensión humana de las ciudades, puede resumirse en una cita del arquitecto danés Jan Gehl, que interpreta a muchas de las líneas de pensamiento que se abordan en esta tesis, en cuanto al deseo de crear mejores ciudades: “Aspiramos generar ciudades animadas, saludables, atractivas, sostenibles y seguras, con el propósito de mejorar la calidad de vida de la gente”. ABSTRACT This Ph.D thesis identifies the recent phenomenon of the emergence of alternative urban design currents in the city edge, that focus on a more compact, human-scale oriented, comprehensive and sustainable urban design as an alternative to the overwhelming advance of sprawl that largely characterizes the contemporary city. It singles out the differences in origin, as well as the similarities drawn from the different lines of thought that define these emergent alternative currents, placing them within certain approaches proposed in this thesis, and thereby demonstrating the progressive areas of convergence that allow to arrange them as a common historical phenomenon. Indeed, the different lines of thought that drift towards these alternative urbanistic currents, first appear as a reaction to the post- World War II Modernist housing projects, and increasingly more so as a response to urban sprawl; an ever expanding phenomemnon expressed in different contexts within the economic and cultural globalization, largely singled out as being responsible for the deep urban transformations, the consequent gradual loss of livability and the impact on natural environment, setting the “Conceptual framework” of this thesis. Within the context of urban sprawl, the fundamental principles of these alternative currents are studied to establish their origins, approaches, linkages and scope, in order to zero in on the various aspects or existing lines and thereby allowing the identification of the phenomenon from an original and inclusive vision. The alternative currents to be dealt with, emerged at different times and with diverse characteristics, nonetheless it is in the eighties and especially during the nineties, mainly in Europe and the United States, where they appear with greater intensity, coordination and visibility, representing the “Theoretical body” of this thesis. The above mentioned currents arise in a scenario of increasing citizen empowerment in times of growing environmental and social awareness, along with the widespread conviction of the limitations of a quantitative development expressed as a physical manifestation in urban sprawl. These alternative currents have a different philosophy in origin, some are in apparent contradiction or in definite opposition, being organized from different approaches and emphases. To comprehend this phenomenon, it is necessary to identify and analize the contemporary trends and the main currents of urban design, inquiring and arranging their critical discourses according to three approaches that meet the essential foundations of the various critical perspectives of urban sprawl: the neo-traditional approach, the mobility approach, the ecological approach. Acknowledging the importance of urban renovation in the “Inner City”, and being partakers of these interventions, the different currents identified from these three approaches, concur in their concern for the development of viable and workable alternatives to urban sprawl; models that cause a lower impact on the territory, whilst improving livability in the city. The different currents recognized within the above mentioned approaches, advocate in brief, for a development that strengthens the role of urban design, that encourages more compact models, mixed-uses, and quality public spaces, considering the human scale and walkability; thereby increasing public transport and promoting consequently, the conditions for sustainable development. Ultimately, the philosophy of the so called alternative currents, is based on the belief of placing urban design as a fundamental discipline in contemporary urban development. The concern for the built habitat reflected by the various currents studied, as of their condition to accept and stimulate the human dimension of the city, can be summed up in a quote from Danish architect Jan Gehl, who represents many of the lines of thought addressed, in the belief of creating better cities: “We aspire to create cities that are lively, healthy, attractive, sustainable and safe-and thereby improve people’s quality of life”.