907 resultados para Orientação a objetos


Relevância:

100.00% 100.00%

Publicador:

Resumo:

Este trabalho realiza um estudo sobre a criação de sistemas tempo-real usando orientação a objetos, com enfoque no mapeamento de especificações para linguagens de programação. O paradigma de orientação a objetos tem sido usado nas diferentes fases relacionadas com o desenvolvimento de sistemas tempo-real, variando desde a modelagem até o ambiente de programação e execução, mas atualmente estas iniciativas ainda focam etapas isoladas do ciclo de desenvolvimento. O objetivo deste trabalho é o de preencher esta lacuna, propondo um mapeamento entre uma metodologia ou ferramenta de análise e projeto de sistemas tempo-real orientados a objetos e uma linguagem ou ambiente de desenvolvimento baseado no paradigma de orientação a objetos que possua suporte para atender às restrições temporais especificadas. O mapeamento proposto foi desenvolvido utilizando estudos de caso clássicos em aplicações tempo-real que foram baseados em dois recentes padrões. O primeiro é o emergente padrão Real-Time UML, que visa realizar a especificação de requisitos temporais utilizando diagramas UML com extensões que os representem. O outro padrão é o Real-Time Specification for Java, que consiste de uma interface de programação (API) para desenvolvimento de aplicações tempo-real com a linguagem Java. O relacionamento entre stereotypes e tags usados para representar restrições temporais em diagramas UML e o código Java correspondente é explicado e um sumário da estratégia de mapeamento é discutido.

Relevância:

100.00% 100.00%

Publicador:

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.

Relevância:

100.00% 100.00%

Publicador:

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.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Neste texto, o professor apresenta a sintaxe de herança nas linguagens Java e C++, ilustrando-a através de exemplos.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Neste texto o professor apresenta como é criada e estruturada uma classe com orientação a objeto.

Relevância:

70.00% 70.00%

Publicador:

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.

Relevância:

70.00% 70.00%

Publicador:

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.

Relevância:

70.00% 70.00%

Publicador:

Resumo:

Esta dissertação descreve uma arquitetura de suporte para a criação de sistemas de automação baseados em objetos distribuídos e no barramento CAN. Consiste basicamente da utilização de orientação a objetos para modelagem dos sistemas bem como sua implementação na forma de objetos autônomos. Os objetos são então distribuídos em uma rede de placas microcontroladas, as quais são utilizadas para o controle da planta, e PC's, os quais são utilizados para supervisão e monitoração. O suporte em tempo de execução para os objetos é dado por um sistema operacional que permite a sua implementação na forma de processos concorrentes, o qual, no caso das placas microcontroladas, é um sistema operacional do tipo embarcado. A comunica ção entre os objetos é realizada através de um protocolo publisher/subscriber desenvolvido para o barramento CAN que é suportado por uma biblioteca e elementos de comunicação especí cos. Este trabalho tem como objetivo apresentar alternativas aos sistemas de automação existentes atualmente, os quais baseiamse geralmente em dispositivos mestre/escravo e em comunicações do tipo ponto a ponto. Dessa forma, a arquitetura desenvolvida, apropriada para sistemas embarcados, visa facilitar a criação e dar suporte para sistemas de automação baseados em objetos distribuídos.

Relevância:

70.00% 70.00%

Publicador:

Resumo:

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).

Relevância:

70.00% 70.00%

Publicador:

Resumo:

Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq)

Relevância:

70.00% 70.00%

Publicador:

Resumo:

O bin picking é um processo de grande interesse na indústria, uma vez que permite maior automatização, aumento da capacidade de produção e redução dos custos. Este tem vindo a evoluir bastante ao longo dos anos e essa evolução fez com que sistemas de perceção 3D começassem a ser implementados. Este trabalho tem como principal objetivo desenvolver um sistema de bin picking usando apenas perceção 3D. O sistema deve ser capaz de determinar a posição e orientação de objetos com diferentes formas e tamanhos, posicionados aleatoriamente numa superfície de trabalho. Os objetos utilizados para fazer os testes experimentais, são esferas, cilindros e prismas, uma vez que abrangem as formas geométricas existentes em muitos produtos submetidos a bin picking. Após a identi cação e seleção do objeto a apanhar, o manipulador deve autonomamente posicionar-se para fazer a aproximação e recolha do mesmo. A aquisição de dados é feita através de uma câmara Kinect. Dos dados recebidos apenas são trabalhados os referentes à profundidade, centrando-se assim este trabalho na análise e tratamento de nuvem de pontos. O sistema desenvolvido cumpre com os objetivos estabelecidos. Consegue localizar e apanhar objetos em várias posições e orientações. Além disso apresenta uma velocidade de processamento compatível com a aplicação em causa.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Este trabalho discorre no escopo de informática médica, no âmbito da Unidade de Cardiologia Fetal do Instituto de Cardiologia - Fundação Universitária de Cardiologia do RS. Sabe-se que a medicina gera um grande volume de dados, sejam eles, textuais, numéricos, gráficos ou mesmo imagens ou sons geradas por equipamentos de ultra-som, tomógrafos computadorizados, ressonância magnética, RX, entre outros. Este trabalho desenvolve a integração das imagens ecocardiográficas fetais ao banco de dados. Atualmente, a tendência observada no desenvolvimento de sistemas de informações é a utilização de banco de dados que sejam capazes de manipular informações completas sobre seus pacientes, tais como: consultas, medicamentos, internações, bem como os laudos de exames com suas respectivas imagens quando estes possuírem. É com base nestas tendências que foram definidos os tópicos relevantes a serem estudados e implementados neste trabalho, integrando os estudos ecocardiográficos fetais com as informações do banco de dados da unidade de cardiologia fetal (UCF). Neste trabalho está apresentado o modelo do banco de dados da UCF. Para esta modelagem foram realizados estudos para aquisição de conhecimento da área e também para compreender as necessidades da unidade Da mesma forma, as imagens ecocardiográficas fetais foram estudadas para que fosse possível serem modeladas junto ao banco de dados. Para esta modelagem foi necessário fazer uma breve revisão dos conceitos utilizados pelo paradigma de orientação a objetos, uma vez que o modelo foi desenvolvido utilizando esta metodologia. As imagens ecocardiográficas fetais receberam grande atenção, uma vez que para elas foram criadas classes distintas. Também para aumentar a funcionalidade foram estudados conceitos de imagem digital, para posterior aplicação sobre as imagens do domínio. Foram realizados estudos sob manipulação de imagens, como modificação do brilho, medidas, filtros e formas de armazenamento. Considerando os formatos de gravação, dois padrões foram contemplados neste trabalho: o utilizado pela placa disponível no instituto denominado DT-IRIS e o DICOM que é um padrão internacional de armazenamento e comunicação de imagens médicas. Por fim, a implementação do protótipo procura demonstrar a viabilidade do modelo proposto, disponibilizando dados textuais, imagens e ainda realizando manipulações sobre estas imagens do domínio.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Este trabalho apresenta uma metodologia para a geração automática de ASICs, em VHDL, a partir da linguagem de entrada Java. Como linguagem de especificação adotou-se a Linguagem Java por esta possuir características desejáveis para especificação a nível de sistema, como: orientação a objetos, portabilidade e segurança. O sistema é especificamente projetado para suportar síntese de ASICs a partir dos modelos de computação Máquina de Estados Finita e Pipeline. Neste trabalho, adotou-se estes modelos de computação por serem mais usados em sistemas embarcados As principais características exploradas são a disponibilização da geração de ASICs para a ferramenta SASHIMI, o alto nível de abstração com que o projetista pode contar em seu projeto, as otimizações de escalonamento realizadas automaticamente, e o sistema ser capaz de abstrair diferentes modelos de computação para uma descrição em VHDL. Portanto, o ambiente permite a redução do tempo de projeto e, consequentemente, dos custos agregados, diminuindo a probabilidade de erros na elaboração do projeto, portabilidade e reuso de código – através da orientação a objetos de Java – podendo-se proteger os investimentos prévios em desenvolvimento de software. A validação desses conceitos foi realizada mediante estudos de casos, utilizando-se algumas aplicações e analisando os resultados obtidos com a geração dos ASICs.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

No projeto de arquiteturas computacionais, a partir da evolução do modelo cliente-servidor, surgiram os sistemas distribuídos com a finalidade de oferecer características tais como: disponibilidade, distribuição, compartilhamento de recursos e tolerância a falhas. Estas características, entretanto, não são obtidas de forma simples. As aplicações distribuídas e as aplicações centralizadas possuem requisitos funcionais distintos; aplicações distribuídas são mais difíceis quanto ao projeto e implementação. A complexidade de implementação é decorrente principalmente da dificuldade de tratamento e de gerência dos mecanismos de comunicação, exigindo equipe de programadores experientes. Assim, tem sido realizada muita pesquisa para obter mecanismos que facilitem a programação de aplicações distribuídas. Observa-se que, em aplicações distribuídas reais, mecanismos de tolerância a falhas constituem-se em uma necessidade. Neste contexto, a comunicação confiável constitui-se em um dos blocos básicos de construção. Paralelamente à evolução tanto dos sistemas distribuídos como da área de tolerância a falhas, foi possível observar também a evolução das linguagens de programação. O sucesso do paradigma de orientação a objetos deve-se, provavelmente, à habilidade em modelar o domínio da aplicação ao invés da arquitetura da máquina em questão (enfoque imperativo) ou mapear conceitos matemáticos (conforme o enfoque funcional). Pesquisadores demonstraram que a orientação a objetos apresenta-se como um modelo atraente ao desenvolvimento de aplicações distribuídas modulares e tolerantes a falhas. Diante do contexto exposto, duas constatações estimularam basicamente a definição desta dissertação: a necessidade latente de mecanismos que facilitem a programação de aplicações distribuídas tolerantes a falhas; e o fato de que a orientação a objetos tem-se mostrado um modelo promissor ao desenvolvimento deste tipo de aplicação. Desta forma, nesta dissertação definem-se classes para a comunicação do tipo unicast e multicast, nas modalidades de envio confiável e não-confiável. Além destes serviços de comunicação básicos, foram desenvolvidas classes que permitem referenciar os participantes da comunicação através de nomes. As classes estão organizadas na forma de um pacote, compondo um framework. Sua implementação foi desenvolvida usando Java. Embora não tivessem sido requisitos básicos, as opções de projeto visaram assegurar resultados aceitáveis de desempenho e possibilidade de reuso das classes. Foram implementados pequenos trechos de código utilizando e testando a funcionalidade de cada uma das classes de comunicação propostas.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

A atividade de teste constitui uma fase de grande importância no processo de desenvolvimento de software, tendo como objetivo garantir um alto grau de confiabilidade nos produtos desenvolvidos. O paradigma da Orientação a Objetos (OO) surgiu com o objetivo de melhorar a qualidade bem como a produtividade no desenvolvimento de aplicações. Entretanto, apesar do aumento constante de aceitação do paradigma OO pela indústria de software, a presença de algumas de suas características torna a atividade de teste de programas neste paradigma mais complexa do que o teste de sistemas tradicionais. Entre estas características cita-se a herança, o encapsulamento, o polimorfismo e a ligação dinâmica [EIS 97] [PRE 95] [UNG 97]. Algumas técnicas estão sendo implementadas para auxiliarem a atividade de teste através do uso da tecnologia de reflexão computacional [HER 99]. Estas técnicas permitem a realização de análises de aspectos dinâmicos dos programas, sem a necessidade de instrumentar o código-fonte das aplicações que estão sendo monitoradas. Com o objetivo de auxiliar o processo de teste de programas orientados a objetos, este trabalho aborda o desenvolvimento de uma ferramenta, a qual automatiza parcialmente o teste de programas escritos em Java. A ferramenta evidencia o teste de estados fazendo uso da tecnologia de reflexão computacional. Através da especificação de asserções, feitas pelo usuário da ferramenta, na forma de invariantes de classe, pré e pós-condições de métodos, é possível verificar a integridade dos estados dos objetos durante a execução do programa em teste. A ferramenta possibilita também, armazenar a seqüência de métodos chamados pelos objetos da aplicação em teste, tornando possível ao testador, visualizar o histórico das interações entre os objetos criados no nível-base.