Spelling suggestions: "subject:"orientador""
71 |
Incorporação do tipo de dado imagem em um banco de dados orientado a objetos / Supporting images in an object-oriented databaseSantos, Rildo Ribeiro dos 26 November 1997 (has links)
Os Sistemas de Armazenamento e Comunicação de Imagens Médicas fornecem, para os físicos, médicos e técnicos de um centro de saúde, informações gráficas sobre vários aspectos envolvidos no diagnóstico de cada paciente. Atualmente, os exames médicos produzem uma grande quantidade de informação em função dos equipamentos médicos computadorizados, utilizados principalmente para se obter dados imagens internas dos pacientes. Este trabalho descreve os conceitos utilizados em Sistema de Banco de Dados Orientado a Objetos para manipular imagens medicas, de tal forma que possam ser recuperadas através de consultas, baseadas na descrição de seu conteúdo gráfico. A abordagem tradicional utiliza ícones e atributos textuais, armazenados juntamente com as imagens, para especificar as consultas. Este trabalho utiliza uma nova técnica de modelagem para definir o \"tipo de dado imagem\", que permite decidir, anteriormente à execução da consulta, os dados que possam ser significativos para cada imagem, no instante que esta é armazenada no Banco de Dados. Desta forma, a busca por uma determinada informação pode ser acelerada. durante a avaliação de uma consulta. / Picture Archiving and Communication System (PACS) applied in medical image storage provides graphical information of many aspects of the health, diseases and treatment of each patient for the physician and technicians of a health care center. Nowadays, medical exams can generate a large amount of data due to the computerized medical instruments used to collect the graphical information about the patients. This work describes the concepts used in an Object Oriented Data Base System to deal with medical images, so that it can be retrieved through queries based on the graphic contents of the stored images. The usual approach uses icons and textual attributes stored with the images to specify the queries. This work uses a novel modeling technique to define the \"image data type\", through which it is possible to decide, beforehand the query itself, the valuable data of each image when it is stored in the database, so the search can be accelerated when queries are issued.
|
72 |
CoMDD: uma abordagem colaborativa para auxiliar o desenvolvimento orientado a modelos / CoMDD: a collaborative model driven development approachFernandes Neto, David 01 June 2012 (has links)
O desenvolvimento orientado a modelos (Model Driven Development - MDD) é uma abordagem que tem ganhado cada vez mais espaço na indústria e na academia, trazendo grandes benefícios, como o aumento de produtividade. Uma forma de se trabalhar usando MDD em equipe é usando uma IDE (Integrated Development Environment) associada a um sistema de versionamento. Entretanto, trabalhar colaborativamente usando uma IDE associada a um sistema de versionamento pode trazer algumas complicações para o desenvolvimento como: conflitos de modelos, documentação descontinuada, dificuldades por parte dos interessados em usar sistemas de versionamento, etc. Nesse contexto, este trabalho propõe uma abordagem de uso de wiki para desenvolvimento de MDD, de modo que o desenvolvedor seja capaz de criar modelos, gerar código fonte, compartilhar e versionar os modelos e ainda documentar colaborativamente, de maneira mais simples e fácil do que abordagens tradicionais. Isso possibilita que mais usuários não desenvolvedores possam participar mais no processo de desenvolvimento e ainda permite o aumento de produtividade. Para tentar evidenciar de que é possível uma wiki ser usada para desenvolver software, foi criada uma Domain Specific Language - DSL em uma wiki e foram realizados três estudos de caso: um com estudantes do ensino médio e que representam os não desenvolvedores, um com quatro alunos de pós-graduação com experiência de desenvolvimento na indústria e o último estudo de caso foi realizado com 48 participantes entre desenvolvedores e alunos de pósgraduação em Ciências da Computação. Os estudos de caso mostraram que é viável usar uma wiki para desenvolvimento, que não desenvolvedores se adaptam bem à abordagem e que 86% dos desenvolvedores usariam a abordagem proposta se tivessem que trabalhar com MDD. Os estudos de caso também levantaram as principais barreiras para aumentar a aceitação da abordagem. Com isso, este trabalho apresenta além de uma abordagem relativamente inédita na literatura, resultados sobre uso de sistemas de versionamento, de IDEs e de desenvolvimento colaborativo / The Model Driven Development (MDD) is an approach that has gained more space in industry and academia, bringing great benefits such as increased productivity. One way of working in teams with MDD is using an IDE (Integrated Development Environment) with a versioning system. However, to collaboratively work with an IDE and a versioning system may have implications and problems for the development as: conflicts of models, documentation discontinued, difficulties for stakeholders to use versioning systems, etc. In this context, this work proposes an approach to use a wiki to develop MDD, so that the developer is able to create models, generate source code, sharing and versioning models and also to collaboratively document, in a more simple and easy way than the traditional approaches. This enables non developers can participate more in the development process and also allows increasing productivity. To try to show that a wiki can be used to develop software, we created a Domain Specific Language (DSL) in a wiki and were performed three case studies: one with high school students and represent the non developers, another one with four graduate students with experience in software development in the industry, and the last case study was conducted with 48 participants among developers and graduate students in Computer Science. The case studies showed the feasibility of using a wiki for development, that non developers adapted well to the approach and 86 % of the developers would use a wiki to develop MDD. The study also raised the main barriers to increase the acceptance of the approach. Therefore, this work presents also a relatively new approach in the literature and results on the use of versioning systems, IDEs and collaboratively development
|
73 |
Otimização de projeto orientado ao desempenho em arquitetura / Otimização de projeto orientado ao desempenho em arquiteturaDigiandomenico, Dyego da Silva 20 May 2019 (has links)
O processo de projeto de arquitetura, engenharia e construção (AEC) tem evoluído consideravelmente com a finalidade de responder à complexidade dos sistemas interconectados de um edifício (TOULOUPAKI e THEODOSIOU, 2017). Vêm sendo solicitados à arquitetura contemporânea, processos de projeto capazes de quantificar e qualificar o maior número de variáveis presentes nos sistemas de um edifício, com a intenção de balancear suas dinâmicas e inter-relações (SHI e YANG 2013). A presente pesquisa utiliza o processo de projeto orientado ao desempenho como condutor de sua investigação. Os projetos e pesquisas que exploram o desempenho através da otimização de projetos em AEC são predominantemente internacionais. Além desse aspecto, grande parte dos processos e seus conjuntos de procedimentos não são publicados, especialmente os métodos para gerar os algoritmos utilizados. Muitas destas não detalham, tampouco disponibilizam suas implementações. Tal condição impossibilita conclusões seguras sobre as características das otimizações produzidas, dificulta a reprodução dos métodos e desampara discussões sobre soluções alternativas. Desta maneira, torna-se reduzida a reflexão na arquitetura sobre quais métodos são mais apropriados para a otimização de determinados problemas do projeto arquitetônico (WORTMANN et al., 2015). Neste contexto, a presente pesquisa estrutura-se na metodologia Design Science (SIMON, 1996), dada sua natureza de produção de conhecimento através da abordagem pragmática e interdisciplinar, envolvendo conteúdo da arquitetura e da ciência da computação. Pode-se por fim afirmar que com o apoio da metodologia empregada na presente pesquisa, desde a revisão bibliográfica ao plug-in ArchOptimum desenvolvido nos experimentos realizados, obteve-se resultados que colaboram com a compreensão e abertura dos potenciais da associação entre a arquitetura e a ciência da computação através do design computacional. / The architecture, engineering, and construction (AEC) design process has evolved considerably in order to respond to the complexity of the interconnected building systems (TOULOUPAKI and THEODOSIOU, 2017). In contemporary architecture, computational design processes are capable of quantifying and qualifying better variables present in the building, balancing their dynamics and interrelationships (SHI and YANG 2013). This research uses the process of Performance-oriented Architectural Design as the driver of its investigation. Research and projects in AEC that explore performance through optimization are predominantly international. In addition, most of the processes and their sets of procedures are not published, especially the methods to generate the algorithms used. Many of these do not detail and make their implementations available. This makes it impossible to secure conclusions about the characteristics of the optimizations produced, makes it difficult to reproduce the methods, and disregards discussions about alternative solutions. These facts reduce the reflection on which methods are more appropriate for the optimization of specific problems of the architectural design (WORTMANN et al., 2015). In this context, the present research is structured in the Design Science methodology (SIMON, 1996), given its nature of knowledge production through the pragmatic and interdisciplinary approach, involving the content of architecture and computer science. Finally, it is possible to state that with the support of the methodology used in the present research, from the bibliographic review to the ArchOptimum plug-in developed in the experiments, we obtained results that collaborate with the understanding and opening the potencies of the association between architecture and computer science through Computational Design.
|
74 |
Uma arquitetura para monitoramento de banco de dados e recomendações utilizando sistema de banco de dados ativosSantos, Paulo Henrique dos 29 August 2014 (has links)
O monitoramento de forma integrada pode se tornar complexo em ambientes com bancos de dados heterogêneos, devido às particularidades na sintaxe e em ferramentas disponíveis. Em particular, bancos de dados ativos permitem o desenvolvimento de mecanismos e a automação de processos que envolvam os dados ou objetos. Este trabalho propõe o desenvolvimento de uma arquitetura para identificar e monitorar eventos DDL (Data Definition Language), utilizando a abordagem de banco de dados ativos e recomendação. As aplicações desta arquitetura variam desde o simples monitoramento de eventos DDL em um ou mais bancos de dados, até a recomendação de possíveis configurações ou mudanças que podem ser realizadas no banco de dados monitorado. Neste contexto, essa dissertação propõe: (i) uma arquitetura integrada de banco de dados ativos e recomendação; (ii) a adaptação de um algoritmo de recomendação; e (iii) a validação dos conceitos aplicados através de um protótipo. / Integrated environments monitoring can become complex with heterogeneous databases, due to the particularities in the language syntax and available tools. In particular, active databases allow developing mechanisms and automation of processes involving data or objects. This work proposes the development of an architecture to identify and monitor DDL (Data Definition Language), exploring the active databases and recommendations approach. This architecture could be explored in several ways: simple monitoring of DDL events in one or more databases, or recommendation of future DDLs or settings within the monitored database. In this context, this work proposes: (i) an integrated architecture of active databases and recommendation; (ii) the adaptation of a recommendation algorithm; and (iii) the validation of concepts through a prototype.
|
75 |
Compreensão visual de frameworks através da introspeção de exemplos / Visual understanding of frameworks through instrospection of examplesCampo, Marcelo Ricardo January 1997 (has links)
Os frameworks orientado a objetos oferecem um grande potencial para aumentar a produtividade e a qualidade no desenvolvimento de software. Um framework e uma infra-estrutura ou esqueleto de uma família de aplicações pertencentes a um domínio determinado. Basicamente, aplicações especificas são construídas especializando as classes do framework para fornecer a implementação de alguns métodos, enquanto a maior parte da funcionalidade da aplicação e herdada. Esta característica permite a reutilização tanto do código quanto o projeto das aplicações do domínio, o qual representa um beneficio muito significativo a respeito de outras tecnologias de reutilização. Entretanto, começar a utilizar um framework para construir aplicações especificas e complicado para um usuário que não seja o projetista do framework. Compreender um framework é frequentemente muito mais difícil que compreender bibliotecas de componentes que podem ser reutilizados independentemente. Neste caso, e suficiente compreender sua interface externa. No caso dos frameworks, para aproveitar ao Máximo as possibilidades de reutilização que oferece, e necessário compreender o projeto interno de suas classes, como essas classes colaboram entre si, bem como a forma na qual instancias dessas classes colaboram em tempo de execução. Compreender estes aspectos uma tarefa reconhecidamente complexa e demorada, sendo este e um dos fatores mais limitantes da tecnologia para ser de utilidade efetiva na produção de software. Neste trabalho, apresenta-se uma abordagem reflexiva para a construção de ferramentas de apoio a compreensão de frameworks. Esta abordagem e suportada por Luthier, um framework projetado, e implementado em Smalltalk-80, para a construção de ferramentas de analise dinâmica e visualização de programas orientados a objetos. Luthier introduz três contribuições importantes: Utilização de técnicas de reflexão computacional baseadas no conceito de gerenciadores de meta-objetos, o qual suporta a implementação de metaarquiteturas de meta-objetos especializadas para a análise de aplicações. Controle interativo do grau de detalhe das visualizações (zoom semântico) através do suporte explícito de escalas de abstração. As escalas de abstração são controladas por objetos denominados abstratores. Um abstrator permite encapsular em objetos específicos algoritmos de derivação de abstracões, filtragem e seleção de informação, bem como o controle do nível de detalhe mostrado pelas visualizações. Esta separação de funcionalidade permite implementar complexas funcionalidades de análise de programas, sem a necessidade de modificar as classes que implementam visualizações ou a representação da informação. Suporte de uma estratégia de análise orientada pela visualização da arquitetura. Esta abordagem divide o processo de compreensão em duas fases iterativa: 1) compreensão dos principais aspectos estruturais do framework a partir de da recuperação e visualização da arquitetura,; 2) análise detalhada do comportamento de instâncias envolvidas em pontos específicos da arquitetura, os quais são selecionados pelo usuário a partir da visualização arquitetônica. Luthier fornece suporte flexível para construção de ferramentas de visualização dinamicamente adaptáveis para diferentes funcionalidades de análise, através de quatro subframeworks: LuthierMOPs. o qual fornece o suporte adaptável de meta-objetos para captura de informação das aplicações analisadas; LuthierBooks que fornece suporte genérico de gerenciamento de hiperdocumentos para a representação da informação capturada e gerenciamento de livros persistentes de projeto; LuthierAbstractors, que prove suporte genérico para a derivação de abstrações da informação coletada e escalas de abstração dinamicamente variáveis; e LuthierViews, extensão do framework MVC para a construção de visualizações da informação coletada, com capacidades de manipulação direta e zooming utilizando visualizações alternativas, as quais podem ser dinamicamente selecionadas pelo usuário. Com o suporte fornecido por Luthier, uma ferramenta, especialmente projetada para apoiar a compreensão de frameworks a partir da analise de exemplos, foi desenvolvida. Esta ferramenta fornece um conjunto de visualizações estruturais, com capacidade de animação de fluxo de controle do framework, bem como visualizações alternativas de subsistemas e padrões de projeto. Estas abstrações são reconhecidas através da análise da informação coletada dos exemplos analisados. Através das visualizações providas, o usuário pode explorar um dado framework através de mecanismos de navegação entre diferentes representações visuais, bem como filtragem e consulta acerca de informação relevante a ser visualizada. Este mecanismos são integrados com mecanismos de zoom semântico que habilitam a visualização da informação em diferentes níveis de abstração. Através da representação de hiperdocumento, a ferramenta suporta a construção manual, bem como a geração automática em alguns casos, de livros persistentes de documentação, com capacidade de edição, de importação de diagramas produzidos pelas visualizações, e de navegação sobre diferentes livros e o código fonte do framework. Esta características habilita a geração de documentação durante o processo de compreensão, facilidade não disponível, habitualmente, nas ferramentas de compreensão desenvolvidas até hoje. A capacidade de Luthier para a construção de ferramentas foi testada com a construção de outras ferramentas, como por exemplo, depuradores visuais e de coleta de métricas. A viabilidade e eficácia da abordagem foi testada através de experimentos, os quais mostraram que grupos utilizando a ferramenta de apoio produziram aplicações com maior nível de reutilização do framework que grupos de usuários não utilizando a ferramenta. / Object-oriented frameworks are a powerful reuse technique for building applications in a given domain. A framework works as a template or skeleton for building applications, being composed of a set of classes abstracting the general characteristics of an application domain. Building a specific application requires the specialization of some classes that provide the implementation of methods that will complete the necessary behaviour, while the global control structure is given by the framework. Frameworks offer a great potential to increase the productivity and quality in software development. However, starting to use a framework to build a specific application is complicated for any user other than a framework designer. Understanding a framework is frequently much harder than understanding libraries of components that can be reused independently. To adequately reuse isolated classes of a class library, it is sufficient to understand their external interface. In case of a framework, in contrast, to take full advantage of the services provided, it is necessary to understand the way its classes collaborate, as well as the internal design of some of them. These classes code the complex behaviour of a network of instances dynamically created. Therefore, it is often needed not only to understand how the classes are organized in static inheritance hierarchies, but also how instances collaborate at runtime. This work presents a reflective approach for the construction of tools for framework comprehension. This approach is supported by Luthier, a framework designed, and implemented in Smalltalk-80, which provides a flexible support for building tools for the dynamic analysis and visualization of object-oriented programs. Luthier introduces three important contributions: The use of computational reflection techniques, based on the concept of meta-object managers, which support the implementation of specialized meta-object-based metaarchitectures for the dynamic analysis of applications Support for building visualizations with different levels of abstraction under interactive control of the user (semantic zoom) through the explicit support of abstraction scales. Abstraction scales are controlled by objects called abstractors, which allow the encapsulation, in specific objects, of algorithms for abstraction derivation, filtering and information selection, as well as the interactive control of the detail level to be shown by visualizations. This separation of concerns enables the implementation of complex program analysis functionalities without the need of modifying classes implementing visualizations or information representation. Support for an architecture-driven analysis strategy. This approach divides the understanding process in two iterative phases: I) comprehension of the global structural and behavioural aspects of the framework from the recovery and visualization of its architecture.; 2) detailed analysis of specific instances involved in particular points of the architecture, selected by the user form the architectural view. Luthier provides a flexible support for the construction of visualization tools dynamically adaptable to different analysis functionalities through four sub-frameworks: LuthierMOPs, which provides an adaptable support of meta-objects for information gathering from the analyzed applications; LuthierBooks, which provides generic support for hyperdocument management to represent captured information and management of persistent design books: LuthierAbstractors, which provides generic support for the derivation of abstractions and dynamically variable abstraction-scales: and LuthierViews. extension of the MVC framework for the construction visualizations of the captured information, with capabilities of direct manipulation and zooming using alternative visualizations, dynamically selected by the user. With the support provided by Luthier a tool, specially designed to support framework comprehension from analysis of examples, was developed. This tool provides a set of structural visualizations with control-flow animation capabilities, as well as alternative visualizations of subsystems and design patterns, recognized through the analysis of information gathered from examples. Through these visualizations the user can explore a given framework by using mechanisms for navigating among different visual representations, as well as information filtering and queries about relevant information to be visualized. These functionalities are fully integrated with semantic zoom mechanisms that enable information visualization at different levels of abstraction. With the hyperdocument support, the tool allows for manual construction, as well as automatic generation in some cases, of persistent documentation books. These books offers editing capabilities, importation of diagrams from visualizations, as well as navigation through different books and through the source code of the analyzed framework.. These characteristics allows the support of additional documentation generation during the comprehension process, facility which is not normally available in current understanding tools. The capabilities for tool construction supported by Luthier were tested through the development of different tools, such as, visual debuggers and metrics collectors. The viability of the approach was tested through experiments. These experiments suggest that users using the understanding tool produce applications with a greater re-use level than groups of users not using it.
|
76 |
Compreensão visual de frameworks através da introspeção de exemplos / Visual understanding of frameworks through instrospection of examplesCampo, Marcelo Ricardo January 1997 (has links)
Os frameworks orientado a objetos oferecem um grande potencial para aumentar a produtividade e a qualidade no desenvolvimento de software. Um framework e uma infra-estrutura ou esqueleto de uma família de aplicações pertencentes a um domínio determinado. Basicamente, aplicações especificas são construídas especializando as classes do framework para fornecer a implementação de alguns métodos, enquanto a maior parte da funcionalidade da aplicação e herdada. Esta característica permite a reutilização tanto do código quanto o projeto das aplicações do domínio, o qual representa um beneficio muito significativo a respeito de outras tecnologias de reutilização. Entretanto, começar a utilizar um framework para construir aplicações especificas e complicado para um usuário que não seja o projetista do framework. Compreender um framework é frequentemente muito mais difícil que compreender bibliotecas de componentes que podem ser reutilizados independentemente. Neste caso, e suficiente compreender sua interface externa. No caso dos frameworks, para aproveitar ao Máximo as possibilidades de reutilização que oferece, e necessário compreender o projeto interno de suas classes, como essas classes colaboram entre si, bem como a forma na qual instancias dessas classes colaboram em tempo de execução. Compreender estes aspectos uma tarefa reconhecidamente complexa e demorada, sendo este e um dos fatores mais limitantes da tecnologia para ser de utilidade efetiva na produção de software. Neste trabalho, apresenta-se uma abordagem reflexiva para a construção de ferramentas de apoio a compreensão de frameworks. Esta abordagem e suportada por Luthier, um framework projetado, e implementado em Smalltalk-80, para a construção de ferramentas de analise dinâmica e visualização de programas orientados a objetos. Luthier introduz três contribuições importantes: Utilização de técnicas de reflexão computacional baseadas no conceito de gerenciadores de meta-objetos, o qual suporta a implementação de metaarquiteturas de meta-objetos especializadas para a análise de aplicações. Controle interativo do grau de detalhe das visualizações (zoom semântico) através do suporte explícito de escalas de abstração. As escalas de abstração são controladas por objetos denominados abstratores. Um abstrator permite encapsular em objetos específicos algoritmos de derivação de abstracões, filtragem e seleção de informação, bem como o controle do nível de detalhe mostrado pelas visualizações. Esta separação de funcionalidade permite implementar complexas funcionalidades de análise de programas, sem a necessidade de modificar as classes que implementam visualizações ou a representação da informação. Suporte de uma estratégia de análise orientada pela visualização da arquitetura. Esta abordagem divide o processo de compreensão em duas fases iterativa: 1) compreensão dos principais aspectos estruturais do framework a partir de da recuperação e visualização da arquitetura,; 2) análise detalhada do comportamento de instâncias envolvidas em pontos específicos da arquitetura, os quais são selecionados pelo usuário a partir da visualização arquitetônica. Luthier fornece suporte flexível para construção de ferramentas de visualização dinamicamente adaptáveis para diferentes funcionalidades de análise, através de quatro subframeworks: LuthierMOPs. o qual fornece o suporte adaptável de meta-objetos para captura de informação das aplicações analisadas; LuthierBooks que fornece suporte genérico de gerenciamento de hiperdocumentos para a representação da informação capturada e gerenciamento de livros persistentes de projeto; LuthierAbstractors, que prove suporte genérico para a derivação de abstrações da informação coletada e escalas de abstração dinamicamente variáveis; e LuthierViews, extensão do framework MVC para a construção de visualizações da informação coletada, com capacidades de manipulação direta e zooming utilizando visualizações alternativas, as quais podem ser dinamicamente selecionadas pelo usuário. Com o suporte fornecido por Luthier, uma ferramenta, especialmente projetada para apoiar a compreensão de frameworks a partir da analise de exemplos, foi desenvolvida. Esta ferramenta fornece um conjunto de visualizações estruturais, com capacidade de animação de fluxo de controle do framework, bem como visualizações alternativas de subsistemas e padrões de projeto. Estas abstrações são reconhecidas através da análise da informação coletada dos exemplos analisados. Através das visualizações providas, o usuário pode explorar um dado framework através de mecanismos de navegação entre diferentes representações visuais, bem como filtragem e consulta acerca de informação relevante a ser visualizada. Este mecanismos são integrados com mecanismos de zoom semântico que habilitam a visualização da informação em diferentes níveis de abstração. Através da representação de hiperdocumento, a ferramenta suporta a construção manual, bem como a geração automática em alguns casos, de livros persistentes de documentação, com capacidade de edição, de importação de diagramas produzidos pelas visualizações, e de navegação sobre diferentes livros e o código fonte do framework. Esta características habilita a geração de documentação durante o processo de compreensão, facilidade não disponível, habitualmente, nas ferramentas de compreensão desenvolvidas até hoje. A capacidade de Luthier para a construção de ferramentas foi testada com a construção de outras ferramentas, como por exemplo, depuradores visuais e de coleta de métricas. A viabilidade e eficácia da abordagem foi testada através de experimentos, os quais mostraram que grupos utilizando a ferramenta de apoio produziram aplicações com maior nível de reutilização do framework que grupos de usuários não utilizando a ferramenta. / Object-oriented frameworks are a powerful reuse technique for building applications in a given domain. A framework works as a template or skeleton for building applications, being composed of a set of classes abstracting the general characteristics of an application domain. Building a specific application requires the specialization of some classes that provide the implementation of methods that will complete the necessary behaviour, while the global control structure is given by the framework. Frameworks offer a great potential to increase the productivity and quality in software development. However, starting to use a framework to build a specific application is complicated for any user other than a framework designer. Understanding a framework is frequently much harder than understanding libraries of components that can be reused independently. To adequately reuse isolated classes of a class library, it is sufficient to understand their external interface. In case of a framework, in contrast, to take full advantage of the services provided, it is necessary to understand the way its classes collaborate, as well as the internal design of some of them. These classes code the complex behaviour of a network of instances dynamically created. Therefore, it is often needed not only to understand how the classes are organized in static inheritance hierarchies, but also how instances collaborate at runtime. This work presents a reflective approach for the construction of tools for framework comprehension. This approach is supported by Luthier, a framework designed, and implemented in Smalltalk-80, which provides a flexible support for building tools for the dynamic analysis and visualization of object-oriented programs. Luthier introduces three important contributions: The use of computational reflection techniques, based on the concept of meta-object managers, which support the implementation of specialized meta-object-based metaarchitectures for the dynamic analysis of applications Support for building visualizations with different levels of abstraction under interactive control of the user (semantic zoom) through the explicit support of abstraction scales. Abstraction scales are controlled by objects called abstractors, which allow the encapsulation, in specific objects, of algorithms for abstraction derivation, filtering and information selection, as well as the interactive control of the detail level to be shown by visualizations. This separation of concerns enables the implementation of complex program analysis functionalities without the need of modifying classes implementing visualizations or information representation. Support for an architecture-driven analysis strategy. This approach divides the understanding process in two iterative phases: I) comprehension of the global structural and behavioural aspects of the framework from the recovery and visualization of its architecture.; 2) detailed analysis of specific instances involved in particular points of the architecture, selected by the user form the architectural view. Luthier provides a flexible support for the construction of visualization tools dynamically adaptable to different analysis functionalities through four sub-frameworks: LuthierMOPs, which provides an adaptable support of meta-objects for information gathering from the analyzed applications; LuthierBooks, which provides generic support for hyperdocument management to represent captured information and management of persistent design books: LuthierAbstractors, which provides generic support for the derivation of abstractions and dynamically variable abstraction-scales: and LuthierViews. extension of the MVC framework for the construction visualizations of the captured information, with capabilities of direct manipulation and zooming using alternative visualizations, dynamically selected by the user. With the support provided by Luthier a tool, specially designed to support framework comprehension from analysis of examples, was developed. This tool provides a set of structural visualizations with control-flow animation capabilities, as well as alternative visualizations of subsystems and design patterns, recognized through the analysis of information gathered from examples. Through these visualizations the user can explore a given framework by using mechanisms for navigating among different visual representations, as well as information filtering and queries about relevant information to be visualized. These functionalities are fully integrated with semantic zoom mechanisms that enable information visualization at different levels of abstraction. With the hyperdocument support, the tool allows for manual construction, as well as automatic generation in some cases, of persistent documentation books. These books offers editing capabilities, importation of diagrams from visualizations, as well as navigation through different books and through the source code of the analyzed framework.. These characteristics allows the support of additional documentation generation during the comprehension process, facility which is not normally available in current understanding tools. The capabilities for tool construction supported by Luthier were tested through the development of different tools, such as, visual debuggers and metrics collectors. The viability of the approach was tested through experiments. These experiments suggest that users using the understanding tool produce applications with a greater re-use level than groups of users not using it.
|
77 |
Um estudo para escolha do SGBD em processos de reengenharia orientada a objetos.Morais, Rinaldo Macedo de 11 August 2003 (has links)
Made available in DSpace on 2016-06-02T19:05:15Z (GMT). No. of bitstreams: 1
DissRMM.pdf: 1170334 bytes, checksum: 9c5a734da9b30f546e6fb7fe544c6394 (MD5)
Previous issue date: 2003-08-11 / A process for the database management system (DBMS) choice in the forward engineering
stage, in an object-oriented reengineering is presented. The process was instanced for two
particular DBMSs Jasmine and Caché, which a forward engineering case study was developed. The legacy system taken as example was submitted to the reengineering process being used the Sybase relational database management system. This same system was used following the process described in this work and having the Jasmine and Caché DBMSs to data persistence. Of this way, three versions could be obtained for a same system. A comparative analysis of three versions also consists of this work. / Um processo para a escolha do sistema gerenciador de banco de dados (SGBD) na etapa de engenharia avante, em um processo de reengenharia orientada a objetos, é apresentado. O processo foi instanciado para dois sistemas gerenciadores de bancos de dados particulares Jasmine e Caché, com os quais um estudo de caso foi desenvolvido. O sistema legado tomado como exemplo foi submetido ao processo de reengenharia sendo utilizado o sistema gerenciador de banco de dados relacional Sybase. Esse mesmo sistema foi utilizado seguindo o processo descrito neste trabalho tendo os SGBDs Jasmine e Caché para persistência de dados. Dessa forma, três versões puderam ser obtidas para um mesmo sistema. Uma análise comparativa das três versões também consta deste trabalho.
|
78 |
Um modelo de versões apoiado em objetos compostos para utilização em instâncias e esquemas de bases de dados orientadas a objetos / Versioning model for schemas and composite objects in object-oriented database systemsLuiz Camolesi Junior 01 November 1996 (has links)
As informações contidas em uma Base de Dados para projeto não são obtidas apenas cumulativamente, mas também através de refinamentos e mudanças sucessivas nas informações já disponíveis. Diversas pesquisas mostram-se preocupadas com este aspecto e propõem conceitos e mecanismos de controle de Versões que podem ser incorporados a Modelos de Bases de Dados Orientadas a Objetos. Alguns destes trabalhos, aqui estudados, focalizam o uso de Versões na evolução não apenas da Base de Dados Extensional (Instâncias), ou seja, nas informações colhidas do mundo real e utilizadas pelas aplicações, mas também sua utilização como um mecanismo eficiente de Evolução do Esquema de Dados (a Base de Dados Intencional). Com o objetivo principal de constituir um núcleo básico de conceitos e mecanismos que possam atender as mais variadas aplicações, este trabalho estabelece um Modelo de Versões apoiado no conceito de Objeto Composto e que permite uma correlação direta e transparente entre Versões de Instâncias e de Esquemas, ou seja, cada Versão na Base Extensional tem relação direta e única com a Versão da Base Intencional utilizada em sua instanciação. Adicionalmente, este trabalho estabelece um Meta-Modelo de Versões cujas especificações poderão direcionar as pesquisas de futuros Modelos de Versões, no sentido de apoiar a elaboração de Modelos de Versões sofisticados ou simples para aplicações específicas ou gerais, e também poderão ser utilizadas para o estabelecimento de mecanismos para a classificação e comparação de Modelos de Versões. / Data stored in project databases are obtained not only by the increasing inclusion of more and more data, but also through refinements and alterations into the already existent information. There are many works involving those subjects, studying concepts and control mechanisms to support data versioning in Object-Oriented Database Systems. Some of these works focus on the Version Control support in the stored data (the Extensional Database), aiming at recognizing and controlling the occurrence of many data versions from the same subject. Other works focus on the support of version control over the Data Schema (the Intentional Database), aiming at finding mechanisms that permit the recovery of different data structured in different ways from the same subject. This work presents a Version Model, based on the Composite Objects concept, providing a homogeneous support to Version Control in the Extensional and the Intentional Databases. In this model, the Extensional data is partitioned into Composite Objects, and the parts of each Object are interpreted with only one of several possible schemes that are used to instantiate the parts of objects of this kind. This Version Model was conceived to be useful to a broad range of application domains, deriving a set of concepts that had permitted to construct a Version Meta-Model. The Meta-Model is sufficiently generic to aid constructing elementary or complex Version Models, applied to generic or specific needs, and depicting mechanisms to aid the classification and comparison of existing or proposed Version Model.
|
79 |
Incorporação do tipo de dado imagem em um banco de dados orientado a objetos / Supporting images in an object-oriented databaseRildo Ribeiro dos Santos 26 November 1997 (has links)
Os Sistemas de Armazenamento e Comunicação de Imagens Médicas fornecem, para os físicos, médicos e técnicos de um centro de saúde, informações gráficas sobre vários aspectos envolvidos no diagnóstico de cada paciente. Atualmente, os exames médicos produzem uma grande quantidade de informação em função dos equipamentos médicos computadorizados, utilizados principalmente para se obter dados imagens internas dos pacientes. Este trabalho descreve os conceitos utilizados em Sistema de Banco de Dados Orientado a Objetos para manipular imagens medicas, de tal forma que possam ser recuperadas através de consultas, baseadas na descrição de seu conteúdo gráfico. A abordagem tradicional utiliza ícones e atributos textuais, armazenados juntamente com as imagens, para especificar as consultas. Este trabalho utiliza uma nova técnica de modelagem para definir o \"tipo de dado imagem\", que permite decidir, anteriormente à execução da consulta, os dados que possam ser significativos para cada imagem, no instante que esta é armazenada no Banco de Dados. Desta forma, a busca por uma determinada informação pode ser acelerada. durante a avaliação de uma consulta. / Picture Archiving and Communication System (PACS) applied in medical image storage provides graphical information of many aspects of the health, diseases and treatment of each patient for the physician and technicians of a health care center. Nowadays, medical exams can generate a large amount of data due to the computerized medical instruments used to collect the graphical information about the patients. This work describes the concepts used in an Object Oriented Data Base System to deal with medical images, so that it can be retrieved through queries based on the graphic contents of the stored images. The usual approach uses icons and textual attributes stored with the images to specify the queries. This work uses a novel modeling technique to define the \"image data type\", through which it is possible to decide, beforehand the query itself, the valuable data of each image when it is stored in the database, so the search can be accelerated when queries are issued.
|
80 |
Service-oriented middleware for dynamic, real-time management of heterogeneous geosensors in flood management / Middleware orientado a serviços para gerenciar dinamicamente e em tempo-real geosensores heterogêneos na gestão de inundaçõesLuiz Fernando Ferreira Gomes de Assis 16 December 2015 (has links)
Natural disasters such as floods, droughts and storms cause many deaths and a great deal of damage worldwide. Recently, several countries have suffered from an the increased number of floods. This has led government agencies to seek to improve flood risk management by providing historical data obtained from stationary sensor networks to help communities that live in hazardous areas. However, the sensor networks can only help to check specific features (e.g. temperature and pressure), and are unable to contribute significantly to supplying the missing information that is required. In addition to stationary sensors, mobile sensors have also been used to monitor floods since they can provide images and reach distances that are not within the coverage of stationary sensors. By combining these heterogeneous sensors, an initiative called Sensor Web Enablement (SWE) seeks to free these applications from the idiosyncrasies that affect the implementation of these heterogeneous sensors. However, SWE cannot always be applied effectively in a context where sensors are embedded and removed dynamically. This dynamic context makes it a complex task to handle, control, access and discover sensors. In view of this, the aim of this work is to dynamically manage heterogeneous sensors involved in flood risk management in near real-time, by enabling interoperable access to their data and using open and reusable components. To achieve this goal, a service-oriented middleware was designed that contains a common protocol message, a dynamic sensor management component and a repository. This approach was evaluated performed by employing an application that prioritizes geographically social media messages based on sensor data. / Os desastres naturais, como inundações, secas e tempestades causam muitas mortes e danos em todo o mundo. Mais recentemente, alguns países sofreram com o aumento das inundações, comparado com outros tipos de desastres. Para melhor gerenciá-las, agências governamentais têm fornecido dados históricos de redes de sensores estáticas para ajudar comunidades que vivem em áreas de risco. No entanto, tais redes de sensores apenas ajudam a verificar propriedades específicas (por exemplo, temperatura e pressão) e pouco contribuem com a falta de informações presente nesse contexto. Além dos sensores estáticos, sensores móveis também têm sido utilizados para monitorar inundações, uma vez que podem fornecer imagens e alcançar distâncias onde sensores estáticos não funcionam adequadamente. Para combinar esses sensores, deve ser utilizado uma iniciativa chamada Sensor Web Enablement (SWE) que isola as aplicações das idiossíncrasias da implementação desses sensores heterogêneos. Entretanto, a SWE não gerencia completamente contextos em que sensores são inseridos e removidos dinamicamente. Este contexto dinâmico torna complexo o controle, o acesso e a descoberta de novos sensores. Logo, o objetivo deste trabalho é gerenciar dinamicamente e próximo do tempo-real sensores heterogêneos envolvidos na gestão de inundações, permitindo um acesso interoperável para seus dados usando componentes abertos e de re-uso. Para alcançar esse objetivo, um middleware orientado a serviços contendo um protocolo de mensagens comum, um componente de gerenciamento dinâmico de sensores e um repositório foi desenvolvido. A avaliação dessa abordagem foi feita considerando uma aplicação que prioriza geograficamente dados de mídias sociais baseados em dados de sensores.
|
Page generated in 0.0966 seconds