966 resultados para Metodologia orientada a objetos
Resumo:
No escopo deste trabalho é apresentada uma infra- estrutura orientada a objetos, desenvolvida no âmbito do projeto proposto por massuruhá(2004), que suporta via web a abordagem integrada para diágnostico, investigação e tratamento de desordens proposta em massruhá(2003). Nesta nova abordagem, o conhecimento é basicamente modelado através de associações causais entre objrtos e a inferência é abdutiva.Conceitos de parsimonious covering theory(pct), lógica nebulosa e teoria de decisão são também integrados, de maneira a tratar os vários aspectos inerentes aos processos envolvidos em raciocínio clínico. A validação do modelo teórico foi realizada em fitopatologia, abordando especificamente a diagnose, investigação e tratamento de doenças de milho.Entretanto, devido a sua generalidade, espera-se que os desenvolvimentos teóricos obtidos possam ser aplicados para resolver problemas de diagnóstico tanto na área vegetal quanto na área animal.Termos para indexação: inferência abdutiva, lógica nebulosa, orientação a objetos, sistemas especialistas, representação do conhecimento, doenças de plantas.
Resumo:
Visibilidade de membros de classes. Funções. Funções amigas. Sobrecarga de operadores. Hierarquia de classes. Classes abstratas. Criação e destruição de objetos. Alocação e liberação dinâmica de objetos. Atribuição e iniciação de objetos. Modelos de classes (Templates).
Resumo:
Proyecto realizado en la Universidad Pontificia de Salamanca por cuatro profesores que trabajan en la Escuela Universitaria de Informática. El objetivo principal del proyecto es la elaboración de un soporte bibliográfico para la adquisición de conocimientos sobre las estructuras de datos. Además se pretendía proporcionar una referencia para la realización de aplicaciones informáticas basadas en estructuras de datos. El sistema de trabajo arrancó de la recopilación y estudio de los diversos materiales y referencias existentes, diseccionádolos en contenido teórico y contenido práctico. Partiendo de este planteamiento se han elaborado los temas teóricos junto con las implementaciones de cada tema, añadiéndo enunciados tipo de los ejercicios de estructuras de datos y su resolución (en una alto porcentaje). Finalmente se recopilaron todas las referencias bibliográficas. Los resultados alcanzados pretenden favorecer el aprendizaje de los alumnos así como disminuir el fracaso anterior. Los resultados alcanzados se presentan en dos tomos, el primero recoge: el índice y la implementación clásica; el segundo: la implementación orientada a objetos, los ejercicios y la bibliografía. Los materiales utilizados han sido: ordenador portatil, programas de software, artículos de investigación y referencias bibliográficas. Material no publicado.
Resumo:
Independentemente do modelo de programação adotado, no projeto e implementação de aplicações de alta disponibilidade, faz-se necessário usar procedimentos de tolerância a falhas. Dentre as atividades que trazem consigo interesse de pesquisa na área de Tolerância a Falhas, estão os mecanismos de recuperação em um sistema computacional. Do ponto de vista prático, estes mecanismos buscam manter próximo do mínimo o tempo total de execução de aplicações computacionais de longa duração, ao mesmo tempo em que as preparam para não sofrerem perdas significativas de desempenho, em caso de falhas. Paralelamente à evolução dos sistemas computacionais, foi possível observar também a evolução das linguagens de programação, principalmente as que utilizam o paradigma orientado a objetos. O advento da área de tolerância a falhas na orientação a objetos resultou em novos problemas na atividade de recuperação quanto aos mecanismos de salvamento de estados e retomada da execução, principalmente no que se refere às dificuldades de gerenciamento e controle sobre a alocação de objetos. Entretanto, observa-se que a complexidade de implementação dos mecanismos de recuperação, por parte dos programadores, exige deles conhecimentos mais especializados para o salvamento dos estados da aplicação e para a retomada da execução. Portanto, a simplificação do trabalho do programador, através do uso de uma biblioteca de checkpointing que implemente os mecanismos de salvamento de estados e recuperação é o ponto focal deste trabalho. Diante do contexto exposto, nesta dissertação, são definidas e implementadas as classes de uma biblioteca que provê mecanismos de checkpointing e recuperação. Esta biblioteca, denominada de Libcjp, visa aprimorar o processo de recuperação de aplicações orientadas a objetos escritas na linguagem de programação Java. Esta linguagem foi escolhida para implementação devido à presença dos recursos de persistência e serialização. Para a concepção do trabalho, são considerados ambos os cenários no paradigma orientado a objetos: objetos centralizados e distribuídos. São utilizados os recursos da API de serialização Java e a tecnologia Java RMI para objetos distribuídos. Conclui-se o trabalho com a ilustração de casos de uso através de diversos exemplos desenvolvidos a partir de seus algoritmos originais inicialmente, e incrementados posteriormente com os mecanismos de checkpointing e recuperação. Os componentes desenvolvidos foram testados quanto ao cumprimento dos seus requisitos funcionais. Adicionalmente, foi realizada uma análise preliminar sobre a influência das ações de checkpointing nas características de desempenho das aplicações.
Resumo:
Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES)
Resumo:
Através do uso da programação em linguagem orientada a objetos e, aplicando-se uma técnica de programação específica, é possível gerar um conjunto de classes genéricas cujos objetos representam cada bloco de um controlador fuzzy e também suas variáveis linguísticas. Tais classes, sendo aplicadas de forma sistemática, facilitam a programação de uma variedade de controladores desta natureza. Este trabalho apresenta a referida técnica e mostra os resultados obtidos através de um modelo simulado de um pêndulo rotacional invertido que é controlado por um sistema de controle composto por três controladores fuzzy, projetados e construídos sob este ponto de vista.
Resumo:
Las pruebas de software (Testing) son en la actualidad la técnica más utilizada para la validación y la evaluación de la calidad de un programa. El testing está integrado en todas las metodologías prácticas de desarrollo de software y juega un papel crucial en el éxito de cualquier proyecto de software. Desde las unidades de código más pequeñas a los componentes más complejos, su integración en un sistema de software y su despliegue a producción, todas las piezas de un producto de software deben ser probadas a fondo antes de que el producto de software pueda ser liberado a un entorno de producción. La mayor limitación del testing de software es que continúa siendo un conjunto de tareas manuales, representando una buena parte del coste total de desarrollo. En este escenario, la automatización resulta fundamental para aliviar estos altos costes. La generación automática de casos de pruebas (TCG, del inglés test case generation) es el proceso de generar automáticamente casos de prueba que logren un alto recubrimiento del programa. Entre la gran variedad de enfoques hacia la TCG, esta tesis se centra en un enfoque estructural de caja blanca, y más concretamente en una de las técnicas más utilizadas actualmente, la ejecución simbólica. En ejecución simbólica, el programa bajo pruebas es ejecutado con expresiones simbólicas como argumentos de entrada en lugar de valores concretos. Esta tesis se basa en un marco general para la generación automática de casos de prueba dirigido a programas imperativos orientados a objetos (Java, por ejemplo) y basado en programación lógica con restricciones (CLP, del inglés constraint logic programming). En este marco general, el programa imperativo bajo pruebas es primeramente traducido a un programa CLP equivalente, y luego dicho programa CLP es ejecutado simbólicamente utilizando los mecanismos de evaluación estándar de CLP, extendidos con operaciones especiales para el tratamiento de estructuras de datos dinámicas. Mejorar la escalabilidad y la eficiencia de la ejecución simbólica constituye un reto muy importante. Es bien sabido que la ejecución simbólica resulta impracticable debido al gran número de caminos de ejecución que deben ser explorados y a tamaño de las restricciones que se deben manipular. Además, la generación de casos de prueba mediante ejecución simbólica tiende a producir un número innecesariamente grande de casos de prueba cuando es aplicada a programas de tamaño medio o grande. Las contribuciones de esta tesis pueden ser resumidas como sigue. (1) Se desarrolla un enfoque composicional basado en CLP para la generación de casos de prueba, el cual busca aliviar el problema de la explosión de caminos interprocedimiento analizando de forma separada cada componente (p.ej. método) del programa bajo pruebas, almacenando los resultados y reutilizándolos incrementalmente hasta obtener resultados para el programa completo. También se ha desarrollado un enfoque composicional basado en especialización de programas (evaluación parcial) para la herramienta de ejecución simbólica Symbolic PathFinder (SPF). (2) Se propone una metodología para usar información del consumo de recursos del programa bajo pruebas para guiar la ejecución simbólica hacia aquellas partes del programa que satisfacen una determinada política de recursos, evitando la exploración de aquellas partes del programa que violan dicha política. (3) Se propone una metodología genérica para guiar la ejecución simbólica hacia las partes más interesantes del programa, la cual utiliza abstracciones como generadores de trazas para guiar la ejecución de acuerdo a criterios de selección estructurales. (4) Se propone un nuevo resolutor de restricciones, el cual maneja eficientemente restricciones sobre el uso de la memoria dinámica global (heap) durante ejecución simbólica, el cual mejora considerablemente el rendimiento de la técnica estándar utilizada para este propósito, la \lazy initialization". (5) Todas las técnicas propuestas han sido implementadas en el sistema PET (el enfoque composicional ha sido también implementado en la herramienta SPF). Mediante evaluación experimental se ha confirmado que todas ellas mejoran considerablemente la escalabilidad y eficiencia de la ejecución simbólica y la generación de casos de prueba. ABSTRACT Testing is nowadays the most used technique to validate software and assess its quality. It is integrated into all practical software development methodologies and plays a crucial role towards the success of any software project. From the smallest units of code to the most complex components and their integration into a software system and later deployment; all pieces of a software product must be tested thoroughly before a software product can be released. The main limitation of software testing is that it remains a mostly manual task, representing a large fraction of the total development cost. In this scenario, test automation is paramount to alleviate such high costs. Test case generation (TCG) is the process of automatically generating test inputs that achieve high coverage of the system under test. Among a wide variety of approaches to TCG, this thesis focuses on structural (white-box) TCG, where one of the most successful enabling techniques is symbolic execution. In symbolic execution, the program under test is executed with its input arguments being symbolic expressions rather than concrete values. This thesis relies on a previously developed constraint-based TCG framework for imperative object-oriented programs (e.g., Java), in which the imperative program under test is first translated into an equivalent constraint logic program, and then such translated program is symbolically executed by relying on standard evaluation mechanisms of Constraint Logic Programming (CLP), extended with special treatment for dynamically allocated data structures. Improving the scalability and efficiency of symbolic execution constitutes a major challenge. It is well known that symbolic execution quickly becomes impractical due to the large number of paths that must be explored and the size of the constraints that must be handled. Moreover, symbolic execution-based TCG tends to produce an unnecessarily large number of test cases when applied to medium or large programs. The contributions of this dissertation can be summarized as follows. (1) A compositional approach to CLP-based TCG is developed which overcomes the inter-procedural path explosion by separately analyzing each component (method) in a program under test, stowing the results as method summaries and incrementally reusing them to obtain whole-program results. A similar compositional strategy that relies on program specialization is also developed for the state-of-the-art symbolic execution tool Symbolic PathFinder (SPF). (2) Resource-driven TCG is proposed as a methodology to use resource consumption information to drive symbolic execution towards those parts of the program under test that comply with a user-provided resource policy, avoiding the exploration of those parts of the program that violate such policy. (3) A generic methodology to guide symbolic execution towards the most interesting parts of a program is proposed, which uses abstractions as oracles to steer symbolic execution through those parts of the program under test that interest the programmer/tester most. (4) A new heap-constraint solver is proposed, which efficiently handles heap-related constraints and aliasing of references during symbolic execution and greatly outperforms the state-of-the-art standard technique known as lazy initialization. (5) All techniques above have been implemented in the PET system (and some of them in the SPF tool). Experimental evaluation has confirmed that they considerably help towards a more scalable and efficient symbolic execution and TCG.
Resumo:
El objetivo de este documento es presentar dos aproximaciones generales a la axiomatización de clases y conjuntos. De una parte, la aproximación matemáticas, mostrando el origen, evolución y desarrollo de la teoría matemática de clases y conjuntos, sin formular completamente el desarrollo axiomático, sólo mostrando los conceptos básicos y las crisis generadas por ellos y la solución más usualmente aceptada. Por otra parte, la aproximación dada por el paradigma orientado a objetos, siguiendo especialmente la línea marcada por el lenguaje smalltalk-80
Resumo:
Java es un lengua de programación orientado a objetos desarrollados por Sun Microsystems a principios de la década de los años 90. Java es inspirado en gran parte de C++ y a un nivel menor de Objective C y Smaltalk. Según la Sun Microsystems, Java fue creado inicial mente porque C++ no era adecuado para ciertas tareas. El éxito del lenguaje empieza en 1995, cuando Netscape anuncio que su visualizador, Navigator, trabajaría con programas Java insertados en las páginas Web. La idea era ofrecer a los desarrolladores de páginas HTML, una forma de crear documentos interactivos y animados.
Resumo:
Esta tese apresenta uma metodologia flexível orientada a objetos (OO) para a aplicação no projeto e implementação de sistemas de software utilizados na realização de estudos dinâmicos de sistemas elétricos de grande porte. A metodologia OO proposta objetiva tornar mais simples o desenvolvimento, a atualização e a manutenção de complexos sistemas de software para estudos de transitórios eletromecânicos em sistemas elétricos de potência. Os requisitos de usuário são mapeados para um conjunto de classes básicas, as quais são usadas para efetuar a modelagem de dispositivos dinâmicos tais como geradores elétricos. Para avaliação da metodologia foram realizados dois estudos de casos. No primeiro estudo caso o Framework foi aplicado na simulação das unidades geradoras da Usina Hidrelétrica de Tucuruí. Os resultados da simulação foram comparados com medições obtidos em ensaios no campo e mostrou a boa performance do Framework na reprodução dos fenômenos eletromecânicos desta usina de grande porte. No segundo estudo de caso, por outro lado, o Framework foi aplicado na modelagem de um sistema de geração fotovoltaico (PV) com seu sistema de Rastreamento da Potência Máxima (MPPT). O controle MPPT foi implementado usando técnicas digitais. Os resultados das simulações demonstram a performance do Framework na modelagem do sistema de controle de corrente, assim como no controle MPPT, dos sistemas de geração PV.
Resumo:
Na década de 80, o surgimento de programas de computadores mais amigáveis para usuários e produtores de informação e a evolução tecnológica fizeram com que as instituições, públicas e privadas, se aperfeiçoassem em estudos sobre sistemas de produção cartográfica apoiados por computador, visando a implementação de Sistemas de Informação Geográfica (SIG). A pouca simultaneidade de forças entre órgãos interessados, resultou em uma grande quantidade de arquivos digitais com a necessidade de padronização. Em 2007, a Comissão Nacional de Cartografia (CONCAR) homologou a Estrutura de Dados Geoespaciais Vetoriais (EDGV) a fim de minimizar o problema da falta de padronização de bases cartográficas. A presente dissertação tem como foco elaborar uma metodologia de trabalho para o processo de conversão de bases cartográficas digitais existentes no padrão da Mapoteca Topográfica Digital (MTD), do Instituto Brasileiro de Geografia e Estatística (IBGE), para o padrão da EDGV, bem como suas potencialidades e limitações para integração e padronização de bases cartográficas digitais. Será feita uma aplicação da metodologia utilizando a carta topográfica de Saquarema, na escala de 1:50.000, vetorizada na Coordenação de Cartografia (CCAR) do IBGE e disponível na Internet. Como a EDGV foi elaborada segundo técnicas de modelagem orientada a objetos, foi necessário um mapeamento para banco de dados relacional, já que este ainda é utilizado pela maioria dos usuários e produtores de informação geográfica. Um dos objetivos específicos é elaborar um esquema de banco de dados, ou seja, um banco de dados vazio contendo todas as classes de objetos, atributos e seus respectivos domínios existentes na EDGV para que possa ser utilizado no processo de produção cartográfica do IBGE. Este esquema conterá todas as descrições dos objetos e de seus respectivos atributos, além de já permitir que o usuário selecione o domínio de um determinado atributo em uma lista pré definida, evitando que ocorra erro no preenchimento dados. Esta metodologia de trabalho será de grande importância para o processo de conversão das bases cartográficas existentes no IBGE e, com isso, gerar e disponibilizar bases cartográficas no padrão da EDGV.
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:
Neste trabalho apresenta-se um método de desenvolvimento integrado baseado no paradigma de orientação a objetos, que visa abordar todo o ciclo de desenvolvimento de uma aplicação tempo real. Na fase de especificação o método proposto baseia-se no uso de restrições temporais padronizadas pelo perfil da UML-TR, sendo que uma alternativa de mapeamento destas restrições para o nível de programação é apresentada. Este mapeamento serve para guiar a fase de projeto, onde utilizou-se como alvo a interface de programação orientada a objetos denominada TAFT-API, a qual foi projetada para atuar junto ao ambiente de execução desenvolvido no âmbito desta tese. Esta API é baseada na especificação padronizada para o Java-TR. Este trabalho também discute o ambiente de execução para aplicações tempo real desenvolvido. Este ambiente faz uso da política de escalonamento tolerante a falhas denominada TAFT (Time-Aware Fault- Tolerant). O presente trabalho apresenta uma estratégia eficiente para a implementação dos conceitos presentes no escalonador TAFT, que garante o atendimento a todos os deadlines mesmo em situações de sobrecarga transiente. A estratégia elaborada combina algoritmos baseados no Earliest Deadline, sendo que um escalonador de dois níveis é utilizado para suportar o escalonamento combinado das entidades envolvidas. Adicionalmente, também se apresenta uma alternativa de validação dos requisitos temporais especificados. Esta alternativa sugere o uso de uma ferramenta que permite uma análise qualitativa dos dados a partir de informações obtidas através de monitoração da aplicação. Um estudo de caso baseado em uma aplicação real é usado para demonstrar o uso da metodologia proposta.
Resumo:
O professor apresenta as funcionalidades e estrutura de Orientação a Objeto. Ilustra como surgiu orientação a objeto, o que ela representa nas linguagens de programação e as estruturas de uma linguagem de programação orientada a objeto.
Resumo:
O professor apresenta as funções de orientação a objeto e ilustra como podem ser acessadas e realizadas as funções de orientação a objeto.