973 resultados para Software orientado : Objetos
Resumo:
Aspect Oriented approaches associated to different activities of the software development process are, in general, independent and their models and artifacts are not aligned and inserted in a coherent process. In the model driven development, the various models and the correspondence between them are rigorously specified. With the integration of aspect oriented software development (DSOA) and model driven development (MDD) it is possible to automatically propagate models from one activity to another, avoiding the loss of information and important decisions established in each activity. This work presents MARISA-MDD, a strategy based on models that integrate aspect-oriented requirements, architecture and detailed design, using the languages AOV-graph, AspectualACME and aSideML, respectively. MARISA-MDD defines, for each activity, representative models (and corresponding metamodels) and a number of transformations between the models of each language. These transformations have been specified and implemented in ATL (Atlas Definition Language), in the Eclipse environment. MARISA-MDD allows the automatic propagation between AOV-graph, AspectualACME, and aSideML models. To validate the proposed approach two case studies, the Health Watcher and the Mobile Media have been used in the MARISA-MDD environment for the automatic generation of AspectualACME and aSideML models, from the AOV-graph model
Resumo:
This paper proposes a systematic approach to management of variability modelsdriven and aspects using the mechanisms of approaches Aspect-Oriented Software Development (AOSD) and Model-Driven Development (MDD). The main goal of the approach, named CrossMDA-SPL, is to improve the management(gerência), modularization and isolation ou separation of the variability of the LPSs of architecture in a high level of abstraction (model) at the design and implementing phases of development Software Product Lines (SPLs), exploiting the synergy between AOSD and MDD. The CrossMDA-SPL approach defines some artifacts basis for advance the separation clear in between the mandatory (bounden) and optional features in the architecture of SPL. The artifacts are represented by two models named: (i) core model (base domain) - responsible for specify the common features the all members of the SPL, and (ii) variability model - responsible for represent the variables features of SPL. In addition, the CrossMDA-SPL approach is composed of: (i) guidelines for modeling and representation of variability, (ii) CrossMDA-SPL services and process, and (iii) models of the architecture of SPL or product instance of SPL. The guidelines use the advantages of AOSD and MDD to promote a better modularization of the variable features of the architecture of SPL during the creation of core and variability models of the approach. The services and sub-processes are responsible for combination automatically, through of process of transformation between the core and variability models, and the generation of new models that represent the implementation of the architecture of SPL or a instance model of SPL. Mechanisms for effective modularization of variability for architectures of SPL at model level. The concepts are described and measured with the execution of a case study of an SPL for management systems of transport electronic tickets
Resumo:
The way to deal with information assets means nowadays the main factor not only for the success but also for keeping the companies in the global world. The number of information security incidents has grown for the last years. The establishment of information security policies that search to keep the security requirements of assets in the desired degrees is the major priority for the companies. This dissertation suggests a unified process for elaboration, maintenance and development of information security policies, the Processo Unificado para Políticas de Segurança da Informação - PUPSI. The elaboration of this proposal started with the construction of a structure of knowledge based on documents and official rules, published in the last two decades, about security policies and information security. It's a model based on the examined documents which defines the needed security policies to be established in the organization, its work flow and identifies the sequence of hierarchy among them. It's also made a model of the entities participating in the process. Being the problem treated by the model so complex, which involves all security policies that the company must have. PUPSI has an interative and developing approach. This approach was obtained from the instantiation of the RUP - Rational Unified Process model. RUP is a platform for software development object oriented, of Rational Software (IBM group). Which uses the best practice known by the market. PUPSI got from RUP a structure of process that offers functionality, diffusion capacity and comprehension, performance and agility for the process adjustment, offering yet capacity of adjustment to technological and structural charges of the market and the company
Resumo:
El Análisis de Consumo de Recursos o Análisis de Coste trata de aproximar el coste de ejecutar un programa como una función dependiente de sus datos de entrada. A pesar de que existen trabajos previos a esta tesis doctoral que desarrollan potentes marcos para el análisis de coste de programas orientados a objetos, algunos aspectos avanzados, como la eficiencia, la precisión y la fiabilidad de los resultados, todavía deben ser estudiados en profundidad. Esta tesis aborda estos aspectos desde cuatro perspectivas diferentes: (1) Las estructuras de datos compartidas en la memoria del programa son una pesadilla para el análisis estático de programas. Trabajos recientes proponen una serie de condiciones de localidad para poder mantener de forma consistente información sobre los atributos de los objetos almacenados en memoria compartida, reemplazando éstos por variables locales no almacenadas en la memoria compartida. En esta tesis presentamos dos extensiones a estos trabajos: la primera es considerar, no sólo los accesos a los atributos, sino también los accesos a los elementos almacenados en arrays; la segunda se centra en los casos en los que las condiciones de localidad no se cumplen de forma incondicional, para lo cual, proponemos una técnica para encontrar las precondiciones necesarias para garantizar la consistencia de la información acerca de los datos almacenados en memoria. (2) El objetivo del análisis incremental es, dado un programa, los resultados de su análisis y una serie de cambios sobre el programa, obtener los nuevos resultados del análisis de la forma más eficiente posible, evitando reanalizar aquellos fragmentos de código que no se hayan visto afectados por los cambios. Los analizadores actuales todavía leen y analizan el programa completo de forma no incremental. Esta tesis presenta un análisis de coste incremental, que, dado un cambio en el programa, reconstruye la información sobre el coste del programa de todos los métodos afectados por el cambio de forma incremental. Para esto, proponemos (i) un algoritmo multi-dominio y de punto fijo que puede ser utilizado en todos los análisis globales necesarios para inferir el coste, y (ii) una novedosa forma de almacenar las expresiones de coste que nos permite reconstruir de forma incremental únicamente las funciones de coste de aquellos componentes afectados por el cambio. (3) Las garantías de coste obtenidas de forma automática por herramientas de análisis estático no son consideradas totalmente fiables salvo que la implementación de la herramienta o los resultados obtenidos sean verificados formalmente. Llevar a cabo el análisis de estas herramientas es una tarea titánica, ya que se trata de herramientas de gran tamaño y complejidad. En esta tesis nos centramos en el desarrollo de un marco formal para la verificación de las garantías de coste obtenidas por los analizadores en lugar de analizar las herramientas. Hemos implementado esta idea mediante la herramienta COSTA, un analizador de coste para programas Java y KeY, una herramienta de verificación de programas Java. De esta forma, COSTA genera las garantías de coste, mientras que KeY prueba la validez formal de los resultados obtenidos, generando de esta forma garantías de coste verificadas. (4) Hoy en día la concurrencia y los programas distribuidos son clave en el desarrollo de software. Los objetos concurrentes son un modelo de concurrencia asentado para el desarrollo de sistemas concurrentes. En este modelo, los objetos son las unidades de concurrencia y se comunican entre ellos mediante llamadas asíncronas a sus métodos. La distribución de las tareas sugiere que el análisis de coste debe inferir el coste de los diferentes componentes distribuidos por separado. En esta tesis proponemos un análisis de coste sensible a objetos que, utilizando los resultados obtenidos mediante un análisis de apunta-a, mantiene el coste de los diferentes componentes de forma independiente. Abstract Resource Analysis (a.k.a. Cost Analysis) tries to approximate the cost of executing programs as functions on their input data sizes and without actually having to execute the programs. While a powerful resource analysis framework on object-oriented programs existed before this thesis, advanced aspects to improve the efficiency, the accuracy and the reliability of the results of the analysis still need to be further investigated. This thesis tackles this need from the following four different perspectives. (1) Shared mutable data structures are the bane of formal reasoning and static analysis. Analyses which keep track of heap-allocated data are referred to as heap-sensitive. Recent work proposes locality conditions for soundly tracking field accesses by means of ghost non-heap allocated variables. In this thesis we present two extensions to this approach: the first extension is to consider arrays accesses (in addition to object fields), while the second extension focuses on handling cases for which the locality conditions cannot be proven unconditionally by finding aliasing preconditions under which tracking such heap locations is feasible. (2) The aim of incremental analysis is, given a program, its analysis results and a series of changes to the program, to obtain the new analysis results as efficiently as possible and, ideally, without having to (re-)analyze fragments of code that are not affected by the changes. During software development, programs are permanently modified but most analyzers still read and analyze the entire program at once in a non-incremental way. This thesis presents an incremental resource usage analysis which, after a change in the program is made, is able to reconstruct the upper-bounds of all affected methods in an incremental way. To this purpose, we propose (i) a multi-domain incremental fixed-point algorithm which can be used by all global analyses required to infer the cost, and (ii) a novel form of cost summaries that allows us to incrementally reconstruct only those components of cost functions affected by the change. (3) Resource guarantees that are automatically inferred by static analysis tools are generally not considered completely trustworthy, unless the tool implementation or the results are formally verified. Performing full-blown verification of such tools is a daunting task, since they are large and complex. In this thesis we focus on the development of a formal framework for the verification of the resource guarantees obtained by the analyzers, instead of verifying the tools. We have implemented this idea using COSTA, a state-of-the-art cost analyzer for Java programs and KeY, a state-of-the-art verification tool for Java source code. COSTA is able to derive upper-bounds of Java programs while KeY proves the validity of these bounds and provides a certificate. The main contribution of our work is to show that the proposed tools cooperation can be used for automatically producing verified resource guarantees. (4) Distribution and concurrency are today mainstream. Concurrent objects form a well established model for distributed concurrent systems. In this model, objects are the concurrency units that communicate via asynchronous method calls. Distribution suggests that analysis must infer the cost of the diverse distributed components separately. In this thesis we propose a novel object-sensitive cost analysis which, by using the results gathered by a points-to analysis, can keep the cost of the diverse distributed components separate.
Resumo:
A crescente complexidade dos sistemas tempo-real embarcados demanda novas metodologias e ferramentas para gerenciar os problemas de projeto, análise, integração e validação de sistemas complexos. Este trabalho aborda o tema co-projeto de sistemas tempo-real embarcados, propondo estratégias para a integração das fases iniciais de modelagem de um sistema tempo-real embarcado com as fases subseqüentes do projeto, como a implementação do software e do hardware. É proposto um framework orientado a objetos que permite a criação de modelos orientados a objetos de sistemas tempo-real embarcados, utilizando conceitos temporais similares aos propostos em UML-RT (ou mais especificamente no UML Profile for Schedulability, Performance and Time). É proposta uma estratégia de mapeamento dos requisitos temporais dos diagramas UMLRT para uma interface de programação (API) baseada na “Especificação Tempo-Real para Java” (Real-Time Specification for Java ou RTSJ), a qual pode ser executada tanto em software – em programas RTSJ executando em máquinas virtuais Java (JVM) tempo-real – ou em hardware – em processadores Java Tempo-Real. Para permitir o mapeamento para hardware são propostas extensões tempo-real ao processador Java FemtoJava, desenvolvido no âmbito de dissertações de mestrado e projetos de pesquisa no PPGC, criando-se um novo processador tempo-real denominado de RT-FemtoJava. Dentre as extensões propostas ao processador FemtoJava destaca-se a inclusão de um relógio de tempo-real e o suporte a instruções para alocação e manipulação de objetos. Os conceitos propostos foram validados no âmbito de estudos de caso, sendo os resultados obtidos descritos na presente dissertação.
Resumo:
Analizar la simulación educativa, las herramientas de programación que se utilizan en la docencia y los estilos de programación. Comprobar la idoneidad de la programación orientada a objetos para la creación de simulaciones educativas. Diseñar una herramienta idónea para producir programas de simulación para Primaria y Enseñanzas Medias. Es necesario diseñar una herramienta específica que facilite la producción de software de simulación para la enseñanza, que sea, a la vez, potente y flexible y responda a los principios de la programación estructurada. Dicha herramienta debe incorporar los elementos comunes de las simulaciones más frecuentemente utilizadas en la educación: objetos, acciones, decisiones y fondo, por lo que su estilo debe responder al propio de la programación orientada a objetos. Es posible diseñar esa herramienta que disminuya el nivel de conocimientos informáticos del docente necesarios. En el futuro debe comprobarse la posibilidad de desarrollar generadores similares pero no en base a Módula-2 sino en base a otros entornos, tales como Smalltalk. Se hace necesaria una investigación experimental para comprobar si estos generadores contribuyen al acercamiento del docente a las herramientas informáticas para la creación de herramientas didácticas, a la rapidez y abaratamiento de los costes del logro de ciertos objetivos didácticos y a la transferencia en el uso de otras utilidades informáticas en el aula.
Resumo:
Este texto apresenta um novo modelo multiparadigma orientado ao desenvolvimento de software distribuído, denominado Holoparadigma. O Holoparadigma possui uma semântica simples e distribuída. Sendo assim, estimula a modelagem subliminar da distribuição e sua exploração automática. A proposta é baseada em estudos relacionados com modelos multiparadigma, arquitetura de software, sistemas blackboard, sistemas distribuídos, mobilidade e grupos. Inicialmente, o texto descreve o modelo. Logo após, é apresentada a Hololinguagem, uma linguagem de programação que implementa os conceitos propostos pelo Holoparadigma. A linguagem integra os paradigmas em lógica, imperativo e orientado a objetos. Além disso, utiliza um modelo de coordenação que suporta invocações implícitas (blackboard) e explícitas (mensagens). A Hololinguagem suporta ainda, concorrência, modularidade, mobilidade e encapsulamento de blackboards em tipos abstratos de dados. Finalmente, o texto descreve a implementação da Holoplataforma, ou seja, uma plataforma de desenvolvimento e execução para a Hololinguagem. A Holoplataforma é composta de três partes: uma ferramenta de conversão de programas da Hololinguagem para Java (ferramenta HoloJava), um ambiente de desenvolvimento integrado (ambiente HoloEnv) e um plataforma de execução distribuída (plataforma DHolo).
Resumo:
The spread of wireless networks and growing proliferation of mobile devices require the development of mobility control mechanisms to support the different demands of traffic in different network conditions. A major obstacle to developing this kind of technology is the complexity involved in handling all the information about the large number of Moving Objects (MO), as well as the entire signaling overhead required to manage these procedures in the network. Despite several initiatives have been proposed by the scientific community to address this issue they have not proved to be effective since they depend on the particular request of the MO that is responsible for triggering the mobility process. Moreover, they are often only guided by wireless medium statistics, such as Received Signal Strength Indicator (RSSI) of the candidate Point of Attachment (PoA). Thus, this work seeks to develop, evaluate and validate a sophisticated communication infrastructure for Wireless Networking for Moving Objects (WiNeMO) systems by making use of the flexibility provided by the Software-Defined Networking (SDN) paradigm, where network functions are easily and efficiently deployed by integrating OpenFlow and IEEE 802.21 standards. For purposes of benchmarking, the analysis was conducted in the control and data planes aspects, which demonstrate that the proposal significantly outperforms typical IPbased SDN and QoS-enabled capabilities, by allowing the network to handle the multimedia traffic with optimal Quality of Service (QoS) transport and acceptable Quality of Experience (QoE) over time.
Resumo:
Cada día vemos cómo la programación orientada a objetos se consolida más en todas las áreas de aplicación de la informática. Ya no solamente se utiliza para el desarrollo de interfases gráficas usuario sino también en bases de datos, sistemas operativos, software de comunicaciones, desarrollo de aplicaciones en ambientes de red, software de gestión comercial, etc. En la programación estructurada tradicional, las funciones y los datos se manejan de forma separada, mientras que en la programación orientada a objetos las funciones y los datos están fuertemente ligados en entes llamados objetos. Al utilizar esta nueva filosofía de programación, se codifican la estructura y el comportamiento de los diferentes objetos, como también las relaciones e interacciones que existen entre ellos
Resumo:
Estimativa da ASA. Descrição do método utilizado. Modelo orientado a objetos proposto.
Resumo:
[Tesis] (Maestría en Informática Administrativa) U.A.N.L.
Resumo:
Desarrollar sistemas formativos de autor generadores de programas educativos de tipo tutorial. Desarrolla herramientas de producción útiles y fáciles de usar para este software. Mediante el seguimiento de dos fases bien diferenciadas se llega a un diseño arquitectónico al que sigue el diseño detallado y la implementación. Cada fase consiste en una serie de pasos sucesivos con los que mediante una mezcla de actividades de análisis y diseño se van creando y refinando la jerarquía de clases del sistema. También se comtempla la posibilidad de automatización de cada paso, habiendo creado diversas herramientas de ayuda para las distintas tareas del proceso. La metodología se centra en los fundamentos del diseño orientado a objetos, pero incluye características propias. Facilita el proceso de creación de software y, en particular, crea sistemas de enseñanza asistida por ordenador.
Resumo:
Esta investigación se propone facilitar una arquitectura software para la construcción de un sistema capaz de localizar objetos de aprendizaje de forma universal para integrarlos en un sistema de teleformación. Estos sistemas utilizan objetos de aprendizaje que residen en repositorios, accesibles a través de una red de comunicaciones. El objetivo de un repositorio es facilitar la reutilización de dichos recursos educativos, facilitando su acceso. Para reutilizar un objeto de aprendizaje debe ajustarse a algún estándar de etiquetado de metadatos. Los sistemas de teleformación emplean Internet como medio de comunicación de contenidos, sin hacer uso de otras posibilidades. En ellos se integran contenidos almacenados en un repositorio con las herramientas que ayudan a la docencia, y suele ser habitual que no accedan a repositorios externos. La arquitectura existente dificulta la evolución de su desarrollo y accesibilidad. Es necesaria una arquitectura realmente distribuida, en la que cada elemento sea capaz de interactuar con los otros. Se debe sustentar en metadatos asociados a objetos docentes y en protocolos, para poder modificar las herramientas actuales. Se propone la definición de un marco funcional y arquitectónico para la adaptación de un sistema, implementado sobre servicios web y basado en una arquitectura orientada a servicios, que asegure la interoperabilidad entre repositorios de objetos de aprendizaje y que favorezca su reutilización.. En este trabajo, en primer lugar, se analiza el estado actual de los sistemas de teleformación. Se hace hincapié en el estudio de los repositorios que los sustentan y de los estándares que indican cómo construirlos. Se señalan las limitaciones existentes y se definen propuestas para superarlas. Se propone una arquitectura en capas que ha de satisfacer unos requisitos que deberán considerarse en cualquier sistema que se base en dicha arquitectura. Además se definen los componentes necesarios de la arquitectura para asegurar la funcionalidad requerida, el flujo de información y las relaciones entre ellos. Para validar la arquitectura propuesta, se describe un prototipo real creado a partir de los principios propuestos.. En último lugar se exponen las conclusiones y trabajos futuros relacionados con los temas abordados. Se incluyen las fuentes documentales empleadas, sin exhaustividad, dado que el contexto de este trabajo está sometido a cambios continuos..
Resumo:
La orientación a objetos facilita el desarrollo de software a gran escala y de calidad. A pesar de su uso extendido, la enseñanza de la orientación a objetos no está exenta de dificultades.. Esta se fundamenta en una sólida base de conceptos elementales sobre la que se añaden experiencias de diseño de aplicaciones orientadas a objetos. Existen un elevado número de herramientas basadas en visualizaciones interactivas que dan soporte a la docencia de la enseñanza de la orientación a objetos. Sin embargo, habitualmente estas herramientas no proporcionan soporte para actividades de diseño ni promueven la realización de tareas en colaboración. El elevado valor pedagógico de técnicas de aprendizaje activo, como el juego de roles en sesiones de diseño orientado a objetos, conduce al estudio de la aplicabilidad del juego de roles en entornos virtuales como ayuda a la enseñanza de la orientación a objetos. En esta tesis se realiza una propuesta de entornos virtuales de juego de roles, con gran capacidad de interacción, en los que se pueden realizar actividades similares a las desempeñadas en sesiones presenciales de juego de roles, y se diseña una arquitectura de alto nivel para entornos virtuales de juego de roles, que facilita el desarrollo de entornos que usan estos juegos en los que se emplean diferentes alternativas pedagógicas para controlar y evaluar las sesiones desempeñadas por los alumnos. Se comprueba la propuesta recogida en este trabajo mediante dos instanciaciones diferentes, la instanciación es la acción opuesta de la abstracción, de los entornos virtuales de juego de roles. Éstas están acompañadas de sendos prototipos sobre los que se evalúa la idoneidad del traslado de los principales elementos de las sesiones de juegos de roles a un entorno virtual..
Resumo:
O objetivo da pesquisa atém-se primeiramente em elaborar um protocolo que permita analisar, por meio de um conjunto de indicadores, o processo de reutilização de software no desenvolvimento de sistemas de informação modelando objetos de negócios. O protocolo concebido compõe-se de um modelo analítico e de grades de análise, a serem empregadas na classificação e tabulação dos dados obtidos empiricamente. Com vistas à validação inicial do protocolo de análise, realiza-se um estudo de caso. A investigação ocorre num dos primeiros e, no momento, maior projeto de fornecimento de elementos de software reutilizáveis destinados a negócios, o IBM SANFRANCISCO, bem como no primeiro projeto desenvolvido no Brasil com base no por ele disponibilizado, o sistema Apontamento Universal de Horas (TIME SHEET System). Quanto à aplicabilidade do protocolo na prática, este se mostra abrangente e adequado à compreensão do processo. Quanto aos resultados do estudo de caso, a análise dos dados revela uma situação em que as expectativas (dos pesquisadores) de reutilização de elementos de software orientadas a negócio eram superiores ao observado. Houve, entretanto, reutilização de elementos de baixo nível, que forneceram a infra-estrutura necessária para o desenvolvimento do projeto. Os resultados contextualizados diante das expectativas de reutilização (dos desenvolvedores) são positivos, na medida em que houve benefícios metodológicos e tecnológicos decorrentes da parceria realizada. Por outro lado, constatam-se alguns aspectos restritivos para o desenvolvedor de aplicativos, em virtude de escolhas arbitrárias realizadas pelo provedor de elementos reutilizáveis.