Spelling suggestions: "subject:"orientace : objeto"" "subject:"orientación : objeto""
11 |
Um sistema de apoio ao teste de aplicações smalltalk / Support's system of the smalltalk applications testPinto, Ivete Martins January 1998 (has links)
A atividade de teste é de extrema importância em qualquer ambiente de programação para gerar produtos de qualidade e de alta confiabilidade. Entretanto, alem das dificuldades inerentes a esta tarefa, soma-se a falta de metodologias e ferramentas que a apóiem. Isto faz com que o teste se tome uma das atividades do ciclo de vida do software com maior custo e tempo associados. O paradigma de orientação a objetos surgiu na busca constante dos desenvolvedores de software por maior qualidade e novas soluções para os problemas de baixa produtividade. Todavia, as características poderosas deste paradigma geraram um conjunto adicional de problemas nas atividades de teste e manutenção, onde a alta concentração de custo e tempo envolvidos sempre foram uma constatação real. Em uma aplicação orientada a objetos, cada objeto é uma entidade que possui um comportamento bem definido, com um papel bem claro no domínio. Os valores dos atributos de um objeto definem o estado do objeto, e são acessados através de um conjunto de mensagens bem definidas, através das quais o objeto é capaz de executar alterações nestes valores de atributos. Os valores de atributos reagem passagem destas mensagens (ativação de métodos) alterando ou não o seu estado. Neste trabalho é apresentado um protótipo de ferramenta de apoio ao teste de programas orientados a objetos, chamado ATeste, fundamentado no conceito de teste baseado em estado, com uma abordagem reflexiva, para auxiliar o teste de aplicações Smalltalk. O teste baseado em estado verifica as interações entre os objetos pela monitoração das mudanças que ocorrem em valores dos atributos. Este tipo de teste verifica como um objeto reage a ativação de um método, respeitando o encapsulamento. A abordagem reflexiva possibilita que mecanismos de analise possam ser associados a aplicação através da utilização de conceitos de reflexão computacional. A reflexão computacional proporciona a analise dinâmica da aplicação, sem interferir nos aspectos comportamentais e estruturais dos objetos do domínio, permitindo a monitoração de objetos específicos do domínio, os quais podem ser dinamicamente selecionados pelo usuário. Como suporte para o desenvolvimento de ATeste foi utilizado o framework Luthier MOPs. Este framework apresenta, como principal contribuição, a utilização de técnicas de reflexão computacional baseadas no conceito de gerenciadores de metaobjetos para a implementação de meta-arquiteturas visando a captura de informações e analise de aplicações. Baseado nesta arquitetura reflexiva, ATeste trabalha com um meta-nível, que monitora os objetos selecionados pelo usuário na aplicação do nível-base. Desta forma, uma das principais características do sistema desenvolvido é a analise da aplicação sob teste de forma dinâmica sem necessidade de instrumentação de seu c6digo fonte. Isto é possível através da utilização de reflexão computacional, que permite implementar diferentes mecanismos de analise que podem ser dinamicamente associados com a aplicação em execução. O projeto de ATeste compreende um conjunto de classes pr6prias que definem a interface com o usuário e as funcionalidades desejadas, bem como classes do framework Luthier MOPs, e especializações destas. / The activity of testing is very important for generating high quality and reliable products in any programming environment. Besides the difficulties inherent to this task, there is the lack of methodologies and tools to support the testing process. These facts make testing one of the software life cycle activities of greatest associated cost and time. The object oriented paradigm had appeared as a result of the constant searching by software developers for both greater quality and new solutions to the problems of low productivity. However, the powerful characteristics of this paradigm have generated an additional set of problems in the test and maintenance activities, where high costs and time expenditure have been always of great concern. In an object oriented application, each object is an entity that has a welldefined behavior, with a well clear role in the domain. The attribute values of an object define the object state. Object's attributes may only be accessed through a set of proper messages, which can make changes to object's states. This work presents a prototype of a tool, named ATeste, which aims to support object oriented testing of Smalltalk applications by implementing the concept of state-based testing through a reflexive approach. In state-based testing objects interactions are verified through monitoring changes that occur to the values of object attributes. This type of test verifies how an object reacts by a method activation, taking into account object encapsulation. The reflexive approach allows the association of analysis mechanisms to the software system through the application of computational reflection concepts. Computational reflection provides dynamic analysis of the software, without interfering in both behavior and structural aspects of the object's domain. It allows monitoring of specific objects in the domain, which can be dynamically selected by the user. The framework Luthier MOPs has been extended to support the development of ATeste. This framework provides, as its main contribution, facilities of computational reflection techniques based on meta-objects management concepts for the implementation of meta-architectures, aiming the capture of information and analysis of object-oriented applications. Considering this reflexive architecture, ATeste works with a meta-level, which manages the objects selected by the user in the application basic-level. In this way, one of the main characteristics of the developed system is the analysis of the application under test in a dynamic way, without necessity of instrumenting its source code. This is possible due to computational reflection that allows the implementation of particular analysis mechanisms that can be dynamically associated with the application in execution. The project of ATeste includes a set of particular classes that define the interface with the user, another set for implementing the elected testing strategy, and some classeS specialized from the framework Luthier MOPs.
|
12 |
Tolerância a falhas e reflexão computacional num ambiente distribuídoPavan, Willingthon January 2000 (has links)
O modelo de objetos apresenta-se como um modelo promissor para o desenvolvimento de software tolerante a falhas em virtude de características inerentes ao próprio modelo de objetos, tais como abstração de dados, encapsulamento, herança e reutilização de objetos (componentes). O uso de técnicas orientadas a objetos facilita o controle da complexidade do sistema porque promove uma melhor estruturação de seus componentes e também permite que componentes já validados sejam reutilizados [LIS96]. Técnicas básicas para tolerância a falhas em software baseiam-se na diversidade de projeto e de implementação de componentes considerados críticos. Os componentes diversitários são gerenciados através de alguma técnica que tenha por objetivo assegurar o fornecimento do serviço solicitado, como, por exemplo, a conhecida técnica de blocos de recuperação. Reflexão Computacional é a capacidade que um sistema tem de fazer computações para se auto analisar. Ela é obtida quando o programa pára sua execução por um período de tempo para fazer computações sobre si próprio; analisa seu estado, se o processamento está correto, se pode prosseguir com a execução e atingir o objetivo satisfatoriamente; se não precisa mudar de estratégia ou algoritmo de execução, fazendo, ainda, processamentos necessários para o sucesso da execução. Um sistema de programação distribuída consiste basicamente em vários aplicativos executados em diferentes computadores, os quais realizam troca de mensagens para solucionar um problema comum. A comunicação entre os computadores é realizada através da rede que os interliga. As Redes que controlam sistemas críticos são normalmente de pequena escala pois redes de grandes dimensões podem apresentar atrasos e baixa confiabilidade. Portanto, a abordagem aqui proposta consiste em utilizar, em um ambiente distribuído, uma arquitetura reflexiva aliada a técnicas do domínio da tolerância a falhas para promover a separação entre as atividades de controle, salvamento, recuperação, distribuição e validação de componentes e as funcionalidades executadas pelo próprio componente, a fim de que falhas não venham a prejudicar a disponibilidade, confiabilidade e clareza de determinadas computações. A proposta apóia-se num estudo de caso, implementado na linguagem de programação Java, com seus protocolos de reflexão computacional e de comunicação.
|
13 |
Um Mecanismo de notificação e propagação de mudanças para um modelo de versõesFonseca, Ana Clara Gottfried da January 2000 (has links)
Um dos requisitos naturais na modelagem de diversas aplicações na área de banco de dados é a utilização de um mecanismo para controle de versões. Esse mecanismo fornece suporte a um processo evolutivo. Tal suporte permite armazenar os diferentes estágios de uma entidade em tempos distintos, ou sob diferentes pontos de vista. Estudos recentes nessa área mostram a importância de incorporar ao modelo conceitual de banco de dados, um mecanismo para auxiliar no controle da evolução de versões. A evolução de versões apresenta problemas principalmente quando ocorre em uma hierarquia de composição. Por exemplo, se existem objetos compostos fazendo referência à objetos componentes que representam versões, então modificações nos componentes podem causar alterações nos objetos que os referenciam. Normalmente as ações relativas a essas modificações são a notificação ou a propagação de mudanças. Algumas propostas adicionam mecanismos de notificação e propagação ao modelo conceitual utilizado por aplicações não convencionais. Isso é importante porque mecanismos deste tipo auxiliam no controle da integridade de dados e na divulgação de informações sobre as mudanças realizadas no banco de dados. O objetivo do trabalho aqui descrito é apresentar um mecanismo de notificação e propagação, que trata da evolução de dados, para um modelo de versões. É definido um modelo de classes com propriedades e operações que permitem manter e manipular subscrições de eventos referentes à evolução de objetos e versões e reagir diante da ocorrência destes eventos. Para atender os requisitos das diferentes aplicações, esta proposta especifica três estratégias. Cada uma delas apresenta diferentes funcionalidades: notificação ativa (enviar mensagens sobre mudanças ocorridas); notificação passiva (armazenar informações sobre mudanças ocorridas) e propagação (alterar o conteúdo do banco de dados automaticamente). Para validar o mecanismo proposto, uma implementação é apresentada para o sistema Oracle 8.
|
14 |
Recuperação com base em Checkpointing : uma abordagem orientada a objetosSilva, Francisco Assis da January 2002 (has links)
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.
|
15 |
Extensão de um modelo OO formal com aspectos temporaisZanatta, Melissa Marchiani Palone January 2000 (has links)
Na área de Engenharia de Software, há vários modelos formais de especificação orientado a objetos (OO). Um destes é o OO-Method / OASIS. OO-Method se baseia nos seguintes princípios: - dar suporte às noções do modelo conceitual orientado a objetos; - integrar os modelos formais com metodologias de aceitação industrial; - possibilitar a produção de software avançado que inclua a geração completa de código (estática e dinâmica) do desenvolvimento comercial. O processo de desenvolvimento consiste em levantar as propriedades principais do sistema em desenvolvimento (modelo conceitual) por parte do engenheiro de software, e construir de forma automática, em qualquer momento (por um processo de conversão gráfico-textual) a especificação formal orientada a objetos em OASIS (Open and Active Specifications of Information System) que constituirá um repositório de alto nível do sistema. O objetivo de OASIS é expressar os requisitos funcionais de um sistema de informação, em um marco formal, que facilite sua validação e geração automática de programas. OASIS não inclui a especificação de aspectos temporais. A modelagem de aspectos temporais é um importante tópico da modelagem de sistemas de informação, porque através destes são representadas as características dinâmicas das aplicações e a interação temporal entre diferentes processos. A especificação de requisitos de aplicações através de modelos orientados a objetos permite representar não só os seus estados, mas também, seu comportamento. Modelos temporais representam também a evolução de objetos com o tempo. Como o estado de um objeto pode ser alterado devido à ocorrência de um evento (fato ocorrido em um determinado instante no tempo), é importante que o modelo utilizado permita apresentar a história destes eventos. O presente trabalho tem por finalidade propor uma extensão temporal a um modelo formal de especificação OO. Esta extensão inclui tanto aspectos estáticos quanto dinâmicos. A extensão de aspectos estáticos estende OASIS com atributos temporais. A extensão dos aspectos dinâmicos, contribuição central do trabalho, estende OASIS com eventos temporais.
|
16 |
Geração de sistemas supervisórios a partir de modelos orientados a objetosTibola, Leandro Rosniak January 2000 (has links)
Este trabalho aborda o tema da geração de sistemas supervisórios a partir de modelos orientados a objetos. A motivação para realização do trabalho surgiu com o estudo de sistemas supervisórios e de ferramentas de suporte à modelagem de sistemas usando orientação a objetos. Notou-se que nos primeiros, apesar de possuírem como principal objetivo a visualização de estados e grandezas físicas relacionadas a componentes de plantas industriais (nível de um tanque, temperatura de um gás, por exemplo), os modelos computacionais utilizados baseiam-se em estruturas de dados não hierárquicas, nas quais variáveis de contexto global e não encapsuladas, as chamadas “tags”, são associadas às grandezas físicas a serem visualizadas. Modelos orientados a objeto, por outro lado, constituem uma excelente proposta para a criação de modelos computacionais nos quais a estrutura e semântica dos elementos de modelagem é bastante próxima a de sistemas físicos reais, facilitando a construção e compreensão dos modelos. Assim sendo, a proposta desenvolvida neste trabalho busca agregar as vantagens do uso de orientação a objetos, com conceitos existentes em sistemas supervisórios, a fim de obter-se ferramentas que melhor auxiliem o desenvolvimento de aplicações complexas. Classes e suas instâncias são usadas para modelagem de componentes da planta industrial a ser analisada. Seus atributos e estados são associados às grandezas físicas a serem visualizadas. Diferentes formas de visualização são associadas às classes, aumentando assim o reuso e facilitando o desenvolvimento de sistemas supervisórios de aplicações complexas. A proposta conceitual desenvolvida foi implementada experimentalmente como uma extensão à ferramenta SIMOO-RT, tendo sido denominada de “Supervisory Designer”. A ferramenta desenvolvida estende o modelo de objetos e classes de SIMOO-RT, permitindo a adição de informações específicas para supervisão – tais como as definições de limites para os atributos. A ferramenta foi validada através do desenvolvimento de estudos de casos de aplicações industriais reais, tendo demonstrado diversas vantagens quando comparada com o uso de ferramentas para construção de sistemas supervisórios disponíveis comercialmente).
|
17 |
Geração de sistemas supervisórios a partir de modelos orientados a objetosTibola, Leandro Rosniak January 2000 (has links)
Este trabalho aborda o tema da geração de sistemas supervisórios a partir de modelos orientados a objetos. A motivação para realização do trabalho surgiu com o estudo de sistemas supervisórios e de ferramentas de suporte à modelagem de sistemas usando orientação a objetos. Notou-se que nos primeiros, apesar de possuírem como principal objetivo a visualização de estados e grandezas físicas relacionadas a componentes de plantas industriais (nível de um tanque, temperatura de um gás, por exemplo), os modelos computacionais utilizados baseiam-se em estruturas de dados não hierárquicas, nas quais variáveis de contexto global e não encapsuladas, as chamadas “tags”, são associadas às grandezas físicas a serem visualizadas. Modelos orientados a objeto, por outro lado, constituem uma excelente proposta para a criação de modelos computacionais nos quais a estrutura e semântica dos elementos de modelagem é bastante próxima a de sistemas físicos reais, facilitando a construção e compreensão dos modelos. Assim sendo, a proposta desenvolvida neste trabalho busca agregar as vantagens do uso de orientação a objetos, com conceitos existentes em sistemas supervisórios, a fim de obter-se ferramentas que melhor auxiliem o desenvolvimento de aplicações complexas. Classes e suas instâncias são usadas para modelagem de componentes da planta industrial a ser analisada. Seus atributos e estados são associados às grandezas físicas a serem visualizadas. Diferentes formas de visualização são associadas às classes, aumentando assim o reuso e facilitando o desenvolvimento de sistemas supervisórios de aplicações complexas. A proposta conceitual desenvolvida foi implementada experimentalmente como uma extensão à ferramenta SIMOO-RT, tendo sido denominada de “Supervisory Designer”. A ferramenta desenvolvida estende o modelo de objetos e classes de SIMOO-RT, permitindo a adição de informações específicas para supervisão – tais como as definições de limites para os atributos. A ferramenta foi validada através do desenvolvimento de estudos de casos de aplicações industriais reais, tendo demonstrado diversas vantagens quando comparada com o uso de ferramentas para construção de sistemas supervisórios disponíveis comercialmente).
|
18 |
Geração de sistemas supervisórios a partir de modelos orientados a objetosTibola, Leandro Rosniak January 2000 (has links)
Este trabalho aborda o tema da geração de sistemas supervisórios a partir de modelos orientados a objetos. A motivação para realização do trabalho surgiu com o estudo de sistemas supervisórios e de ferramentas de suporte à modelagem de sistemas usando orientação a objetos. Notou-se que nos primeiros, apesar de possuírem como principal objetivo a visualização de estados e grandezas físicas relacionadas a componentes de plantas industriais (nível de um tanque, temperatura de um gás, por exemplo), os modelos computacionais utilizados baseiam-se em estruturas de dados não hierárquicas, nas quais variáveis de contexto global e não encapsuladas, as chamadas “tags”, são associadas às grandezas físicas a serem visualizadas. Modelos orientados a objeto, por outro lado, constituem uma excelente proposta para a criação de modelos computacionais nos quais a estrutura e semântica dos elementos de modelagem é bastante próxima a de sistemas físicos reais, facilitando a construção e compreensão dos modelos. Assim sendo, a proposta desenvolvida neste trabalho busca agregar as vantagens do uso de orientação a objetos, com conceitos existentes em sistemas supervisórios, a fim de obter-se ferramentas que melhor auxiliem o desenvolvimento de aplicações complexas. Classes e suas instâncias são usadas para modelagem de componentes da planta industrial a ser analisada. Seus atributos e estados são associados às grandezas físicas a serem visualizadas. Diferentes formas de visualização são associadas às classes, aumentando assim o reuso e facilitando o desenvolvimento de sistemas supervisórios de aplicações complexas. A proposta conceitual desenvolvida foi implementada experimentalmente como uma extensão à ferramenta SIMOO-RT, tendo sido denominada de “Supervisory Designer”. A ferramenta desenvolvida estende o modelo de objetos e classes de SIMOO-RT, permitindo a adição de informações específicas para supervisão – tais como as definições de limites para os atributos. A ferramenta foi validada através do desenvolvimento de estudos de casos de aplicações industriais reais, tendo demonstrado diversas vantagens quando comparada com o uso de ferramentas para construção de sistemas supervisórios disponíveis comercialmente).
|
19 |
Tolerância a falhas e reflexão computacional num ambiente distribuídoPavan, Willingthon January 2000 (has links)
O modelo de objetos apresenta-se como um modelo promissor para o desenvolvimento de software tolerante a falhas em virtude de características inerentes ao próprio modelo de objetos, tais como abstração de dados, encapsulamento, herança e reutilização de objetos (componentes). O uso de técnicas orientadas a objetos facilita o controle da complexidade do sistema porque promove uma melhor estruturação de seus componentes e também permite que componentes já validados sejam reutilizados [LIS96]. Técnicas básicas para tolerância a falhas em software baseiam-se na diversidade de projeto e de implementação de componentes considerados críticos. Os componentes diversitários são gerenciados através de alguma técnica que tenha por objetivo assegurar o fornecimento do serviço solicitado, como, por exemplo, a conhecida técnica de blocos de recuperação. Reflexão Computacional é a capacidade que um sistema tem de fazer computações para se auto analisar. Ela é obtida quando o programa pára sua execução por um período de tempo para fazer computações sobre si próprio; analisa seu estado, se o processamento está correto, se pode prosseguir com a execução e atingir o objetivo satisfatoriamente; se não precisa mudar de estratégia ou algoritmo de execução, fazendo, ainda, processamentos necessários para o sucesso da execução. Um sistema de programação distribuída consiste basicamente em vários aplicativos executados em diferentes computadores, os quais realizam troca de mensagens para solucionar um problema comum. A comunicação entre os computadores é realizada através da rede que os interliga. As Redes que controlam sistemas críticos são normalmente de pequena escala pois redes de grandes dimensões podem apresentar atrasos e baixa confiabilidade. Portanto, a abordagem aqui proposta consiste em utilizar, em um ambiente distribuído, uma arquitetura reflexiva aliada a técnicas do domínio da tolerância a falhas para promover a separação entre as atividades de controle, salvamento, recuperação, distribuição e validação de componentes e as funcionalidades executadas pelo próprio componente, a fim de que falhas não venham a prejudicar a disponibilidade, confiabilidade e clareza de determinadas computações. A proposta apóia-se num estudo de caso, implementado na linguagem de programação Java, com seus protocolos de reflexão computacional e de comunicação.
|
20 |
Um Mecanismo de notificação e propagação de mudanças para um modelo de versõesFonseca, Ana Clara Gottfried da January 2000 (has links)
Um dos requisitos naturais na modelagem de diversas aplicações na área de banco de dados é a utilização de um mecanismo para controle de versões. Esse mecanismo fornece suporte a um processo evolutivo. Tal suporte permite armazenar os diferentes estágios de uma entidade em tempos distintos, ou sob diferentes pontos de vista. Estudos recentes nessa área mostram a importância de incorporar ao modelo conceitual de banco de dados, um mecanismo para auxiliar no controle da evolução de versões. A evolução de versões apresenta problemas principalmente quando ocorre em uma hierarquia de composição. Por exemplo, se existem objetos compostos fazendo referência à objetos componentes que representam versões, então modificações nos componentes podem causar alterações nos objetos que os referenciam. Normalmente as ações relativas a essas modificações são a notificação ou a propagação de mudanças. Algumas propostas adicionam mecanismos de notificação e propagação ao modelo conceitual utilizado por aplicações não convencionais. Isso é importante porque mecanismos deste tipo auxiliam no controle da integridade de dados e na divulgação de informações sobre as mudanças realizadas no banco de dados. O objetivo do trabalho aqui descrito é apresentar um mecanismo de notificação e propagação, que trata da evolução de dados, para um modelo de versões. É definido um modelo de classes com propriedades e operações que permitem manter e manipular subscrições de eventos referentes à evolução de objetos e versões e reagir diante da ocorrência destes eventos. Para atender os requisitos das diferentes aplicações, esta proposta especifica três estratégias. Cada uma delas apresenta diferentes funcionalidades: notificação ativa (enviar mensagens sobre mudanças ocorridas); notificação passiva (armazenar informações sobre mudanças ocorridas) e propagação (alterar o conteúdo do banco de dados automaticamente). Para validar o mecanismo proposto, uma implementação é apresentada para o sistema Oracle 8.
|
Page generated in 0.0793 seconds