Tesis sobre el tema "Linguagem de programação (eventos)"
Crea una cita precisa en los estilos APA, MLA, Chicago, Harvard y otros
Consulte los 50 mejores tesis para su investigación sobre el tema "Linguagem de programação (eventos)".
Junto a cada fuente en la lista de referencias hay un botón "Agregar a la bibliografía". Pulsa este botón, y generaremos automáticamente la referencia bibliográfica para la obra elegida en el estilo de cita que necesites: APA, MLA, Harvard, Vancouver, Chicago, etc.
También puede descargar el texto completo de la publicación académica en formato pdf y leer en línea su resumen siempre que esté disponible en los metadatos.
Explore tesis sobre una amplia variedad de disciplinas y organice su bibliografía correctamente.
Neves, Carlos Rafael Gimenes das. "JavAsync : extensão da linguagem Java para tratamento de eventos assíncronos". Instituto Tecnológico de Aeronáutica, 2013. http://www.bd.bibl.ita.br/tde_busca/arquivo.php?codArquivo=2858.
Texto completoBodemüller, Junior Rogério. "Mecanismos de previsão de perda de deadline para tratadores de eventos RTSJ". reponame:Repositório Institucional da UFSC, 2014. https://repositorio.ufsc.br/xmlui/handle/123456789/129271.
Texto completoMade available in DSpace on 2015-02-05T20:53:40Z (GMT). No. of bitstreams: 1 329307.pdf: 1643347 bytes, checksum: 3de99811d39b919df26c4a225efbebf6 (MD5) Previous issue date: 2014
Estrategias para estimar a probabilidade de deadlines firmes serem alcançados são fundamentais porque permitem a realização de ações corretivas para a melhoria do desempenho do sistema. Este tipo de estrategia permite a avaliação de sistemas de tempo real que estão em funcionamento, principalmente quando ha alguma mudança quanto ao projeto inicial, ou mesmo avaliar novos projetos para analisar se as restrições temporais foram definidas adequadamente. Nesta dissertação são apresentados dois mecanismos de previsão de perda de deadline em sistemas monoprocessados e multiprocessados de tempo real firme. O Mecanismo de Previsão de Perda de Deadline Baseado na Folga (MBF) utiliza dados sobre o comportamento das tarefas (deadline, tempo de computação e o tempo de espera na fila de prontos do processador) para calcular a folga e determinar se o deadline pode ser cumprido. O Mecanismo de Previsão de Perda de Deadline Baseado no Histórico (MBH) utiliza regressão linear e relaciona dados de um histórico de execuções passadas, que possui o tamanho da fila de prontos do processador e seu respectivo tempo de resposta, com o tamanho atual da fila de prontos do processador para calcular o tempo de resposta previsto da thread e depois definir a probabilidade dela cumprir seu deadline. Sera apresentado um modelo de tarefas para aplicações não críticas em um sistema de tempo real firme que caracteriza uma aplicação real utilizada nos testes, o cruise control. Estes testes foram feitos utilizando uma implementação em Java RTS desta aplicação em um ambiente não especialista, próximo de um ambiente de tempo real comum, com varias configurações, buscando abranger uma grande gama de cenários. Após os testes, a qualidade das previsões é avaliada utilizando as Métricas Taxa Relativa de Erro e Taxa de Previsões Corretas. Os resultados demonstram que ambos os mecanismos trazem bons resultados em ambientes com cargas baixas, medias e altas, sendo o MBF um excelente previsor para sistemas monoprocessados e o MBH mais adequado aos sistemas multiprocessados.
Abstract: Strategies to estimate the probability of rm deadlines be achieved areessential because they allow the use of corrective actions to improvesystem performance. This type of strategy allows the evaluation of realtimesystems that are in operation, especially when there is any changeon the initial design, or evaluate new projects to analyze whether thetemporal constraints were appropriately settled. In this dissertation,two deadline missing prediction mechanisms for rm real-time uniprocessorand multiprocessor systems are presented. The Deadline MissingPrediction Mechanism Based on Slack (MBF) uses data of tasks's behavior(deadline, computation time and the waiting time in the processorready queue) to calculate the slack and determine whether the deadlinecan be met. The Deadline Missing Prediction Mechanism Based onHistorical Data (MBH) uses linear regression and associates data froma past execution's historical, which is the size of the processor readyqueue and its associated response time, with the current size of processorready queue to calculate the predicted response time of the threadand then dene the probability of meeting its deadline. A model of tasksfor non-critical applications in a rm real-time system which characterizesa real application, similar to the cruise control, will be usedin the tests. These tests were done using an implementation in JavaRTS applied to a non-specialist environment as a common real-timeenvironment with various congurations scenarios. The quality of theforecasts is evaluated using the metrics Relative Error Rate and CorrectPrediction Rate. The results indicate that both mechanisms improve theperformance in environments with high, medium and low system loadwhereas the MBF being an adequate predictor for uniprocessor systemsand the MBH best suited to multiprocessor systems.
Venâncio, Neto Augusto José. "Implementação de um discriminador de repasse de eventos para o ambiente SNMP". Florianópolis, SC, 2001. http://repositorio.ufsc.br/xmlui/handle/123456789/82124.
Texto completoMade available in DSpace on 2012-10-19T11:50:00Z (GMT). No. of bitstreams: 1 188654.pdf: 642383 bytes, checksum: e19e1cbf784b0ee3d2299788e6b2fd3d (MD5)
Esta dissertação apresenta um modelo e um protótipo, a serem utilizados em ambientes SNMP, os quais implementam as funcionalidades de Objetos Discriminadores de Repasse de Eventos, definidos para ambientes OSI na norma X-734. Esta aplicação, além de possibilitar a utilização de mais de uma estação de gerenciamento divididas tanto em módulos de gerenciamento quanto em áreas de atuação, também torna possível enfatizar o modelo na recepção de Traps. Desta forma, o modelo assume uma importante característica, a descentralização. Apresenta também os resultados dos testes efetuados para avaliação e validação do protótipo e do modelo apresentado, assim como os ambientes onde foram realizados os testes.
Bosnardo, Raquel Cristina. "Um sistema de video-conferencia para educação a distancia baseado em padrões abertos". [s.n.], 2001. http://repositorio.unicamp.br/jspui/handle/REPOSIP/261748.
Texto completoDissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Eletrica e de Computação
Made available in DSpace on 2018-07-28T22:47:43Z (GMT). No. of bitstreams: 1 Bosnardo_RaquelCristina_M.pdf: 5414563 bytes, checksum: 544795dcf9e396a0241a2e0bb1dfee6c (MD5) Previous issue date: 2001
Resumo: Este trabalho descreve o desenvolvimento de um sistema de videoconferência para redes de alto desempenho, que pode ser integrado em sistemas de educação a distância os quais necessitam desta funcionalidade. O sistema é portável, não proprietário e distribuído e permite a interação entre professor e estudante (em um ambiente de educação a distância) através de transmissões em áudio e vídeo, e através de notificações por eventos. Para a implementação, foram utilizadas a arquitetura CORBA (Common Object Request Broker Architecture) e a linguagem Java. Dois serviços CORBA foram empregados: AIV Streams para o transporte da mídia contínua e o Serviço de Eventos para a notificação de eventos. O projeto e desenvolvimento utiliza tecnologias modernas tais como UML (Unified Modeling Language), componentes de software, e orientação a objetos
Abstract:This dissertation deseribes the development of a videoconference system targeted to high speed networks that can be integrated into distance learning systems lacking of this functionality. The system is designed to be portable, open, and distributed, allowing the integration among teacher and students (in a distance Jearning environment) through live audio and video, and event notifications. The impJementation relies on the CORBA (Common Object Request Broker Architecture) architecture and the Java language. Two CORBA services were employed: AIV Streams for eontinuous media transport and Event Service for event notification. The design and development employ modem technologies such as UML (Unified Modeling Language), software components, and object-orientation
Mestrado
Engenharia Eletrica
Mestre em Engenharia Elétrica
Fialho, Vânia Cláudia Lopes. "Programação de eventos e consumo cultural". Master's thesis, Escola Superior de Hotelaria e Turismo do Estoril, 2012. http://hdl.handle.net/10400.26/4463.
Texto completoThe cultural offer is a factor of attractiveness of the territory. It comprises a set of initiatives that promote the meeting of the individual with the leisure experiences that enriches their spare time. Initially this research was based on the definition of methodologies that will enable to follow a methodical structure, whose purpose is essentially to identify the problem focused in this study. Through the initial question, we begin this study with a set of bibliography that enabled a better understanding of the various issues that we will address. Then based on - strategic policies of the public organisms responsible for defining and running this activities, you can evaluate them as influencing factors of development. Later a more conceptual approach will address the issue of supply and consumption of culture. Finally we analyze Cascais municipality as the basis of our research, focusing on supply and cultural consumption. This aims to consolidate information obtained through concepts, marked initially by a survey of data on the supply of initiatives of several parameters and variables, obtained by a set of Cascais cultural agendas between 2005 and 2010. Afterwards a questionnaire was used on the visitors of the equipment chosen to this implementation, verifying their cultural habits consumption Visitors were inquired about their leisure routines, linked to the type of activities that they usually enjoy. Whether Cascais is the receiver of these habits is a key point to answer the remaining questions. Broadly speaking with this research we aim to understand how people find cultural information and what is the role of the agenda in the search process. On the other hand the questionnaire will enable to understand the opinion of the respondents about the tool that was used in this research.
Teles, Alexandre Prado 1966. "A linguagem de programação Cm". [s.n.], 1993. http://repositorio.unicamp.br/jspui/handle/REPOSIP/275944.
Texto completoDissertaçã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
Pimenta, José Miguel Mestre. "Temple - uma linguagem de programação para o ensino de programação". Master's thesis, Universidade de Évora, 2019. http://hdl.handle.net/10174/26085.
Texto completoCarvalho, Claúdio Sérgio da Ros de 1962. "Projeto de uma linguagem de programação". [s.n.], 1989. http://repositorio.unicamp.br/jspui/handle/REPOSIP/275824.
Texto completoDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matematica, Estatistica e Ciencia da Computação
Made available in DSpace on 2018-07-14T06:12:35Z (GMT). No. of bitstreams: 1 Carvalho_ClaudioSergiodaRosde_M.pdf: 4046863 bytes, checksum: 9f43bdd999d8967273f98101a319ae69 (MD5) Previous issue date: 1989
Resumo: A proposta deste trabalho é a apresentação dos aspectos principais da linguagem de programação MG, que foi engendrada com o objetivo de incorporar algumas facilidades, chamadas do baixo nível, da linguagem C à estrutura da linguagem Modula-2. Como evoluções de MC em relação a Modula-2 e C podem-se citar, entre outras, a inclusão de tratamento de exceções, vetores com limites abertas, subprogramas com número variável de parâmetros c processos. O resultado é uma linguagem simples e precisa, de propósito geral, mas adequada à programação de sistemas
Abstract: Not informed
Mestrado
Mestre em Ciência da Computação
Mello, Patricia Oakim Bandeira de. "Arte e programação na linguagem Processing". Pontifícia Universidade Católica de São Paulo, 2015. https://tede2.pucsp.br/handle/handle/18199.
Texto completoSince the 1960s, many artists have been experimenting with computer technology to create artwork. Different programming languages have also emerged since then with the goal of making programming easier for people with various backgrounds and interests, such as artists and children. Processing is one of these programming languages. It was created in 2001 at the Massachusetts Institute of Technology (MIT) with the objective of streamlining programming in the visual arts field. Processing was widely adopted as the programming language used for teaching programming to artists in several countries and it is also used for the final production of works of art. Besides, it was the inspiration for Arduino, a prototyping platform for physical computing that has become quite popular. Entitled Art and Programming in the Processing language, this research aims to investigate the following question: "What are the relationships between software, programming, and art in the Processing programming language? The research debates, from the Processing perspective, software in society and art, in addition to examining the role of the artist-‐programmer -‐ the artist who works directly with programming languages. It discusses still the learning of programming as part of computer and code literacy. The research methodology is based on a literature review and critical analysis, along with a case study of the Processing programming language. The research is complemented by the direct experience of the author and two interviews. This research presents cultural aspects of art made with Processing, encompassing from the context of programming languages that make the programming activity easier up to aspects of free software and hacker culture in the community of artists-‐programmers that use Processing
Desde a década de 1960, diversos artistas vêm experimentando com a tecnologia computacional na criação de suas obras de arte. Também diferentes linguagens de programação surgiram com o objetivo de tornar a programação mais fácil para pessoas com formações e interesses diversos, como artistas ou crianças. O Processing, umas dessas linguagens, surgiu em 2001, no Massachusetts Institute of Technology (MIT), com o objetivo de facilitar a programação nas artes visuais. Ele foi amplamente adotado em vários países no ensino de programação para artistas e também para a produção final de obras de arte. Além disso, foi a inspiração para o Arduino, uma plataforma de prototipagem para interação física com o ambiente que se tornou bastante popular. Intitulada Arte e Programação na linguagem Processing, esta pesquisa se propõe a investigar a seguinte questão: "Quais são as relações entre software, programação e arte na linguagem de programação Processing?". A pesquisa debate, sob a perspectiva do Processing, o software na sociedade e na arte, além de examinar o papel do artista-‐programador aquele que trabalha diretamente com linguagens de programação. Além disso, discute também o aprendizado de programação como parte de uma alfabetização digital. A metodologia de pesquisa se baseia em um levantamento bibliográfico acompanhado de uma análise crítica do material consultado e um estudo de caso da linguagem de programação Processing. A pesquisa é ainda complementada pela experiência direta da autora e por duas entrevistas. Esta investigação apresenta aspectos culturais da arte feita em Processing, englobando desde o contexto das linguagens de programação que facilitam a atividade de programar até características do software livre e da cultura hacker na comunidade de artistas-‐programadores do Processing
Barros, Pedro Loura. "Linguagem concurrent Contract-Java". Master's thesis, Universidade de Aveiro, 2016. http://hdl.handle.net/10773/21754.
Texto completoResumo não disponivel
The goal of this thesis is the study on the integration of mechanisms from concurrent programming, objected-oriented languages, and Designby- Contract. We propose a new language, Concurrent Contract-Java (CCJava), that's an extension of Contract-Java, a language that has extended Java with Design-by-Contract language mechanisms. CCJava aims to ease object-oriented concurrent programming, ensuring safety (no race conditions will occur) and abstracting away lower level concurrent realizations such as the choice for shared object synchronization schemes. It reuses the semantics of Java mechanisms, together with the semantics of objects and Design-by-Contract constructs, providing simple and expressive language mechanisms for concurrency. CCJava guarantees all aspects of a shared object's concurrent utilization and thread creation, using only two new language keywords: shared, and remote. A compiler was developed implementing the more important language mechanisms, and used as a proof of concept of our proposals
Portugal, Denise Sodero Vinhas. "Modelagem e programação de sistemas a eventos discretos periodicos". [s.n.], 2006. http://repositorio.unicamp.br/jspui/handle/REPOSIP/261069.
Texto completoTese (doutorado) - Universidade Estadual de Campinas, Faculdade de Engenharia Eletrica e de Computação
Made available in DSpace on 2018-08-07T23:46:24Z (GMT). No. of bitstreams: 1 Portugal_DeniseSoderoVinhas_D.pdf: 1731980 bytes, checksum: 98f3bdce8b6d0d6e00e2c6c96ba968f7 (MD5) Previous issue date: 2006
Resumo: Uma metodologia para obter um escalonamento cíclico em Sistemas a Eventos Discretos é proposta neste trabalho. Esta metodologia parte de uma rede de Petri que modela minimamente um sistema a eventos discretos funcionando em regime periódico. O método identifica quais são as redes que podem ser tratadas por ele. As redes de Petri tratáveis serão decompostas em subredes identificadas por processos, que são classificados de acordo com suas topologias, o que permite a modelagemdo escalonamento cíclico do sistema através de uma modelagem em programação linear inteira mista. Este modelo em MILP será implementado no software GAMS. Alguns exemplos tirados da literatura serão usados para mostrar e testar a aplicação desta metodologia
Abstract: A methodology to obtain a cyclic scheduling in Discrete Events Systems is proposed in this work. This methodology initializes with a Petri netmodeling a discrete events system functioning with periodic processing. The method identifieswhich are the nets that can be treaties by him. The ¿tractable¿ Petri nets will be decomposed in subnets identified by process, which are classified according to its topologies, that permits us tomodel the cyclic scheduling of the systemby amixed integer linear programming model. This model in MILP will be implemented using software GAMS. Some examples from the literature will be used to show and to test the application of this methodology
Doutorado
Automação Industrial
Doutor em Engenharia Elétrica
Mendeleck, Andre. "Uma linguagem para programação off-line de robos". [s.n.], 1991. http://repositorio.unicamp.br/jspui/handle/REPOSIP/263857.
Texto completoDissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Mecanica
Made available in DSpace on 2018-07-13T23:58:10Z (GMT). No. of bitstreams: 1 Mendeleck_Andre_M.pdf: 5599564 bytes, checksum: ec23fed530a74495ffccc72362bbbffa (MD5) Previous issue date: 1991
Resumo: Nesta dissertação é especificado e implementado o protótipo de uma linguagem de programação e um sistema de CAD-Simulação para um robô manipulador antropomórflco com 6 graus de liberdade. Trata-se de uma linguagem de alto nível destinada a programação de movimentos a nível de manlpulador e um sistema de CAD-Simulação que permite a visualização, em 'tempo real' , dos movimentos do robô em um terminal gráfico, sendo também, implementado um módulo de teach-in e um módulo de simulação apresentando informações sobre a evolução cinemátlca e dinâmica dos links e garra do robô
Abstract: This dissertation contains the specification and implementation of a prototype language program and a CAD-Simulation system for an antropomorphic manipulator with six degrees of freedom. The system has a high level language for motion program, a CAD-Simulator system to visualize robot motion in "real time", a teach-in and a simulation sub-system to visualize the kinematic and dynamic evolution of the links and the gras
Mestrado
Mecanica dos Sólidos e Projeto Mecanico
Mestre em Engenharia Mecânica
Guimarães, Jose de Oliveira. "Projeto de uma linguagem orientada a objetos". [s.n.], 1992. http://repositorio.unicamp.br/jspui/handle/REPOSIP/276540.
Texto completoDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matematica, Estatistica e Ciencia da Computação
Made available in DSpace on 2018-07-15T20:48:03Z (GMT). No. of bitstreams: 1 Guimaraes_JosedeOliveira_M.pdf: 1519124 bytes, checksum: 4a8636075947764792f647ccfc2dac31 (MD5) Previous issue date: 1992
Resumo: A orientação a objetos é um mecanismo que permite o reaproveitamento de software, tendo por isso despertado grande interesse nos últimos anos. Este paradigma tem sido utilizado em várias áreas da computação, como banco de dados, análise de sistemas e linguagens de programaçao. Esta dissertação e dividida em duas partes. A primeira estuda a tecnologia existente sobre orientação a objetos e linguagens de programação. São analisados os mecanismos presentes nas linguagens orientadas a objeto e os objetivos destes mecanismos. Alguns problemas com o paradigma são considerados, apresentando as possíveis soluções, quando existirem. A segunda parte da dissertação apresenta construções que extendem C++, e são justificadas com base no estudo feito na primeira parte.
Abstract: Not informed.
Mestrado
Mestre em Ciência da Computação
Silva, Ricardo Frohlich da. "TRADUÇÃO DA ESPECIFICAÇÃO SCJ PARA LINGUAGEM DE PROGRAMAÇÃO C++". Universidade Federal de Santa Maria, 2015. http://repositorio.ufsm.br/handle/1/5452.
Texto completoSafety critical systems are systems where its failures can cause irreparable damage for this reason the development of safety critical systems involves safety issues and require rigorous validation in the certification process. Certification processes are expensive and lengthy to follow laws and rigorous rules. With the continuous evolution provided by general purpose programming languages, ease of learning, and the use of these languages in industry and academy, researches have been performed aiming to adapt general purpose programming languages for use in safety-critical applications. The purpose of these adaptations is to reduce the scope of commands found in general purpose languages in order to develop safety critical systems, for example, to avoid or reduce the use of recursions. Some examples of these adaptations include the Real Time Specification for Java (RTSJ), developed in 1998 and Safety Critical Java. SCJ uses objects and concepts defined by the RTSJ focusing on the development of safetycritical applications. In SCJ, the concept of missions is deployed where each mission consists of schedulable objects defined by the RTSJ. The portability of a Java application is one of the main factors for choosing this language. However, there is great difficulty in finding virtual machines for embedded safety-critical systems, therefore it is difficult to benefit from the portability provided by the Java virtual machine in this context. Nevertheless, an application developed in the C++ programming language can be executed directly on the device without using a virtual machine. This work presents a translation of the Safety Critical Java to the C++ programming language, maintaining the behaviour of objects that implement the concept of missions for SCJ in C++. This enables the execution of safety-critical applications in embedded devices without the use of a virtual machine.
Sistemas críticos são sistemas em que suas falhas podem causar danos irreparáveis como colocar a vida de pessoas em risco e por este motivo envolve questões de segurança e exige uma validação rigorosa no processo de certificação. Processos de certificação são caros e demorados que seguem leis e regras rigorosas. Com a evolução contínua proporcionada por linguagens de programação de propósito geral, a facilidade de aprendizado, assim como a utilização destas linguagens na indústria e acadêmia, pesquisas vem sendo realizadas com o intuito de adaptar linguagens de programação de propósito gerais para serem utilizadas em aplicações críticas de tempo real. O objetivo destas adaptações é de tornar o escopo de comandos das linguagens para desenvolvimento de sistemas críticos mais restritos, como por exemplo, ao evitar ou reduzir a utilização de recursões. Alguns exemplos dessas adaptações são a Especificação de Tempo Real Java (Real Time Specification for Java - RTSJ) desenvolvida no ano de 1998, e a Safety Critical Java (SCJ) que utiliza objetos e conceitos definidos pela RTSJ com enfoque no desenvolvimento de aplicações para sistemas críticos. Na SCJ foi implementado o conceito de missões onde cada missão é composto por objetos escalonáveis definidos pela RTSJ. A portabilidade de uma aplicação desenvolvida em Java é um dos principais fatores dos quais desenvolvedores desejam utilizá-la. Todavia, existe uma grande dificuldade de encontrar máquinas virtuais para sistemas críticos embarcados, dificultando a portabilidade da qual a linguagem Java fornece. Por outro lado, uma aplicação desenvolvida na linguagem de programação C++ pode ser executada diretamente no dispositivo sem a necessidade de utilizar uma máquina virtual. Por este motivo, nesta dissertação é apresentada uma tradução da especificação Safety Critical Java na linguagem de programação C++, com o objetivo de manter o comportamentos de uma aplicação desenvolvida em SCJ e assim possibilitando a execução de uma aplicação com requisitos temporais em diversos dispositivos embarcados.
Pinho, Eduardo Gurgel. "Uma Linguagem de Programação Paralela Orientada a Objetos para Arquiteturas Distribuídas". reponame:Repositório Institucional da UFC, 2012. http://www.repositorio.ufc.br/handle/riufc/17845.
Texto completoSubmitted by guaracy araujo (guaraa3355@gmail.com) on 2016-06-21T19:17:42Z No. of bitstreams: 1 2012_dis_egpinho.pdf: 1247267 bytes, checksum: b2db45af231441771b82531797f8c819 (MD5)
Approved for entry into archive by guaracy araujo (guaraa3355@gmail.com) on 2016-06-21T19:19:30Z (GMT) No. of bitstreams: 1 2012_dis_egpinho.pdf: 1247267 bytes, checksum: b2db45af231441771b82531797f8c819 (MD5)
Made available in DSpace on 2016-06-21T19:19:30Z (GMT). No. of bitstreams: 1 2012_dis_egpinho.pdf: 1247267 bytes, checksum: b2db45af231441771b82531797f8c819 (MD5) Previous issue date: 2012
In object-oriented programming (OOP) languages, the ability to encapsulate software concerns of the dominant decomposition in objects is the key to reaching high modularity and loss of complexity in large scale designs. However, distributed-memory parallelism tends to break modularity, encapsulation, and functional independence of objects, since parallel computations cannot be encapsulated in individual objects, which reside in a single address space. For reconciling object-orientation and distributed-memory parallelism, this work introduces OOPP (Object-Oriented Parallel Programming), a style of OOP where objects are distributed by default. As an extension of C++, a widespread language in HPC, the PObC++ language has been designed and protoyped, incorporating the ideas of OOPP
Em programação orientadas a objetos (POO) , a habilidade de encapsular interesses de software da dominante decomposição em objetos é a chave para alcançar alto nível de modularidade e diminuição de complexidade em projetos de larga escala. Entretanto, o paralelismo de memória distribuída tende a quebrar modularidade, encapsulamento e a independência de objetos, uma vez que as computações paralelas não podem ser encapsuladas em objetos individuais, os quais residem em um espaço de endereçamento único. Para reconciliar orientação a objetos e paralelismo em memória distribuída, esse trabalho introduz a PPOO (Programação Paralela Orientada a Objetos), um estilo de POO onde objetos são distribuídos por padrão. Como uma estensão do C++, uma linguagem consolidada em CAD, a linguagem PObC++ foi projetada e prototipada, incorporando as ideias da PPOO.
Furuti, Carlos Alberto. "Um compilador para uma linguagem de programação orientada a objetos". [s.n.], 1991. http://repositorio.unicamp.br/jspui/handle/REPOSIP/276004.
Texto completoDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matematica, Estatistica e Ciencia da Computação
Made available in DSpace on 2018-07-14T00:51:57Z (GMT). No. of bitstreams: 1 Furuti_CarlosAlberto_M.pdf: 3275024 bytes, checksum: c9e79cba4eee955be84f82738f61261b (MD5) Previous issue date: 1991
Resumo: Não informado.
Abstract: Not informed.
Mestrado
Mestre em Ciência da Computação
Saifi, Mohamad Maamoun El. "PMPI: uma implementação MPI multi-plataforma, multi-linguagem". Universidade de São Paulo, 2006. http://www.teses.usp.br/teses/disponiveis/3/3141/tde-08122006-154811/.
Texto completoThis dissertation describes PMPI, an implementation of the MPI standard on a heterogeneous platform. Unlike other MPI implementations, PMPI permits MPI computation to run on a multiplatform system. In addition, PMPI permits programs executing on different nodes to be written in different programming languages. PMPI is build on the top of Dotnet framework. With PMPI, nodes call MPI functions that are transparently executed on the participating nodes across the network. PMPI can span multiple administrative domains distributed geographically. To programmers, the grid looks like a local MPI computation. The model of computation is indistinguishable from that of standard MPI computation. This dissertation studies the implementation of PMPI with Microsoft Dotnet framework and MONO Dotnet framework to provide a common layer for a multiprogramming language multiplatform MPI library. Results obtained from tests running PMPI on a heterogeneous system are analyzed. The obtained results show that PMPI implementation is feasible and has many advantages that can be explored.
Valente, André de Souza Mello. "Extensões orientadas a objetos da linguagem LISP : uma implementação do CLOS". Instituto Tecnológico de Aeronáutica, 1990. http://www.bd.bibl.ita.br/tde_busca/arquivo.php?codArquivo=1427.
Texto completoCosta, Clevan Ricardo da. "Otimização de tipos em linguagem LL". [s.n.], 1995. http://repositorio.unicamp.br/jspui/handle/REPOSIP/276025.
Texto completoDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matematica, Estatistica e Ciencia da Computação
Made available in DSpace on 2018-07-21T03:22:30Z (GMT). No. of bitstreams: 1 Costa_ClevanRicardoda_M.pdf: 1291094 bytes, checksum: 09ecb271fba38a234b38746d0b88988d (MD5) Previous issue date: 1995
Resumo: Este trabalho consiste na introdução de uma fase de otimização no compilador para a linguagem LL. O eu principal objetivo é a inferência de tipos, realizada através de uma análise de fluxo de dados. São apresentados diversos métodos para inferência de tipos em linguagens orientadas a objetos, bem como uma revisão sobre análise de fluxo de dados. O método de Kaplan e Ullman éapresentado com mais detalhes, juntamente com sua adaptação para LL , sua implementação e junção ao compilador desenvolvido para a linguagem. Finalmente são apresentadas as conclusões, os resultados obtidos e as propostas de extensões futuras para o trabalho.
Abstract: We describe in this thesis an optirnization phase for a compiler for the language LL. Its main goal is type inference achieved through data fiow analysis. Several methods for type inference in object-oriented languages are described, including a description of data fiow analysis. The Kaplan and Ullman method is described in more detail. Its adaptation to . LL and the implementation within an existing compiler are also described. We present also some final conclusions, including examples and possible extensions.
Mestrado
Mestre em Ciência da Computação
Ferreira, Lígia Maria Rodrigues da Silva. "Programação por restrições distribuídas em Java". Doctoral thesis, Universidade de Évora, 2004. http://hdl.handle.net/10174/11243.
Texto completoPelegrini, Eder José. "Códigos adaptativos e linguagem para programação adaptativa: conceitos e tecnologia". Universidade de São Paulo, 2009. http://www.teses.usp.br/teses/disponiveis/3/3141/tde-13072009-160204/.
Texto completoThis research studies the application of the Adaptive Technology in the field of programming Language and codes, which objective is the proposition of a mechanism designed to build codes capable of self-modifying in compliance which the concepts of Adaptive Technology. This proposal is formulated by means of the description of an assembly language for adaptive programming and its run-time mechanism. In addition to the language proposal, a run-time mechanism based on a new adaptive device (adaptive execution automata) is conceived. That avoids some difficulties to perform code modification existent in traditional run-time mechanisms. In order to represent and execute the adaptive codes, this device aggregates characteristic of the traditional run-time mechanism and the adaptive automata. The present dissertation describes the results of this study, consolidating the concepts developed by means of examples about the code execution operation and considerations about the language.
Queiroz, João Paulo Carvalho Colu de. "Um estudo sobre verificação formal de sistemas concorrentes". reponame:Repositório Institucional da UnB, 2012. http://repositorio.unb.br/handle/10482/11471.
Texto completoSubmitted by Albânia Cézar de Melo (albania@bce.unb.br) on 2012-10-18T16:28:45Z No. of bitstreams: 1 2012_JoaoPauloCarvalhoColuQueiroz.pdf: 949010 bytes, checksum: 6c8c52f3b39f58d84a5780716ea83b12 (MD5)
Approved for entry into archive by Guimaraes Jacqueline(jacqueline.guimaraes@bce.unb.br) on 2012-10-24T11:08:41Z (GMT) No. of bitstreams: 1 2012_JoaoPauloCarvalhoColuQueiroz.pdf: 949010 bytes, checksum: 6c8c52f3b39f58d84a5780716ea83b12 (MD5)
Made available in DSpace on 2012-10-24T11:08:41Z (GMT). No. of bitstreams: 1 2012_JoaoPauloCarvalhoColuQueiroz.pdf: 949010 bytes, checksum: 6c8c52f3b39f58d84a5780716ea83b12 (MD5)
Este trabalho apresenta um estudo de metodologias para veri cação formal de aplicativos desenvolvidos em linguagens imperativas, em especial, na linguagem Java. Os formalismos teóricos mostrados incluem a Lógica de Hoare, usada para representar pro- priedades de aplicações imperativas, e construções da linguagem de especi cação JML (baseada na Lógica de Hoare), usada para especi car o comportamento esperado de apli- cações codi cadas em Java. As ferramentas mostradas são o sistema Krakatoa, usado para converter especi cações JML em obrigações de prova, e o ambiente interativo de provas Coq, usado para veri car obrigações de prova. Finalmente, exibe-se um estudo de caso que utiliza o ferramental teórico e prático proposto. ______________________________________________________________________________ ABSTRACT
This work presents a study of methodologies to formally verify applications developed with imperative languages, specially with the Java language. The theoretical formalisms shown include Hoare Logic, which is used to sketch properties on imperative languages, and JML constructions (based on Hoare Logic), which is a speci cation language used to specify the expected behavior from Java programs. The tools shown are the Krakatoa system, used to convert JML speci cations into proof obligations, and the Coq interactive proof environment, used to verify proof obligations. Finally, this paper presents a case study that employs the theoretical and practical proposed framework.
Guinle, Maria Helena de Melo Flores. "Pensar "logo", falar "logo" : interações entre linguagem natural e linguagem artificial". [s.n.], 1995. http://repositorio.unicamp.br/jspui/handle/REPOSIP/251619.
Texto completoTese (Doutorado) - Universidade Estadual de Campinas, Faculdade de Educação
Made available in DSpace on 2018-07-20T09:11:36Z (GMT). No. of bitstreams: 1 Guinle_MariaHelenadeMeloFlores_D.pdf: 4873128 bytes, checksum: 4e9529de1c95ef3e99b43154fe33b6c7 (MD5) Previous issue date: 1995
Resumo: No "diálogo" que se estabelece entre o aprendiz e sua leitura da linguagem computacional Logo, entre o aprendiz e a leitura que o facilitador faz da linguagem Logo, foram investigados os conceitos do Logo que suscitam zonas de imprecisão tais como ambiguidades, metáforas inadequadas, falhas conceituais. Nesse intercambio entre linguagem natural e linguagem artificial, o presente trabalho evidenciou: - que o discurso pontuado de imprecisões abriu caminho a um '"vir a conhecer" idéias poderosas pouco exploradas pelo paradigma "escolar" do conhecimento - que essa tendência a se criar uma via distinta do paradigma escolar, não se sustenta fora de uma prática regular de se depurar as imprecisões nas suas diferentes facetas
Doutorado
Psicologia Educacional
Doutor em Educação
Freire, Fernanda Maria Pereira 1961. "Enunciação e discurso : a linguagem de programação Logo no discurso do afasico". [s.n.], 1999. http://repositorio.unicamp.br/jspui/handle/REPOSIP/269142.
Texto completoDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Estudos da Linguagem
Made available in DSpace on 2018-07-26T07:27:37Z (GMT). No. of bitstreams: 1 Freire_FernandaMariaPereira_M.pdf: 6197798 bytes, checksum: 4cc54ee9586564cce4970f880064de59 (MD5) Previous issue date: 1999
Resumo: O objetivo principal deste estudo é mostrar a pertinência do uso da linguagem de programação Logo Gráfico como protocolo de avaliação e seguimento de sujeitoscom dificuldades lingüístico-cognitivas,tomando como referencial teórico uma concepção enunciativo-discursiva de linguagem. Assim,interessa o trabalho realizado pelo sujeito,o processo que ele desenvolve, por meio da interlocução (com o computador e com o investigador) que se dá na própria avaliação. Subjacente à escolha do referencial teórico e ao tipo de aplicação a que o Logo se destina está o suposto que a linguagem natural tem uma participação fundamental na atividade de programação Logo. Por meio de atividades inter-relacionadas baseadas no uso da linguagem Logo, desenvolve-se uma avaliação com um sujeito com afasia semântica, sintomas de apraxia vísuo-construtiva e vísuo-espacial com o objetivo de analisar a relação entre a linguagem do sujeito e o modo como ele se organiza espacialmente por meio de uma atividade que requer construção. Características importantes do Logo como, comandos pragmaticamente informados (e redefiníveis) ,interatividade (que pressupõe alternância de interlocutores) e aplicação de noções espaciais, foram fundamentais para sua eleição como instrumento de avaliação. Os resultados mostram que o uso discursivo da linguagem Logo, compreendido como uma prática discursivarealizada por interlocutores que relaciona o uso cognitivo e social da linguagem, revela-se um importante espaço de produção de linguagem provocando a emergência de processos verbais e não verbais, bem como de suas relações, dando visibilidade ao trabalho lingüístico-cognitivodo sujeito
Abstract: Themain objective of this study isto show the pertinence of the use of the Graphic Logo programming language as evaluation and longitudinal follow up protocol of subjects with linguistic-cognitive difficulties, taking as theoretical referencial an enunciativodiscursive conception of language. Therefore the study is focused on the work accomplished by the subject, the process that he develops, through the dialogue (with the computer and with the investigator) that takes place in the evaluation. Underlying the choice of the theoretical referencial and the kind of application of Logo used is the supposition that natural language has a fundamental participation in programming activity. Through interrelated activities based on the use of Logo, an evaluation was developded with a subject with semantic aphasia, symptoms of visual-constructive and visual-spatialapraxia with the objective of analyzing the relationship between the subject's language and the way he accomplishes an activity that requiresconstruction using spacial notions. Important characteristics of Logo such as commands informed pragmatically (and that can be redefined), interactivity (that presupposes interlocutor alternation) and application of space notions, were fundamental for its selection as an evaluation instrument. The results show that the discursiveuse of Graphic Logo programming language, understood as a discursive practice accomplished by interlocutors that relate the cognitive and social use of language, can be an important part of language production, provoking the emergence of verbal and non- verbal processes, as well as their relationships,giving visibility to the subject's linguistic-cognitivework
Mestrado
Mestre em Linguística
Lima, Humberto Maia. "Ferramentas para linguagem de especificação LOTOS". [s.n.], 1992. http://repositorio.unicamp.br/jspui/handle/REPOSIP/259633.
Texto completoDissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Eletrica
Made available in DSpace on 2018-07-19T03:46:57Z (GMT). No. of bitstreams: 1 Lima_HumbertoMaia_M.pdf: 6282762 bytes, checksum: 38c8a0eb30331b118dd48a4a19ad9b52 (MD5) Previous issue date: 1992
Resumo: Este trabalho propõe a implementação de um ambiente de auxílio ao desenvolvimento de especificações de sistema que utilizam LOTOS como linguagem. Tal ambiente é formado de um conjunto integrado de ferramentas composto de um editor de texto, um analisador sintático e semântico e um simulador para LOTOS. Diferente de outras implementações descritas na literatura, é proposta a implementação do simulador LOTOS em uma linguagem orientada para objetos utilizando um mapeamento da semântica dos operadores LOTOS para classes C++
Abstract: An environment for system design using LOTOS as specification language is proposed. The environment is composed by an editor, a syntax and semaoticchecker and a simulator all workingin an integrated from. Different from similar works described in the literature, the proposed implementation of the LOTOS simulator is based on an object orieoted language mappmg the semaotic of LOTOS operators to C++ classes
Mestrado
Mestre em Engenharia Elétrica
Pinon, Arias Hernan. "Editor topologico para a linguagem de especificação de computações LegoShell". [s.n.], 1991. http://repositorio.unicamp.br/jspui/handle/REPOSIP/276195.
Texto completoDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matematica, Estatistica e Ciencia da Computação
Made available in DSpace on 2018-07-13T23:16:38Z (GMT). No. of bitstreams: 1 PinonArias_Hernan_M.pdf: 3494321 bytes, checksum: 4318518c79caf9945c09d3fee257f82a (MD5) Previous issue date: 1991
Resumo: O presente trabalho descreve a implementação do editor topológico para as computações de LegoShell. A LegoShell é uma das linguagens do Ambiente de desenvolvimento de software baseado em Hierarquias de Abstração em Níveis Diferenciados (A_HAND), atualmente sendo desenvolvido no Departamento de Ciência da Computação da UNICAMP. Ela possibilita a composição de programas através da conexão de suas portas de entrada e saída. Ela estende da noção de "pipe" do UNIX@, restrita a uma dimensão só, para grafos multidimensionais compostos de programas, dispositivos periféricos, arquivos, conectores, etc. Estes grafos, chamados computações, podem ser abstraídos como programas e depois utilizados nas computações indistintamente de programas reais. Qualquer dos componentes de uma computação pode residir ou ser executado em qualquer uma das máquinas da rede local, possibilitando assim, a especificação de computações distribuídas. Pela sua natureza, a LegoShell é inerentemente uma linguagem de estrutura topológica. Um editor apropriado deve ser capaz de manipular estruturas topo lógicas e representa-las de forma gráfica. Este editor será o "front-end" principal do ambiente A_HAND. Por isto ele é o principal responsável pela determinação do "look-and-feel" da interface com o usuário do ambiente. A interface com o usuário foi implementada usando os widgets do X Windows, uma máquina de "statecharts" foi utilizada para a definição do núcleo semântico do editor e finalmente os objetos complexos manipulados internamente foram implementados seguindo o paradigma de tipos abstratos de dados
Abstract: This work describes the implementation of the topologic editor for the LegoShell computations. LegoShell is one of the languages of the Software Development Environment based on Hierarchies of Differentiated Levels of Abstraction (A_HAND), being developed at the Computer Science Department of UNICAMP. It allows program composition through the connection of program input and output ports. It extends the notion of UNIX pipes, which is restricted to a single dimension, to multidimensional graphs composed of programs, peripheral devices, files, connectors, etc. These graphs, called computations, can be abstracted and used afterwards in other computations without any difference from real programs. Any of the components could run locally or in any of the Local Area Network machines, this way allowing the specification of distributed computations. Because of its own nature, LegoShell is intrinsically a topologically structured language. A suitable editor has to be able to manipulate topological structures and to represent them in a graphical manner. This editor will be the principal front-end' of A_HAND. This it is the reason why the editor is mainly responsible for the look-and-feel of the user interface in this environment. The user interface has been implemented using X Windows widgets, a statecharts machine has been used to define the semantic core of the editor and finally the complex objects which are internally manipulated were implemented following the abstract data tipe paradigm
Mestrado
Mestre em Ciência da Computação
Saboia, Lygia Maria Maurity. "Uma poetica interdisciplinar : arte, matematica, simetria e linguagem de programação postscript". [s.n.], 2001. http://repositorio.unicamp.br/jspui/handle/REPOSIP/285077.
Texto completoTese (doutorado) - Universidade Estadual de Campinas, Instituto de Artes
Made available in DSpace on 2018-07-29T02:09:14Z (GMT). No. of bitstreams: 1 Saboia_LygiaMariaMaurity_D.pdf: 12986824 bytes, checksum: b73f4be3fe73815f261fef6be6bc996c (MD5) Previous issue date: 2001
Conteudo: v.1. Fundamentos e instrumentos - v.2. A poetica : parte experimental
Resumo: A presente pesquisa é composta por duas partes. A primeira consiste na descrição dos fundamentos, métodos e instrumentos utilizados para a criação de uma poética interdisciplinar, abrangendo a arte, a matemática, a simetria e a linguagem de programação PostScript. A segunda parte consiste nas imagens e programas necessários à sua elaboração. Estas são apresentadas sob a forma de 17 diferentes tipos de padrão. Tais padrões foram construídos por meio de algoritmos estruturados sobre as normas descritas para os 17 tipos de simetria, também conhecidos como 17 tipos de simetria cristalográfica plana. As imagens resultantes da pesquisa e os programas que possibilitaram sua materialização estão apresentados no VOLUME II. Paralelamente à defesa da tese, são apresentados os 17 diferentes padrões, impressos em grandes formatos, além de 17 placas de acrílico gravadas em que podem ser observados os motivos unitários que formam cada um dos padrões. A análise dos fundamentos e instrumentos que estruturam a poética é apresentada no VOLUME I e teve como um de seus principais objetivos a apreciação de obras e movimentos artísticos em que a matemática, a simetria e as linguagens de programação tiveram papel relevante
Abstract: The present research is divided into two parts. The first one consists in the description of the fundaments, methods and instruments used in the creation of the poetics. In other words its main focus is the interface among art, mathematics, symmetry and PostScript language programming. The second part consists in the images and the necessary programs to generate them. These images correspond to 17 different patterns, originated by means of rules described by the 17 symmetry types of two-dimensional periodic patterns, also known as plane crystallographic symmetry. The resulting images as well as their pertinent programs are presented in VOLUME II. The thesis presentation will be referenced by the 17 different patterns created and printed in large formats and 17 acrylic engraved plates as well. These ones relate to unit motifs used in the composing of each of the 17 different pattern types. The analysis of fundaments and instruments which support the poetics are presented in VOLUME I. One of its main proposals is to appreciate artistic creations and styles in which mathematics, symmetry and programming languages perform important role
Doutorado
Doutor em Multimeios
Ferreira, Simone Nasser Matos. "Especificação formal e implementação de um protótipo para a linguagem paralog". reponame:Repositório Institucional da UFPR, 2010. http://hdl.handle.net/1884/24721.
Texto completoMiranda, Bruno Holanda de. "Implementação de um combinador de aspectos para a linguagem WSAL utlizando o padrão ESB". Universidade de Fortaleza, 2010. http://dspace.unifor.br/handle/tede/84944.
Texto completoThis 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
Setubal, João Carlos 1957. "FIG : uma linguagem para especificação de figuras". [s.n.], 1987. http://repositorio.unicamp.br/jspui/handle/REPOSIP/275928.
Texto completoDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matematica, Estatistica e Ciencia da Computação
Made available in DSpace on 2018-07-17T19:10:43Z (GMT). No. of bitstreams: 1 Setubal_JoaoCarlos_M.pdf: 2361813 bytes, checksum: cda21d0c881eac58650c04f8be7cb113 (MD5) Previous issue date: 1987
Resumo: FiG é uma linguagem de'programação cujo objetivo é possibilitar a especificação de figuras bidimensionais de forma não-interativa. Embora a linguagem tenha sido projetada para uso geral, ela poderia ser usada particularmente em conjunto com um programa de composição gráfica de modo a permitir inserção automática de figuras em textos. A característica principal de Fig é o recurso de definição e uso de figuras de maneira análoga a procedimentos, modelando assim o desenho sem utilizar estruturas de dados. Isto facilita a construção de desenhos que tenham uma estrutura hierárquica complexa. As figuras permitem parametrização flexível e podem retomar valores através de um mecanismo especial. A chamada ou instanciação das figuras pode ser modificada através de transformações geométricas embutidas na linguagem, e o posicionamento pode ser feito de três modos: por um movimento implícito associado à instanciaçâo consecutiva de diferentes figuras; por posicionamento relativo a outras figuras já instanciadas; e por coordenadas absolutas. FIG tem um conjunto de primitivas gráficas, cada qual com seus atributos. O projeto de Fig fundamentou-se na linguagem PIe de Kernighan, nos procedimentos de display de Newman e em certos aspectos da norma GKS. Foi construido um compilador experimental que produz Pascal como linguagem objeto. A saída gráfica é realizada através de um pacote gráfico conveniente, que pode ser facilmente trocado.
Abstract: FIG is a programming language for non-interactive' specification of bidimensional pictures, Although the language was designed for general purpose picture drawing, it is aimed at integration with typesetting programs so as to allow automatic insertion of pictures into text. Its main features are the definition and use of figures in the same way as procedures, thus modeling pictures in a data-structure-free manner. .F IG makes .it easy to build drawings with a large hierarchical structure. Figures have a flexible parameterization mechanism and return values in a special way. Figure call (instantiation) can be modified by built-in geometric transformations. There are three ways to place a figure in the plane: implicit movement associated with the consecutive instantiation of figures; placement relative to already instantiated figures; and absolute placement. F IG has a set of primitive figures, each with its own set of attributes. FIG's design was based primarily on Kernighan's PIC language, on Newman's display procedures and on certain features of the G KS international standard. An experimental compiler producing machine-independent Pascal object code was implemented. Graphical output is achieved through routines of a convenient graphics package.
Mestrado
Mestre em Ciência da Computação
Lima, Willian dos Santos [UNESP]. "Compilação de bytecodes Java para um ambiente de arquitetura reconfigurável". Universidade Estadual Paulista (UNESP), 2009. http://hdl.handle.net/11449/98650.
Texto completoConselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq)
Durante esta pesquisa, foram investigados conceitos relacionados à computação reconfigurável, processo de compilação e funcionamento da compilação Java, especialmente no que se refere à manipulação de bytecodes. O principal objetivo é a elaboração conceitual de um compilador capaz de traduzir bytecodes de um aplicativo Java para código binário obediente ao conjunto de instruções do processador Nios II da Altera®, acompanhada de algumas implementações. Com este compilador, será possível a construção de programas para dispositivos que utilizem o processador Nios II, como dispositivos de sistemas embarcados, a partir da linguagem Java. Isto proporciona uma forma ágil para a elaboração de aplicativos para sistemas desse tipo. Implementações relevantes foram desempenhadas de forma a comprovar o funcionamento do referido compilador. Tais implementações abrangeram suporte de bytecodes referentes a um subconjunto da linguagem Java, bem como a criação de estruturas de representação intermediária e mecanismos para geração de código final. Além disso, foram desenvolvidos um simulador e um montador de instruções do Nios II de forma a auxiliar no andamento do trabalho. Como resultado, pôde-se verificar que é possível o desenvolvimento de tal ferramenta e que sua existência contribui para o desenvolvimento de outras ferramentas ou aplicativos inseridos no contexto de computação reconfigurável.
During this research, concepts concerning about reconfigurable computing, compiling process and Java compilation were investigated, especially relating to bytecode generation. The goal of this research is twofold: first, the conceptual development of a compiler that is able to translate bytecodes from a Java application to binary code compliant with Altera™ Nios II processor instruction set, and second, provide a set of appropriate implementations for the proposed compiler. With this compiler, it will be possible to construct programs for devices that use Nios II processor, as embedded systems devices, from Java language, providing an agile manner for applications’ building for this kind of systems. Relevant implementations were performed to prove compiler’s functionalities. Such implementations covered bytecodes’ support to a Java language subset, as well as intermediate structures and final code generation mechanisms. Besides, a simulator and an assembler for Nios II instructions were developed to help this work’s evolution. As result, it was possible to verify that the development of such tool is feasible and contributes to the generation of other tools and applications inserted in the context of reconfigurable computing.
Leitão, Junior Plinio de Sa. "Suporte ao teste de programas COBOL no ambiente POKE-TOOL". [s.n.], 1992. http://repositorio.unicamp.br/jspui/handle/REPOSIP/259620.
Texto completoDissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Eletrica
Made available in DSpace on 2018-07-15T22:24:11Z (GMT). No. of bitstreams: 1 LeitaoJunior_PliniodeSa_M.pdf: 8961188 bytes, checksum: faab8704e2ed32132f9fc88097241a4f (MD5) Previous issue date: 1992
Resumo: Neste trabalho são discutidos os aspectos de aplicação de teste estrutural baseado em análise de fluxo de dados em programas COBOL. Com esse propósito, uma ferramenta denominada POKE-TOOL [MAL89,CHA91b], que apóia a utilização dos critérios Potenciais Usos [MAL88, MAL91], foi configurada para a linguagem COBOL. São abordados: a caracterização de unidade em programas COBOL; a abstração das estruturas de controle que compõem essa linguagem; o fluxo de dados presente em programas COBOL; e aspectos referentes à Instrumentação de programas COBOL. A discussão ressalta a não trivialidade dessas tarefas: por exemplo, a inexistência de estrutura de bloco na linguagem COBOL dificulta a atividade de Instrumentação de código fonte. Como produto principal desta dissertação, a versão operacional da POKE-TOOL para a linguagem COBOL constitui uma contribuição importante no sentido de apoiar o teste estrutural de unidades escritas em linguagem COBOL
Abstract: This work explores the issues involved in applying data flow based structural testing in COBOL programs; a tool named POKE-TOOL [MAL89,CHA91b] that supports Potential Uses Criteria appllcation [MAL88, MAL91] was configured for the COBOL programming language. The following topics are discussed: characterization of units in COBOL; abstraction of control flow structures; data flow in COBOL and program instrumentation. The presentation points out that these tasks are non-trivial: for example, the lack of block structuring in COBOL makes difficult the instrumentation of source code. As the main product of this thesis, the operational version of the POKE-TOOL for COBOL language constitute an important contribution to structural testing of units implemented in COBOL
Mestrado
Mestre em Engenharia Elétrica
Ludwig, Artemio. ""Lambda" PROLOG : interpretador e unificação de ordem superior". [s.n.], 1992. http://repositorio.unicamp.br/jspui/handle/REPOSIP/260489.
Texto completoTese (doutorado) - Universidade Estadual de Campinas, Faculdade de Engenharia Eletrica
Made available in DSpace on 2018-07-16T01:51:41Z (GMT). No. of bitstreams: 1 Ludwig_Artemio_D.pdf: 9026847 bytes, checksum: bf0003b28c02857c43931feb4b9729d1 (MD5) Previous issue date: 1992
Resumo: A implementação de interpretadores para a linguagem da Lógica de Ordem Superior (LOS) constitui-se num desafio ainda não vencido. Pode-se dividi-Io em duas partes: (a) tornar a linguagem mais amigável permitindo estimular sua adoção e (b) dotar as implementações com um desempenho que não sacrifique sua usabilidade. A linguagem de programação para a LOS utiliza os conceitos do À-cálculo e os recursos de tipificação de Russel. Sua sintaxe é portanto mais complexa do que aquela da Lógica de Primeira Ordem (LPO). A técnica de derivação de algum conhecimento em uma base de conhecimento, formalizada conforme suas regras, assemelha-se com aquela da LPO que é chamada de resolução. Qualquer sistema de provas em LOS deve atender a restrições de uma linguagem fortemente tipada e a unificação, que apresenta problemas de incompletude, pode gerar mais do que um unificador. Isto torna a pesquisa nâ.o-determinística e faz com que a derivação contenha mais uma fonte de retroencadeamento, quando comparada com modelo de programação em LPO. Este trabalho expõe e analisa a implementação de um interpretador para a LOS sujeita a sentenças definidas positivas as quais contêm propriedades adequadas à mecanização semelhantes àquelas das cláusulas de HORN da LPO. Problemas de indecidibilidade são contornados e os vários aspectos computacionais são descritos como a formação da base de conhecimento, sua gramática e a P-derivação, que é o método de obtenção de provas sobre a base. Central a estes procedimentos encontra-se a unificação que apresenta complexidade elevada e cujo processamento é razão de depauperação na qualidade do sistema. Uma proposta de enfoque alternativa é oferecida com o propósito de atenuar os efeitos sobre a lentidão do sistema. O algoritmo resultante indica ganhos no desempenho e apresenta uma interpretação mais facilitada do mecanismo da unificação
Abstract: Efficient Interpreter implementations for Righer Order Logic (ROL) programming language still remain as a challenge that can be splitted into two classes: (a) to make the language friendlier in order to stimulate the user to adopt it, and (b) to provi de the interpreter with a performance that does not damage its usability. This paper resulted from an ROL interpreter prototypation, called À-PROLOG. Only the positive definite sentençes are used in the language. They are similar to those of the First Order Logic (FOL) programing language and present some apropriate mechanization properties. One kind of implementation is discribed and its computational aspects are analysed. They include the knowledgernent base formation, the grarnrnar of the sentences and the P-derivation, which is the method of deriving proofs over the base. The unification is the most important interpreter procedure and has high complexity. Its processing is one of the reazons for the depaupering of system quality. In this paper the analisies of the MATCR and SIMPL algorithms that were developed for this purpose are used to supply a new unification algorithm which, in contrast to MATCR, shows initial performance gains and an easier procedural interpretation oí the unification mechanism
Doutorado
Automação
Doutor em Engenharia Elétrica
Rubira, Cecília Mary Fischer 1964. "Estudo da geração de codigo para uma maquina de fluxo de dados". [s.n.], 1989. http://repositorio.unicamp.br/jspui/handle/REPOSIP/276007.
Texto completoDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matematica, Estatistica e Ciencia da Computação
Made available in DSpace on 2018-07-14T02:04:30Z (GMT). No. of bitstreams: 1 Rubira_CeciliaMaryFischer_M.pdf: 1743339 bytes, checksum: 48d2cb6de912c144c1721d797fa1fa45 (MD5) Previous issue date: 1989
Resumo: Este trabalho apresenta um estudo detalhado da geração de código de uma linguagem de alto nível voltada para programação paralela denominada SISAL, implementada na Máquina de Fluxo de Dados de Manchester. Os pontos de deterioração de paralelismo obtidos na geração de código são identificados, apresentando sempre que possível otimizações que explorem o assincronismo e o poder computacional paralelo da máquina. O compilador SISAL gera código num formato intermediário gráfico chamado IFI, que é então traduzido para o código de máquina (grafos de fluxo de dados) através de um sistema de tradução. As otimizações aqui implementadas se concentram nos esquemas utilizados para a tradução do formato IF1 para código dependente de máquina.
Abstract: Not informed.
Mestrado
Mestre em Ciência da Computação
Santos, Osvaldo Alves dos. "Uma maquina virtual para ADA num sistema com multiplos processadores". [s.n.], 1985. http://repositorio.unicamp.br/jspui/handle/REPOSIP/275965.
Texto completoDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matematica, Estatistica e Ciencia da Computação
Made available in DSpace on 2018-07-15T03:49:55Z (GMT). No. of bitstreams: 1 Santos_OsvaldoAlvesdos_M.pdf: 2166507 bytes, checksum: 4edb0602a740e4d32818fd40f621d55e (MD5) Previous issue date: 1985
Resumo: A linguagem de programação Ada é uma linguagem de propósito geral, possuindo os recursos oferecidos pelas linguagens clássicas tais como Pascal e Algol bem como as facilidades de elaboração de programas modulares. Programação de sistemas e programação em tempo real, que normalmente são encontradas somente em linguagens específicas. Neste texto é apresentada uma proposta de um sistema de execução para Ada. Dada a extensão do trabalho, será tratada somente a parte concorrente e as exceções da linguagem. Foi suposto que o sistema hospedeiro pode possuir multiprocessadores
Abstract: Ada is a general purpose programming language, includes features found in classical languages such Pascal Algol, as well as features for modular programming system and real-time programming, which are usually found only in specific languages. We present in this thesis a proposal for a run-time system for Ada. Due to the complexity of the language, we treat only the concurrency and exception handling. We assume that the underlying computing system allows for multiple processors
Mestrado
Mestre em Ciência da Computação
Bacarin, Evandro. "Projeto e implantação de LL : uma linguagem de bibliotecas baseada em objetos". [s.n.], 1995. http://repositorio.unicamp.br/jspui/handle/REPOSIP/276042.
Texto completoDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matematica, Estatistica e Ciencia da Computação
Made available in DSpace on 2018-07-20T02:12:04Z (GMT). No. of bitstreams: 1 Bacarin_Evandro_M.pdf: 1430913 bytes, checksum: e48d58b6dd2cafd20c06ea9f9d266959 (MD5) Previous issue date: 1995
Resumo: O trabalho apresenta uma linguagem de programação, denominada LL (de Library Language), que visa atender as necessidades de projetistas de algoritmos - programadores ocasionais que necessitam implementar seus algoritmos para testá-los, demonstrá-los didaticamente ou analisar sua eficiência. A linguagem busca ser simples e expressiva. Uma linguagem de programação complexa, em contraste com a simplicidade perseguida no projeto de LL, pode induzir o programador a erros alheios ao algoritmo em implementação, devido à complexidade excessiva da ferramenta. A expressividade é outra qualidade desejável, uma vez que os algoritmos a serem codificados são, muitas vezes, descritos em artigos, livros ou anais de congressos em uma linguagem de bastante alto nível. Expressividade e simplicidade visam prototipação rápida de algoritmos. O tempo e o esforço de implementação podem ser abreviados se o programador tiver ao seu alcance um rico conjunto de bibliotecas que o auxiliem em seu trabalho. Assim, LL enfatiza a facilidade de criação e reutilização de bibliotecas escritas em outras linguagens. O trabalho descreve, também, alguns detalhes de implementação de seu compilador, bem como relaciona semelhanças e diferenças de linguagens de programação que influenciaram seu projeto.
Abstract: This thesis introduces a programming language called LL (for Library Language). Its main goal is to answer needs of algorithm designers who as occasional programmers implement their algorithms in order to test them, to demonstrate them in a didactic way or to analyze their efficiency. LL is simple and expressive. A complex programming language can lead the programmer to errors related not to the algorithms that are being implemented, but to the excessive complexity of the tool being used. Another goal to be achieved is expressiveness, since the goal is to implement algorithms which are generally shown in scientific papers, books or proceedings, in a high level language. Expressiveness and simplicity lead to rapid prototyping of the algorithms. Time and effort in implementation can be reduced if the programmer has available a rich variety of libraries. Thus LL emphasizes ease in the creation and reuse of libraries written in other languages. Some of the compiler implementation details are also shown as well as similarities and differences with the programming languages which influenced the design.
Mestrado
Mestre em Ciência da Computação
Barros, Flávio José Ferro. "Uma formalização da composicionalidade do cálculo lambda-ex em Coq". reponame:Repositório Institucional da UnB, 2010. http://repositorio.unb.br/handle/10482/6601.
Texto completoSubmitted by Allan Wanick Motta (allan_wanick@hotmail.com) on 2011-01-21T18:14:44Z No. of bitstreams: 1 2010_FlavioJoseFerroBarros.pdf: 454810 bytes, checksum: 20b7e7f5115fdc9ff34396a6f5e6cc1f (MD5)
Approved for entry into archive by Daniel Ribeiro(daniel@bce.unb.br) on 2011-01-26T00:28:37Z (GMT) No. of bitstreams: 1 2010_FlavioJoseFerroBarros.pdf: 454810 bytes, checksum: 20b7e7f5115fdc9ff34396a6f5e6cc1f (MD5)
Made available in DSpace on 2011-01-26T00:28:37Z (GMT). No. of bitstreams: 1 2010_FlavioJoseFerroBarros.pdf: 454810 bytes, checksum: 20b7e7f5115fdc9ff34396a6f5e6cc1f (MD5)
Apresenta-se uma formalização das propriedades de composicionalidade do Cálculo lambda-ex em Coq. A abordagem utilizada baseia-se na lógica nominal de acordo com o trabalho desenvolvido por [3]. Mais especificamente estendemos a formalização do lambda-cálculo contida neste trabalho de forma a incluir a operação de substituição explícita do cálculo lambda-ex. Nessa abordagem, a alpha-equivalência coincide com a igualdade pré-construída de Coq, e os princípios de recursão e indução sobre classes de lambda-termos possuem tratamento específico. Escolhemos trabalhar com o cálculo lambda-ex por ser atualmente o único cálculo que satisfaz simultaneamente todas as propriedades desejáveis para um cálculo de substituições explícitas. Ele é uma extensão do lambda-x com uma regra de reescrita para composição de substituições dependentes e uma equação para comutação de substituições independentes. O cálculo lambda-ex usa um construtor unário para a substituição explicita, mas tem o mesmo poder de expressividade de cálculos com substituições simultâneas. _________________________________________________________________________________ ABSTRACT
We present a formalization of properties of compositionality of the ex-calculus in Coq. The approach is based in the nominal logic as presented in the paper [3]. More precisely, we extended a formalization of the -calculus in such a way that it now includes the explicit substitution operation of the ex-calculus. In this approach, -equivalence of -terms coincides with the Coqt’s built-in equality, and the principles of recursion and induction over classes of -terms are treated in a specific way. We chose to work with the ex-calculus because it is currently the only calculus that simultaneously satisfies all the desirable properties for a calculus of explicit substitutions. It is an extension of the x-calculus with a rewrite rule for composition of dependent substitutions and one equation for independent substitutions. The ex-calculus has a unary constructor for the explicit substitution operation, but have the same expressive power of calculi with simultaneous substitutions.
Maciel, Danilo Leal. "Sherlock N-Overlap: normalização invasiva e coeficiente de sobreposição para análise de similaridade entre códigos-fonte em disciplinas de programação". reponame:Repositório Institucional da UFC, 2014. http://www.repositorio.ufc.br/handle/riufc/10841.
Texto completoSubmitted by Marlene Sousa (mmarlene@ufc.br) on 2015-02-27T18:39:59Z No. of bitstreams: 1 2014_dis_dlmaciel.pdf: 3409582 bytes, checksum: 8d85d508f02fe688e23c17dd70679cb4 (MD5)
Approved for entry into archive by Marlene Sousa(mmarlene@ufc.br) on 2015-03-04T16:07:48Z (GMT) No. of bitstreams: 1 2014_dis_dlmaciel.pdf: 3409582 bytes, checksum: 8d85d508f02fe688e23c17dd70679cb4 (MD5)
Made available in DSpace on 2015-03-04T16:07:48Z (GMT). No. of bitstreams: 1 2014_dis_dlmaciel.pdf: 3409582 bytes, checksum: 8d85d508f02fe688e23c17dd70679cb4 (MD5) Previous issue date: 2014-07-07
This work is contextualized in the problem of plagiarism detection among source codes in programming classes. Despite the wide set of tools available for the detection of plagiarism, only few tools are able to effectively identify all lexical and semantic similarities between pairs of codes, because of the complexity inherent to this type of analysis. Therefore to the problem and the scenario in question, it was made a study about the main approaches discussed in the literature on detecting plagiarism in source code and as a main contribution, conceived to be a relevant tool in the field of laboratory practices. The tool is based on Sherlock algorithm, which has been enhanced as of two perspectives: firstly, with changes in the similarity coefficient used by the algorithm in order to improve its sensitivity for comparison of signatures; secondly, proposing intrusive techniques preprocessing that, besides eliminating irrelevant information, are also able to overemphasize structural aspects of the programming language, or gathering separating strings whose meaning is more significant for the comparison or even eliminating sequences less relevant to highlight other enabling better inference about the degree of similarity. The tool, called Sherlock N-Overlap was subjected to rigorous evaluation methodology, both in simulated scenarios as classes in programming, with results exceeding tools currently highlighted in the literature on plagiarism detection.
Este trabalho se contextualiza no problema da detecção de plágio entre códigos-fonte em turmas de programação. Apesar da ampla quantidade de ferramentas disponíveis para a detecção de plágio, poucas são capazes de identificar, de maneira eficaz, todas as semelhanças léxicas e semânticas entre pares de códigos, o que se deve à complexidade inerente a esse tipo de análise. Fez-se, portanto, para o problema e o cenário em questão, um estudo das principais abordagens discutidas na literatura sobre detecção de plágio em código-fonte e, como principal contribuição, concebeu-se uma ferramenta aplicável no domínio de práticas laboratoriais. A ferramenta tem por base o algoritmo Sherlock, que foi aprimorado sob duas perspectivas: a primeira, com modificações no coeficiente de similaridade usado pelo algoritmo, de maneira a melhorar a sua sensibilidade para comparação de assinaturas; a segunda, propondo técnicas de pré-processamento invasivas que, além de eliminar informação irrelevante, sejam também capazes de sobrevalorizar aspectos estruturais da linguagem de programação, reunindo ou separando sequências de caracteres cujo significado seja mais expressivo para a comparação ou, ainda, eliminando sequências menos relevantes para destacar outras que permitam melhor inferência sobre o grau de similaridade. A ferramenta, denominada Sherlock N-Overlap, foi submetida a rigorosa metodologia de avaliação, tanto em cenários simulados como em turmas de programação, apresentando resultados superiores a ferramentas atualmente em destaque na literatura sobre detecção de plágio.
Dantas, Reno Medeiros. "Transformações de programa para suportar a evolução da linguagem Java". reponame:Repositório Institucional da UnB, 2017. http://repositorio.unb.br/handle/10482/32475.
Texto completoSubmitted 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).
Silva, Salvador Ramos Bernardino da. "Software adaptativo: método de projeto, representação gráfica e implementação de linguagem de programação". Universidade de São Paulo, 2011. http://www.teses.usp.br/teses/disponiveis/3/3141/tde-12122011-145913/.
Texto completoProgramming 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.
DINIZ, Herbertt Barros Mangueira. "Linguagem específica de domínio para abstração de solução de processamento de eventos complexos". Universidade Federal de Pernambuco, 2016. https://repositorio.ufpe.br/handle/123456789/18030.
Texto completoMade available in DSpace on 2016-10-31T12:04:21Z (GMT). No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) DissertacaoHerbertt_CIN_UFPE.pdf: 3162767 bytes, checksum: 3208dfce28e7404730479384c2ba99a0 (MD5) Previous issue date: 2016-03-04
Cada vez mais se evidencia uma maior escassez de recursos e uma disputa por espaços físicos, em decorrência da crescente e demasiada concentração populacional nas grandes cidades. Nesse âmbito, surge a necessidade de soluções que vão de encontro à iniciativa de “Cidades Inteligentes" (Smart Cities). Essas soluções buscam centralizar o monitoramento e controle, para auxiliar no apoio à tomada de decisão. No entanto, essas fontes de TICs formam estruturas complexas e geram um grande volume de dados, que apresentam enormes desafios e oportunidades. Uma das principais ferramentas tecnológicas utilizadas nesse contexto é o Complex Event Processing (CEP), o qual pode ser considerado uma boa solução, para lidar com o aumento da disponibilidade de grandes volumes de dados, em tempo real. CEPs realizam captação de eventos de maneira simplificada, utilizando linguagem de expressão, para definir e executar regras de processamento. No entanto, apesar da eficiência comprovada dessas ferramentas, o fato das regras serem expressas em baixo nível, torna o seu uso exclusivo para usuários especialistas, dificultando a criação de soluções. Com intuito de diminuir a complexidade das ferramentas de CEP, em algumas soluções, tem-se utilizado uma abordagem de modelos Model-Driven Development (MDD), a fim de se produzir uma camada de abstração, que possibilite criar regras, sem que necessariamente seja um usuário especialista em linguagem de CEP. No entanto, muitas dessas soluções acabam tornando-se mais complexas no seu manuseio do que o uso convencional da linguagem de baixo nível. Este trabalho tem por objetivo a construção de uma Graphic User Interface (GUI) para criação de regras de CEP, utilizando MDD, a fim de tornar o desenvolvimento mais intuitivo, através de um modelo adaptado as necessidades do usuário não especialista.
Nowadays is Increasingly evident a greater resources scarcity and competition for physical space, in result of growing up and large population concentration into large cities. In this context, comes up the necessity of solutions that are in compliance with initiative of smart cities. Those solutions seek concentrate monitoring and control, for help to make decisions. Although, this sources of information technology and communications (ITCs) forming complex structures and generates a huge quantity of data that represents biggest challenges and opportunities. One of the main technological tools used in this context is the Complex Event Processing (CEP), which may be considered a good solution to deal with increase of the availability and large volume of data, in real time. The CEPs realizes captation of events in a simple way, using expressive languages, to define and execute processing rules. Although the efficient use of this tools, the fact of the rules being expressed in low level, becomes your use exclusive for specialists, difficulting the creation of solutions. With the aim of reduce the complexity of the CEPs tools, solutions has used an approach of models Model-Driven Development (MDD), in order to produce an abstraction layer, that allows to create rules, without necessarily being a specialist in CEP languages. however, many this tools become more complex than the conventional low level language approach. This work aims to build a Graphic User Interface (GUI) for the creation of CEP rules, using MDD, in order to a more intuitive development, across of the adapted model how necessities of the non specialist users.
Feitosa, Samuel da Silva. "Uma linguagem de programação quântica orientada a objetos baseada no featherweight java". Universidade Federal de Santa Maria, 2016. http://repositorio.ufsm.br/handle/1/12028.
Texto completoWith the approaching end of Moore’s Law, where will not be possible to improve the capacity of silicon based processors, the quantum computing appear to be a good choice to provide a new era of computation. Quantum computing can be understood as the art of transform information encoded in the state of a quantum physical system. This encoding is through the quantum bits (qubits), which can be on superposition or entangled states, enabling to explore the property called quantum parallelism. In this work is discussed the creation of a quantum programming language implementing the object-oriented paradigm (OO), allowing manipulation of classes and objects, where the quantum effects are handled through a monadic approach, extending the Featherweight Java (FJ) proposal. This language is formally defined through the operational semantics, which allow the implementation in any language that provides closures. That language formalization enables us to create an interpreter, implementing the steps of lexical, syntactic and semantic analysis, focusing in the type system to embedded quantum computing concepts in a classical language. Several examples are provided in the text, showing ways to handle the monadic layer in order to perform transformations in quantum information.
Com a aproximação do fim da Lei de Moore, onde não será possível melhorar a capacidade dos processadores baseados em silício, a computação quântica aparece como uma boa escolha para prover uma nova era da computação. A computação quântica pode ser entendida como a arte de transformar informação codificada no estado físico quântico. Esta codificação se dá através de bits quânticos (qubits), que podem estar em estados de superposição ou emaranhados, permitindo explorar uma propriedade conhecida como paralelismo quântico. Nesta dissertação é discutida a criação de uma linguagem de programação quântica que utiliza-se do paradigma da orientação a objetos (OO), fornecendo a possibilidade de manipular classes e objetos, onde os dados e os efeitos quânticos são manipulados através de uma abordagem monádica, sendo modelada como uma extensão da proposta Featherweight Java (FJ). Esta extensão é definida formalmente através da apresentação de sua semântica operacional, a qual é passível de implementação em qualquer linguagem de programação que forneça o mecanismo de closures. A formalização desta linguagem permitiu a criação de um interpretador, que implementa as fases de análise léxica, sintática e semântica, com foco especial no tratamento do sistema de tipos para embutir conceitos de computação quântica em uma linguagem clássica. Vários exemplos são fornecidos no decorrer do texto, mostrando formas de manipular a camada monádica para realizar transformações em informações quânticas.
Sousa, Antonio Heronaldo de. "Uma proposta de linguagem visual orientada a objetos para programação de microcontroladores". [s.n.], 1999. http://repositorio.unicamp.br/jspui/handle/REPOSIP/260735.
Texto completoTese (doutorado) - Universidade Estadual de Campinas, Faculdade de Engenharia Eletrica e de Computação
Made available in DSpace on 2018-07-25T08:50:41Z (GMT). No. of bitstreams: 1 Sousa_AntonioHeronaldode_D.pdf: 9476626 bytes, checksum: 6fc4c287239d7216bd6d55c7a1e61b23 (MD5) Previous issue date: 1999
Resumo: Este trabalho apresenta um estudo sobre a viabilidade de se utilizar novas metodologias de engenharia de software em ambientes microcontrolados. É abordado o uso da programação orientada a objetos, juntamente com a programação visual, na construção de linguagens mais acessíveis e mais produtivas para a programação de microcontroladores. Como resultado, foi proposto um protótipo de uma linguagem, chamada 0++. Esta linguagem se caracteriza por utilizar, em conjunto, estruturas gráficas e estruturas textuais para melhor representar dados e algoritmos. Além disso, ela foi projetada para combinar as características de reusabilidade da programação orientada a objetos e a acessibilidade da programação visual. Ela permite o desenvolvimento de aplicações usando estruturas visuais orientadas a objetos, a fim de melhorar a qualidade e acessibilidade de informações trocadas no desenvolvimento de software para sistemas microcontrolados...Observação: O resumo, na íntegra, poderá ser visualizado no texto completo da tese digital
Abstract: This thesis presents a feasibility investigation about use of new engineering software methodologies in microcontroller systems. The approach is to use object oriented programming paradigm with visual programming to build a more productive microcontroller programming language. It was developed a microcontroller programming language, called 0++. The main feature of this language is to use, at the same time, graphical structures and text to represent data and procedures. Also, it was designed to combine the reusability of object-oriented programming and the accessibility of visual programming. It allows the development of applications using visual object-oriented structures in order to improve quality and accessibility of information exchange in microcontroller systems software design...Note: The complete abstract is available with the full electronic digital thesis or dissertations
Doutorado
Doutor em Engenharia Elétrica
Perego, Cássia Alves. "JEduc : reflexão sobre a linguagem java na educação". reponame:Biblioteca Digital de Teses e Dissertações da UFRGS, 2002. http://hdl.handle.net/10183/2139.
Texto completoLima, Willian dos Santos. "Compilação de bytecodes Java para um ambiente de arquitetura reconfigurável /". São José do Rio Preto : [s.n.], 2009. http://hdl.handle.net/11449/98650.
Texto completoBanca: Eduardo Marques
Banca: Aleardo Manacero Junior
Resumo: Durante esta pesquisa, foram investigados conceitos relacionados à computação reconfigurável, processo de compilação e funcionamento da compilação Java, especialmente no que se refere à manipulação de bytecodes. O principal objetivo é a elaboração conceitual de um compilador capaz de traduzir bytecodes de um aplicativo Java para código binário obediente ao conjunto de instruções do processador Nios II da Altera®, acompanhada de algumas implementações. Com este compilador, será possível a construção de programas para dispositivos que utilizem o processador Nios II, como dispositivos de sistemas embarcados, a partir da linguagem Java. Isto proporciona uma forma ágil para a elaboração de aplicativos para sistemas desse tipo. Implementações relevantes foram desempenhadas de forma a comprovar o funcionamento do referido compilador. Tais implementações abrangeram suporte de bytecodes referentes a um subconjunto da linguagem Java, bem como a criação de estruturas de representação intermediária e mecanismos para geração de código final. Além disso, foram desenvolvidos um simulador e um montador de instruções do Nios II de forma a auxiliar no andamento do trabalho. Como resultado, pôde-se verificar que é possível o desenvolvimento de tal ferramenta e que sua existência contribui para o desenvolvimento de outras ferramentas ou aplicativos inseridos no contexto de computação reconfigurável.
Abstract: During this research, concepts concerning about reconfigurable computing, compiling process and Java compilation were investigated, especially relating to bytecode generation. The goal of this research is twofold: first, the conceptual development of a compiler that is able to translate bytecodes from a Java application to binary code compliant with Altera™ Nios II processor instruction set, and second, provide a set of appropriate implementations for the proposed compiler. With this compiler, it will be possible to construct programs for devices that use Nios II processor, as embedded systems devices, from Java language, providing an agile manner for applications' building for this kind of systems. Relevant implementations were performed to prove compiler's functionalities. Such implementations covered bytecodes' support to a Java language subset, as well as intermediate structures and final code generation mechanisms. Besides, a simulator and an assembler for Nios II instructions were developed to help this work's evolution. As result, it was possible to verify that the development of such tool is feasible and contributes to the generation of other tools and applications inserted in the context of reconfigurable computing.
Mestre
Barreira, Ravi Veloso. "Anotação de papéis semânticos em textos para apoiar a investigação policial utilizando semântica de frames". Universidade de Fortaleza, 2016. http://dspace.unifor.br/handle/tede/100611.
Texto completoThe forensic work is of extreme relevance for police investigation and important material evidence during the stage of criminal trial. Computer science forensic work mainly involves extracting and analyzing data from smartphone-type mobile devices that are seized at crime scenes or in search and seizure operations. The Forensic Departments, however, can not meet the demand due to the growing number of requests and the volume of data and texts to analyze. The problem lies partly in the forensic tools used to analyze mobile instant messaging, which have low reliability in their results, and the dynamic nature of the linguistic expressions used by the suspects. This work proposes a methodology for automatic identification of messages of police interest using techniques of Natural Language Processing (PLN), specifically Semantic Role Labeling (SRL). The methodology is based on the semantics of frames that defines linguistic situations and the semantic roles involved. For example, it is possible to identify not only that a message contains terms that indicate a crime (drug trafficking) but also the elements involved in the crime (such as the drug marketed, the place of sale, the amounts involved etc.). Another contribution of the work was the definition of a database of forensic semantic frames - FrameFor.BR, generated from FrameNet. Experimental evaluations of the system and the FrameFor.BR base evidenced an increase in coverage in relation to the current approaches used by forensic experts, contributing to improve reliability and reduce the time required for compiling computer expert reports. Keywords: Computer forensic, FrameNet, natural language processing, mobile devices.
O trabalho pericial é de extrema relevância para investigação policial e importante prova material durante a etapa de processo penal. A perícia de computação envolve, principalmente, a extração e análise de dados de dispositivos móveis do tipo smartphones que são apreendidos em locais de crime ou em operações de busca e apreensão. Os institutos de perícias, porém, não conseguem atender à demanda devido à crescente quantidade de solicitações e ao volume de dados e textos para analisar. O problema está, em parte, nas ferramentas forenses utilizadas para análise de mensagens instantâneas de dispositivos móveis, as quais apresentam baixa confiabilidade em seus resultados, além do caráter dinâmico das expressões linguísticas utilizadas pelos suspeitos, sendo necessária a completa leitura do material analisado, pelos peritos. Esse trabalho propõe uma metodologia para identificação automática de mensagens de interesse policial através do uso de técnicas de Processamento de Linguagem Natural (PLN), especificamente de anotação de papeis semânticos (em inglês, Semantic Role Labeling - SRL). A metodologia é baseada na semântica de frames que define situações linguísticas e os papéis semânticos envolvidos. Por exemplo, é possível identificar não somente que uma mensagem contém termos que indiciam um crime (tráfico de drogas) mas também os elementos envolvidos no crime (como a droga comercializada, local da venda, valores envolvidos etc). Outra contribuição do trabalho, foi a definição de uma base de frames semânticos forenses - FrameFor.BR, gerada a partir da FrameNet. Avaliações experimentais do sistema e da base FrameFor.BR evidenciaram um aumento na cobertura em relação as atuais abordagens utilizadas pelos peritos forenses, contribuindo para melhoria da confiabilidade e na redução do tempo necessário para elaboração de laudos periciais de informática. Palavras-chave: Computação forense, FrameNet, processamento de linguagem natural, dispositivos móveis.
Baranauskas, Maria Cecilia Calani 1954. "Criação de ferramentas para ambiente PROLOG e o acesso de novatos ao paradigma da programação em logica". [s.n.], 1993. http://repositorio.unicamp.br/jspui/handle/REPOSIP/260423.
Texto completoTese (doutorado) - Universidade Estadual de Campinas, Faculdade de Engenharia Eletrica
Made available in DSpace on 2018-07-18T05:06:57Z (GMT). No. of bitstreams: 1 Baranauskas_MariaCeciliaCalani_D.pdf: 17533192 bytes, checksum: 75acf1785ebdc0ff37c188cfb76d937a (MD5) Previous issue date: 1993
Résumé: Cette these a comme theme principal le design des outils computationales constituent un ambiant de programmation Prolog et l'étude de l'interaction du novice en cet ambiant. La proposition de l'ensemble des outils est expliciter le paradigme sousjacent et enrichir le feedback formé par l'ambiant Prolog facilitant au novice l'acces au programme pas seulement dans la signification operationale, mais aussi dans la signification logique. Les outils insérés dans l'ambiant de programmation Prolog constituent um Module Operationale et un Module Declaratif. Dans le Module Operationale, la machine virtuelle du langue est executé à travers d'une base des donnés que nous appelons Arbre du Espace de Cherche. Dans le Module DecIaratif le formalisme clausal du programme est exprimé d'une manihe picturale à travres d'un modele basé en diagrammes des reseaux sémantiques, que nous appelons Diagrammes Sémantiques. II a été fait une étude experimentale pour l'analyse de l'interaction du novice dans l'ambiant proposé, avec deux types de novices: (A) novices dans leur premiere experience avec une langue de programmation (et aussi avec les ordinateurs) et (B) novices en Prolog, mais avec un bon connaissance des langues de procedures. Notre objectif a été étuder les états initials du procés de acquisition de la langue Prolog et les effets des outils dans ce procés. Les études des observations faites on montré que les deux types de novice ont modéles conceptuelles initiales de Ia machine virtuelle, qui sont les responsables de leur interpretation du programme Prolog e de la conduite de la machine virtuelle de la langue. Les situations d erreur peuvent être interprétés a partir de ces modeles conceptuelles courant, qui evoluent dans le procés d'interaction avec l'ambiant. L'activité de programmer s'est montré comme un proces d'incrémentation que comprend une cyc1e realimenté par reponds donés par l'ambiant de programation. Ainsi, la dépuration est une partie du procés de acquisition de la langue et non une phase que doit être traité isolément. Le feedback formé par les outils a été l'origin d'une transformation de la perspective des éleves en relation a la conaissance etant représenté (programme) et en relation au interlocuteur dans le procés de programmation (machine virtuelle), lequel a rend possible la modification de leurs modéles conceptuelles de la langue
Resumo: Esta tese tem como tema principal o design de ferramentas computacionais que constituem um ambiente de programação Prolog e o estudo da interação do novato nesse ambiente. A proposta do conjunto de ferramentas é explicitar o paradigma de programação subjacente e enriquecer o feedback gerado pelo ambiente Prolog, possibilitando ao novato acesso ao programa não apenas em seu significado operacional, mas também em seu significado lógico. As ferramentas, inseridas no ambiente de programação Prolog, constituem um Módulo Operacional e um Módulo Declarativo. No Módulo Operacional, a máquina virtual da linguagem é explicitada através de uma representação gráfica da ,árvore de busca de determinada meta em uma base de dados, que denominamos Arvore de Espaços de Busca. No Módulo Declarativo o formalismo clausal do programa é expresso de forma pictórica através de um modelo baseado em diagramas de redes semânticas, que denominamos Diagramas Semânticos. Foi feito um estudo experimental para análise da interação do novato no ambiente proposto, que envolveu dois tipos de novatos: (A) novatos em sua primeira experiência com linguagem de programação (e mesmo com computadores) e (B) novatos em Prolog, mas com bom conhecimento de linguagens procedurais. Nosso objetivo foi investigar os estágios iniciais do processo de aquisição da linguagem Prolog e os efeitos das ferramentas propostas, nesse processo. Os estudos realizados mostraram que ambos os tipos de novato têm modelos conceituais iniciais da máquina virtual, responsáveis pela sua interpretação a respeito do programa Prolog e do comportamento da máquina virtual da linguagem. As situações de erro podem ser interpretadas a partir desses modelos conceituais correntes, que evoluem ao longo do processo de interação com o ambiente. A atividade de programar mostrou-se como um processo incremental que envolve um ciclo realimentado por respostas forneci das pelo ambiente de programação. Dessa maneira, depuração é parte do processo de aquisição da linguagem e não uma fase a ser tratada isoladamente. O feedback gerado pelas ferramentas provocou uma mudança de perspectiva dos estudantes em relação ao conhecimento sendo representado (programa) e em relação ao interlocutor no processo de programação (máquina virtual), o que possibilitou a modificação nos seus modelos conceituais da linguagem
Abstract: This thesis concerns the design of computational tools which constitute a Prolog programming environment and the study of novices' interaction in this environment. The purpose of the tool package is to make explicit the underlying programming paradigm and to reinforce the feedback provided by the Prolog environment, opening to the novice access to the program, not only in its operational meaning but also in its logical meaning. The tools are integrated in the Prolog environment through an Operational Module and a Declarative Module. In the Operational Module, the language virtual machine is shown through a graphical representation of the search tree of a goal within a database, which I named Search-Spaces Tree. In the Declarative Module, the clausal form of the program is represented in a pictorial way, by means of a model based on network diagrams, which I named Semantic Diagrams. The study of the novice's interaction within the proposed environment was conducted experimentally with two types of novices: (A) novices in their first experience with a programming language (and even with computers) and (B) novices with good practice of procedural programming. Our aim was to investigate the early stages of Prolog programming and the effects of the proposed tools in this process. The observational studies undertaken showed that both types of novices had an initial conceptual model of the virtual machine. Such models guided their interpretation of the Prolog program and of the behavior of the machine. Their misunderstandings may be understood as resulting from their current models, which evolve as long as they interact in the environment. The programming activity can be interpreted, from the results, as an incremental process which envolves a cyclic process fed by responses of the programming environment. By this way, debugging is part of the language learning process and not an activity to be treated in isolation. The feedback created by the tools provided changes in the students' perspective related to the knowledge being represented (program) and the interlocutor in the process (virtual machine), which lead them to the understanding of the conceptual model of the language
Doutorado
Doutor em Engenharia Elétrica
Mattos, Julio Carlos Balzano de. "Geração de código no projeto de sistemas reativos a partir da linguagem RS". reponame:Biblioteca Digital de Teses e Dissertações da UFRGS, 2000. http://hdl.handle.net/10183/2829.
Texto completoFuzitaki, Claudio Naoto. "Mapeamento da linguagem Nautilus para Java". reponame:Biblioteca Digital de Teses e Dissertações da UFRGS, 2004. http://hdl.handle.net/10183/5621.
Texto completoMalacarne, Juliano. "Ambiente visual para programação distribuída em java". reponame:Biblioteca Digital de Teses e Dissertações da UFRGS, 2001. http://hdl.handle.net/10183/3723.
Texto completo