Spelling suggestions: "subject:"linguagem dde programação."" "subject:"linguagem dde programaçãoo.""
81 |
A linguagem de programação CmTeles, Alexandre Prado, 1966- 10 November 1993 (has links)
Orientador: Rogerio Drummond Burnier Pessoa de Mello Filho / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matematica, Estatistica e Ciencia da Computação / Made available in DSpace on 2018-07-19T22:07:15Z (GMT). No. of bitstreams: 1
Teles_AlexandrePrado_M.pdf: 5491648 bytes, checksum: 14faed3acfe8b414f37a11a73429bab7 (MD5)
Previous issue date: 1993 / Resumo: Cm é uma linguagem de programação em evolução. Ela surgiu em 1985, no DCCUnicamp, e vem se desenvolvendo desde então. Atualmente, Cm apresenta características comparáveis com de C++ para programação orientada a objetos e caminha para além disso, incorporando facilidades para programação concorrente e distribuída. Esta tese de mestrado descreve o estágio atual da linguagem de programação Cm e seu compilador, ressaltando as contribuições do autor em ambos. Inicialmente a tese incorporava o manual de referência da linguagem, mas, devido ao volume final, este foi removido e publicado em separado. Para uma referência completa de Cm, o leitor deve consultar também seu manual de referência (vi de referências na própria tese). Descrevendo brevemente, Cm é uma extensão de C com facilidades para programação modular e orientada a objetos. Ela preserva a flexibilidade e estrutura de comandos de C, adicionando uniformidade e verificação forte de tipos, encapsulamento de dados, polimorfismo paramétrico, herança múltipla, sobrecarga de operadores e funções e tratamento de exceções. As características de Cm são comparáveis às de C++, mas seus recursos inovadores foram introduzidos de forma mais clara e coerente, evitando ainda diversas inconveniências oriundas de C. Seu compilador analisa automaticamente as relações de dependência entre módulos necessárias ao processo de make, gerenciando projetos complexos sem necessidade de intervenção do programador / Abstract: Since its first definition (1985, Computer Science Department of Unicamp) the Cm programming language has experienced continuous evolution. Cm compares favorably with C++ about object-oriented features; it is also about to support concurrent and distributed programming. This thesis describes the current state of the Cm programming language and its compiler emphasizing the author's contribution on both. For a complete language understanding please refer to the Cm Reference Manual, inc1uded in the first edition os this work but now published separately due to its bulk. Cm is briefly described as an extension of C supporting modular and object-oriented programming. Cm preserves its ancestor's flexibility and command structure while adding uniformity and strong type checking, data encapsulation, parametric polymorphism, multiple inheritance, operator/function overloading and exception handling. Although somewhat similar to C++, Cm combines new features in a c1earer and more coherent approach while avoiding several C inconsistencies. Also, the Cm compiler automatically analyzes modules in a complex project, so the programmer does not need to study dependency relations or write a make file / Mestrado / Mestre em Ciência da Computação
|
82 |
Improved visualization and exploration of web2.0 music network dataCruz, Nuno Filipe Marques January 2011 (has links)
Tese de mestrado integrado. Engenharia Informática e Computação. Faculdade de Engenharia. Universidade do Porto
|
83 |
Construção de uma interface KQML em SMALLTALKVieira, Richard Gregory Silva January 2000 (has links)
Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. / Made available in DSpace on 2012-10-17T21:48:19Z (GMT). No. of bitstreams: 0Bitstream added on 2014-09-25T16:04:49Z : No. of bitstreams: 1
174000.pdf: 1911771 bytes, checksum: 1696907804a5be5e416e1c523ff19078 (MD5) / Com a inteligência artificial distribuída e os sistemas multiagentes, surge também a necessidade de novas formas de comunicação e arquiteturas. Atualmente, já existem diversos modelos de comunicação e linguagens para a comunicação entre agentes. Dentre as várias propostas de linguagem de comunicação entre agentes, o KQML tornou-se um padrão de fato. Existe ainda outra proposta, a FIPA, a qual tem uma linguagem de comunicação entre agentes chamada ACL. Esta proposta, porém, não está tão difundida quanto o KQML. Este trabalho busca a criação de uma biblioteca, ou melhor, de uma interface KQML para o Squeak smalltalk, que tenha como capacidade implementar o tratamento sintático e que provenha facilidades para o tratamento semântico. Propõe ainda a implementação de um tratamento de rede, que permitirá a conexão entre agentes e tratará o envio de mensagens entre os mesmos.
|
84 |
Transformações de programa para suportar a evolução da linguagem JavaDantas, Reno Medeiros 29 September 2017 (has links)
Dissertação (mestrado)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2017. / Submitted by Fabiana Santos (fabianacamargo@bce.unb.br) on 2018-08-27T17:10:11Z
No. of bitstreams: 1
2018_RenoMedeirosDantas.pdf: 663898 bytes, checksum: 03e53bfdabfd3c16abc402c5b44b7443 (MD5) / Approved for entry into archive by Raquel Viana (raquelviana@bce.unb.br) on 2018-08-27T17:39:24Z (GMT) No. of bitstreams: 1
2018_RenoMedeirosDantas.pdf: 663898 bytes, checksum: 03e53bfdabfd3c16abc402c5b44b7443 (MD5) / Made available in DSpace on 2018-08-27T17:39:24Z (GMT). No. of bitstreams: 1
2018_RenoMedeirosDantas.pdf: 663898 bytes, checksum: 03e53bfdabfd3c16abc402c5b44b7443 (MD5)
Previous issue date: 2018-08-27 / Considerando a literatura de Engenharia de Software, tem sido reportado que os custos mais altos de desenvolvimento estão relacionados com as atividades de manutenção de software. De forma frequente, os sistemas precisam se adaptar às inovações negociais e tecnológicas. Similarmente, as linguagens de programação passam por um processo de evolução contínua – conforme os recursos (e limitações) de uma linguagem são melhor compreendidas, novas construções de linguagem são introduzidas. Todavia, quando um novo recurso estende ou modifica uma construção de linguagem, com o intuito de melhorar a facilidade de entendimento, manutenabilidade ou eficiência, recursos linguísticos anteriores passam a ser considerados obsoletos. Nesse sentido, a coexistência de construções novas e legadas em uma linguagem tende a aumentar a complexidade de manutenção dos sistemas existentes, bem como dificultar o aprendizado por parte dos desenvolvedores, que precisam conhecer estratégias diferentes de implementação para uma mesma situação. Esta dissertação tem como objetivo explorar o uso de suporte ferramental para apoiar técnicas de transformação de programas, na intenção de adaptar sistemas legados para usar construções mais recentes da linguagem de programação Java, que vem passando por um processo relativamente contínuo de melhoria. No total, foram implementadas seis transformações, que permitem, por exemplo, introduzir a construção multi-catch e expressões lambda em sistemas Java legados. Para compreender a aceitação dessas transformações por parte da comunidade de de desenvolvimento de software, foram aplicadas 2.371 transformações de programas em 40 projetos de código aberto. Foi identificado que transformações mais simples (como a introdução do operador diamante) possuem uma aceitação maior do que as transformações que apresentam um maior impacto no código fonte (como as transformações que convertem enhanced for loops em expressões lambda). / Considering the Software Engineering literature, it has been reported that most resources are spent during the activites of software maintenance. Often, software systems have to be adapted according either to the changes of the business needs or technology innovation. In a similar way, programming languages also have to evolve continually—as soon as the language resources (and limitations) are better understood, new programming languages constructs and features should be introduced. However, whenever a new feature is introduced in a programming language, some of the old constructs and idioms become obsolete. Accordingly, the coexistence of new and old constructs and idioms makes the programs hard to evolve and understand. In this master dissertation, we explore the use of program transformations that evolve Java legacy systems towards the use of new programming language constructs. We have implemented six transformations that allow, for instance, the automatic introduction of mult-catch and lambda expressions constructs in Java legacy systems. In order to understand the acceptance of this kind of transformation, we performed 2,371 transformation in 40 open-source projects. We realized that simple transformations (such as the introduction of the diamond operator) are more likely to be accepted than transformations that substantially change the code (such as the transformations that replace enhanced for loops by lambda expressions).
|
85 |
Avaliação de mecanismos para acesso a bancos de dados heterogeneos atraves da WEBSilva, Edmar Edilton da 14 September 2001 (has links)
Orientador: Celio Cardoso Guimarães / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-07-29T00:34:27Z (GMT). No. of bitstreams: 1
Silva_EdmarEdiltonda_M.pdf: 3398219 bytes, checksum: cd52d24097ba24cd0585d06c36967c13 (MD5)
Previous issue date: 2001 / Resumo: A W orld Wide Web é atualmente considerada a plataforma tecnológica ideal para o desenvolvimento de aplicações na Internet e intranets corporativas. Na maioria dos casos, essas aplicações acessam SGBDRs. O padrão CGI existente é muito ineficiente em períodos de grande volume de carga no servidor Web. A natureza do acesso a SGBDs através da WWW é completamente diferente das aplicações de bancos de dados tradicionais. A diferença básica está no caráter sem estado (stateless) do protocolo HTTP. O conceito de sessão de usuário, encontrado em aplicações de bancos de dados tradicionais, não se aplica na WWW. Esta dissertação compara algumas APIs de código aberto usadas para acessar bancos de dados heterogêneos. Essas APIs são muito usadas no desenvolvimento de aplicações de bancos de dados com preservação de estado (stateful) no contexto da Web. Nessas arquiteturas, um pool de conexões persistentes é usado para eliminar o custo associado à abertura de uma nova conexão com o SGBD. O ganho de desempenho é medido através de uma série de experimentos em que é simulado o tráfego gerado por vários clientes HTTP concorrentes. As APIs examinadas foram: Java Servlet (JDBC), Perl (DBI) e Python (Database API) / Abstract: The World Wide Web is currently considered the ideal technological platform for the development of applications on the Internet and corporate intranets. In the majority of the cases, such applications access relational DBMSs. The current CGI standard is very inefficient under periods of heavy workload on the Web server. The nature of the access to DBMSs through the WWW is quite different from the traditional database applications. The basic difference is in the stateless characteristic of the HTTP protocol. The user session concept, found in traditional database applications, does not apply on the WWW.
This dissertation compares some open source APIs used to access heterogeneous databases. These APIs have often been used for the development of statefuI database applications in the context of the Web. In these architectures, a persistent connection pool is used in order to eliminate the cost of establishing new connections to the DBMSs. The performance gain is assessed through a series of measurements in which we emulate the traffic caused by several concurrent HTTP clients. The APIs assessed were: Java Servlet (JDBC), Perl (DBI) and Python (Database API) / Mestrado / Mestre em Ciência da Computação
|
86 |
Implementação de um ambiente computacional para ensino à distância /Morais, Aleciana Vasconcelos de. January 2007 (has links)
Orientador: José Carlos Rossi / Banca: Luis Carlos Origa de Oliveira / Banca: Marco Aparecido Queiroz Duarte / Resumo: O Ensino a Distância (EAD) recebeu notável impulso a partir da aplicação de novas tecnologias, notadamente aquelas que envolvem a rede Internet. O uso das tecnologias digitais permitiu que a comunicação, o armazenamento, a distribuição e a apresentação dos conteúdos, fundamentais para o processo educativo, fossem realizados de modo mais eficiente. Entretanto pode-se aplicá-lo como um projeto piloto auxiliando as aulas presenciais. Ensina-se e aprende-se à distância, mas a verificação do saber é válida somente se realizada de modo presencial. Este trabalho apresenta o desenvolvimento de um Ambiente Virtual de Aprendizagem, tendo como objetivo criar um ambiente de ensino amigável, o qual possibilitará, entre outros, uma melhoria no conteúdo e na qualidade do mesmo, um relacionamento interativo entre alunos e professor e, uma ferramenta auxiliar as aulas presenciais. Para tal, foram desenvolvidas tecnologias para um sistema distribuído de ensino, tentando reviver o ambiente da sala de aula, mas assumindo as restrições impostas pela distância física e falta de recursos. É abordada também a manutenção do sistema por parte da equipe desenvolvedora, onde se utilizam os padrões de desenvolvimento Web e também o uso de software livre. Dessa forma, torna-se instrumento valioso para mensuração de conhecimentos. O texto apresenta ainda uma arquitetura computacional do modelo proposto, utilizando sistemas de código livre para sua implementação. / Abstract: Distance Learning (Ensino à Distância/EAD) received notable impulse from the application by new technologies, especially those involve InterNet network. The use of the digital technologies allowed that the communication, the storage, the distribution and the presentation of the basic contents for the educative process were applied in a more efficient way. However it can be applied as a pilot project assisting the presence classes. Teaching and learning occur at distance, but the verification of knowledge is only valid if realized in a presence way. This work presents the development of a Virtual Environment of Learning, having as objective to create an environment of friendly education, which will make possible, among others, an improvement in its content and quality, an interactive relationship between students and teacher and an auxiliary tool in presence classes. Therefore, technologies for a distributed system of education have been developed, trying to rescue classroom environment, but assuming the restrictions provoked by physical distance and lack os resources. This work treats about system maintenance by the team developers where they use the standard Web development and the use of free software. By this way, it becomes a valuable instrument for knowledge measuring. The text still presents a computational architecture of the purposed model, using systems of free code for its implementation. / Mestre
|
87 |
Software adaptativo: método de projeto, representação gráfica e implementação de linguagem de programação. / Adaptive software: project method, graphical representation and programming language implementation.Silva, Salvador Ramos Bernardino da 02 September 2011 (has links)
Linguagem para programação adaptativa se apresenta como um tema relativo às tecnologias adaptativas que suscita muitas pesquisas, até que venha a se constituir em mais uma ferramenta disponível ao programador. Nessa perspectiva, esta dissertação apresenta uma linguagem de alto nível, básica, que permita a geração de código adaptativo, bem como os requisitos e características de uma linguagem dessa natureza, recomendações sobre como projetar um software nessa linguagem e a representação gráfica do mesmo, o respectivo compilador e o ambiente de run-time no qual os programas serão executados. Apresenta, ainda, um exemplo de um programa fonte escrito na linguagem proposta. / Programming Languages for coding adaptive programs constitute a very rich research subject in the field of adaptive technology. It aims to offer a tool for programmers to express adaptive programs in a user-friendly, high-level, machine- readable, abstract notation. This MSc thesis presents the specification of requirements and desirable attributes for high-level languages allowing the automatic generation of adaptive code, and recommends a design methodology for conceiving and implementing adaptive programs using such languages as well. A graphical notation is suggested for that purpose, a compiler and a run-time environment are also considered and described. An example is given of the design and semi-formal specification of an adaptive software with the help of the suggested graphical notation, and finally the corresponding source program is encoded in the proposed language and executed.
|
88 |
Uncovering bugs in P4 programs with assertion based verification / Revelando bugs em programação P4 com verificação baseada em asserçõesFreire, Lucas Menezes January 2018 (has links)
Tendências recentes em redes definidas por software têm estendido a programabilidade de rede para o plano de dados através de linguagens de programação como P4. Infelizmente, a chance de introduzir bugs na rede também aumenta significativamente nesse novo contexto. Para prevenir bugs de violarem propriedades de rede, as técnicas de imposição e verificação podem ser aplicadas. Enquanto imposição procura monitorar ativamente o plano de dados para bloquear violações de propriedades, verificação visa encontrar bugs assegurando que o programa satisfaz seus requisitos. Abordagens de verificação de plano de dados existentes que são capazes de modelar programas P4 apresentam restrições severas no conjunto de propriedades que podem ser verificadas. Neste trabalho, nós propomos ASSERT-P4, uma abordagem de verificação de programas de plano de dados baseada em asserções e execução simbólica. Programadores de rede anotam programas P4 com asserções expressando propriedades gerais de corretude. Os programas anotados são transformados em modelos C e todos os seus caminhos possíveis são executados simbolicamente. Como execução simbólica é conhecida por possuir desafios de escalabilidade, nós também propomos um conjunto de técnicas que podem ser aplicadas neste domínio para tornar a verificação factível. Nomeadamente, nós investigamos o efeito das seguintes técnicas sobre o desempenho da verificação: paralelização, otimizações de compilador, limitações de pacotes e fluxo de controle, estratégia de reporte de bugs, e fatiamento de programas. Nós implementamos um protótipo para estudar a eficácia e eficiência da abordagem proposta. Nós mostramos que ela pode revelar uma ampla gama de bugs e defeitos de software, e é capaz de fazer isso em menos de um minuto considerando diversas aplicações P4 encontradas na literatura. Nós mostramos como uma seleção de técnicas de otimização em programas mais complexos pode reduzir o tempo de verificação em aproximadamente 85 por cento. / Recent trends in software-defined networking have extended network programmability to the data plane through programming languages such as P4. Unfortunately, the chance of introducing bugs in the network also increases significantly in this new context. To prevent bugs from violating network properties, the techniques of enforcement or verification can be applied. While enforcement seeks to actively monitor the data plane to block property violations, verification aims to find bugs by assuring that the program meets its requirements. Existing data plane verification approaches that are able to model P4 programs present severe restrictions in the set of properties that can be verified. In this work, we propose ASSERT-P4, a data plane program verification approach based on assertions and symbolic execution. Network programmers annotate P4 programs with assertions expressing general correctness properties. The annotated programs are transformed into C models and all their possible paths are symbolically executed. Since symbolic execution is known to have scalability challenges, we also propose a set of techniques that can be applied in this domain to make verification feasible. Namely, we investigate the effect of the following techniques on verification performance: parallelization, compiler optimizations, packet and control flow constraints, bug reporting strategy, and program slicing. We implemented a prototype to study the efficacy and efficiency of the proposed approach. We show it can uncover a broad range of bugs and software flaws, and can do it in less than a minute considering various P4 applications proposed in the literature. We show how a selection of the optimization techniques on more complex programs can reduce the verification time in approximately 85 percent.
|
89 |
CAS Serviço de adaptação de conteúdo para aplicações web multiplataforma / CAS - Serviço de Adaptação de Conteúdo para Aplicações Web Multiplataforma. (Inglês)Carvalho, Diego Aguiar de 24 June 2010 (has links)
Made available in DSpace on 2019-03-29T23:23:04Z (GMT). No. of bitstreams: 0
Previous issue date: 2010-06-24 / This dissertation presents and describes CAS that is a content adaptation service for
multiplatform web applications built using aspect-oriented programming. The main goals of
CAS are to be applicable in applications of different business domains and the separation of content adaptation as a crosscutting concern isolated from applications business
logic. It is also presented qualitative and quantitative results obtained from the case
studies developed with CAS and the evaluations made.
Keywords: Content Adaptation, Multiplatform Applications, Separation of
Concerns, Aspect-Oriented Programming. / Esta dissertação apresenta e descreve o CAS Content Adaptation Service, um serviço de adaptação de conteúdo para aplicações web multiplataforma construído com o uso do paradigma de programação orientada a aspectos. Os objetivos pretendidos com o CAS são possibilitar sua aplicação em diferentes domínios de negócio e separar a adaptação de conteúdo como um interessa transversal isolado da lógica de negócio das aplicações. São apresentados também os resultados dos estudos de caso quantitativo e qualitativo realizados com a utilização do CAS e as avaliações feitas sobre tais resultados.
Palavras-chave: Adaptação de Conteúdo, Aplicações Multiplataforma, Separação de
Interesses, Programação Orientada a Aspectos.
|
90 |
Implementação de um combinador de aspectos para a linguagem WSAL utlizando o padrão ESB / Implementação de um Combinador de Aspectos para a Linguagem WSAL utilizando o Padrão ESB (Inglês)Miranda, Bruno Holanda de 13 September 2010 (has links)
Made available in DSpace on 2019-03-29T23:22:44Z (GMT). No. of bitstreams: 0
Previous issue date: 2010-09-13 / This work describes the design and implementation of a new aspect weaver for WSAL (Web Service Aspect Language). The weaver relies on the ESB (Enterprise Service Bus) standard and its associated technologies as the mechanism for intercepting and manipulating the messages flow exchanged between service oriented applications. ESB is a middleware technology that defines a loosely-coupled integration platform based on open standards, which combines messages, web services, and data transformation and routing in order to connect and coordinate a large number of applications, keeping their transaction integrity. The implementation of a WSAL aspect weaver based on the ESB standard offers benefits in both directions. On one hand, ESB provides all the necessary infrastructure to realize the aspect weaving model proposed by WSAL. On the other hand, WSAL allows to add, in a more straightforward and modular way, new functionalities to the existing set of message mediating solutions already provided by ESB.
Keywords: Aspect-Oriented Programming; Service-Oriented Architectures; Enterprise Service Bus; Separation of Concerns. / Este trabalho descreve o projeto e implementação de um novo combinador de aspectos para a linguagem WSAL (Web Service Aspect Language). O combinador utiliza o padrão ESB (Enterprise Service Bus) e suas tecnologias associadas como mecanismo de interceptação e manipulação do fluxo de mensagens trocadas entre as aplicações orientadas a serviços. ESB é uma tecnologia de middleware que consiste em uma plataforma de integração de baixo acoplamento baseada em padrões, que combina mensagens, serviços web, transformação de dados e roteamento inteligente para conectar e coordenar a interação de um grande número de aplicações, mantendo integridade transacional. A implementação do combinador para WSAL com base no padrão ESB possibilita ganhos nos dois sentidos. De um lado, o ESB fornece a infra-estrutura necessária para materializar o modelo de combinação de aspectos proposto por WSAL. Do outro lado, a WSAL permite adicionar, de forma mais simples e modular, novas funcionalidades ao leque de soluções de intermediação de mensagens já oferecidas pelo ESB.
Palavras-chave: Programação Orientada a Aspectos; Arquitetura Orientada a Serviços; Enterprise Service Bus; Separação de Interesses
|
Page generated in 0.083 seconds