1 |
THE DRAG LANGUAGEMa, Weixi 01 January 2016 (has links)
This thesis describes the Drag language. Drag is a general purpose, gradually typed, lexically scoped, and multi-paradigm pro- gramming language. The essence of Drag is to build the abstract syntax trees of the programs directly and interactively. Our work includes the language specification and a prototype program. The language specification focuses on the syntax, the semantic model, and the type system. The prototype consists of an interactive editor and a compiler that targets several plat- forms, among which we focus on the LLVM platform in this thesis.
|
2 |
A Cloud-Based Visual Simulation Environment for Traffic NetworksOnder, Sait Tuna 19 June 2018 (has links)
Cloud-based Integrated Development Environments (IDEs) are highly complex systems compared to stand-alone IDEs that are installed on client devices. Today, the visual simulation environments developed as services on the cloud can offer similar features as client-based IDEs thanks to the advancements to the cloud technologies. However, most of the existing visual simulation tools are developed for client-based systems. Moving towards the cloud for visual simulation environments can provide better collaboration for simulation developers, easy access to the software, and less client hardware dependency. Proper guidance for the development of visual simulation tools can help researchers to develop their tools as a service on the cloud. This thesis presents a Cloud-based visuAl simulatioN enVironment for trAffic networkS (CANVAS), providing a framework that tackles challenges on the cloud-based visual simulation tools. CANVAS offers a set of tools for the composition and visualization of simulation models for the traffic network problem domain. CANVAS uses an asynchronous visualization protocol with efficient resource utilization on the server, enabling concurrent usage of the IDE. The simulation is executed on the server while the visualization is processed on the client-device within web browsers enabling execution-heavy simulations to thin clients. The component-based architecture of CANVAS offers a fully decoupled system that provides easier development and maintenance. The architecture can be used for the development of other cloud-based visual simulation IDEs. The CANVAS design and asynchronous visualization protocol show that advanced visualization capabilities can be provided to the client without depending on the client hardware. / Master of Science / Doing things “in the cloud” has become ubiquitous. The term “in the cloud” implies that a software application runs on a server computer somewhere in the world and a user with a web browser uses it over the Internet on a computer such as desktop or laptop. This thesis addresses the problem of how to create and execute a visual simulation of a system all “in the cloud”. We developed a system called cloud-based visual simulation environment for traffic networks (CANVAS). We selected traffic networks as an example problem domain to illustrate the capabilities of CANVAS. A person interested in creating and executing a visual simulation of a traffic network “in the cloud” can use CANVAS. Using a web browser on an Internet-connected computer, the user can develop and execute a visual simulation of a traffic network with the tools made available in CANVAS.
|
3 |
InGriDE: um ambiente integrado e extensível de desenvolvimento para computação em grade / InGriDE: an integrated and extensible development environment for grid computingGuerra, Eduardo Leal 07 May 2007 (has links)
Recentes avanços proporcionaram às grades computacionais um bom nível de maturidade. Esses sistemas têm sido implantados em ambientes de produção de qualidade na comunidade de pesquisa acadêmica e vêm despertando um grande interesse da indústria. Entretanto, desenvolver aplicações para essas infra-estruturas heterogêneas e distribuídas ainda é uma tarefa complexa e propensa a erros. As iniciativas de facilitar essa tarefa resultaram, na maioria dos casos, em ferramentas não integradas e baseadas em características específicas de cada grade computacional. O presente trabalho tem como objetivo minimizar a dificuldade de desenvolvimento de aplicações para a grade através da construção de um ambiente integrado e extensível de desenvolvimento (IDE) para computação em grade chamado InGriDE. O InGriDE fornece um conjunto único de ferramentas compatíveis com diferentes sistemas de middleware, desenvolvidas baseadas na interface de programação Grid Application Toolkit (GAT). O conjunto de funcionalidades do InGriDE foi desenvolvido com base na plataforma Eclipse que, além de fornecer um arcabouço para construção de IDEs, facilita a extensão do conjunto inicial de funcionalidades. Para validar a nossa solução, utilizamos em nosso estudo de caso o middleware InteGrade, desenvolvido no nosso grupo de pesquisa. Os resultados obtidos nesse trabalho mostraram a viabilidade de fornecer independência de middleware para IDEs através do uso de uma interface genérica de programação como o GAT. Além disso, os benefícios obtidos com o uso do Eclipse como arcabouço para construção de IDEs indicam que os recursos fornecidos por esse tipo de arcabouço atendem de forma eficiente as necessidades inerentes ao processo de desenvolvimento de aplicações para a grade. / Computational grids have evolved considerably over the past few years. These systems have been deployed in production environments in the academic research community and have increased the interest by the industrial community. However, developing applications over heterogeneous and distributed infrastructure is still a complex and error prone process. The initiatives to facilitate this task, in the majority of the cases, resulted in isolated, middleware-specific tools. This work has the objective of minimizing the difficulty of developing grid applications through the construction of an integrated and extensible development environment for grid computing, called InGriDE. InGriDE provides a unique set of tools, compliant with different middleware systems, based on the Grid Application Toolkit (GAT). We developed the InGriDE set of features, based on the Eclipse platform, which provides both a framework for building IDEs and the possibility to extend the initial set of features. To validate our solution we used the InteGrade middleware, developed in our research group, as our case study. The results obtained from our work showed the viability of providing middleware independence to IDEs through the use of a generic application programming interface like GAT. Moreover, the benefits obtained through the use of Eclipse as our framework for building IDEs indicates that this kind of framework satisfies the requirements inherent to the grid application development process in a efficient way.
|
4 |
Supporting Introductory Test-Driven Labs with WebIDEDvornik, Thomas C 01 January 2011 (has links)
WebIDE is a new web-based development environment for entry-level programmers with two primary goals: minimize tool barriers to writing computer programs and introduce software engineering best practices early in a student's educational career. Currently, WebIDE focuses on Test-Driven Learning (TDL) by using small iterative examples and introducing lock-step labs, which prevent the student from moving forward until they finish the current step. An initial set of labs and evaluators were created as examples of how to use WebIDE and were used in a pilot study in a CS0 course where students were split into two groups, one that used WebIDE and one that didn't. The WebIDE group showed a significant improvement in performance when writing a simple Android application. Additionally, among students with some programming experience, the WebIDE group was more proficient in writing unit tests.
|
5 |
InGriDE: um ambiente integrado e extensível de desenvolvimento para computação em grade / InGriDE: an integrated and extensible development environment for grid computingEduardo Leal Guerra 07 May 2007 (has links)
Recentes avanços proporcionaram às grades computacionais um bom nível de maturidade. Esses sistemas têm sido implantados em ambientes de produção de qualidade na comunidade de pesquisa acadêmica e vêm despertando um grande interesse da indústria. Entretanto, desenvolver aplicações para essas infra-estruturas heterogêneas e distribuídas ainda é uma tarefa complexa e propensa a erros. As iniciativas de facilitar essa tarefa resultaram, na maioria dos casos, em ferramentas não integradas e baseadas em características específicas de cada grade computacional. O presente trabalho tem como objetivo minimizar a dificuldade de desenvolvimento de aplicações para a grade através da construção de um ambiente integrado e extensível de desenvolvimento (IDE) para computação em grade chamado InGriDE. O InGriDE fornece um conjunto único de ferramentas compatíveis com diferentes sistemas de middleware, desenvolvidas baseadas na interface de programação Grid Application Toolkit (GAT). O conjunto de funcionalidades do InGriDE foi desenvolvido com base na plataforma Eclipse que, além de fornecer um arcabouço para construção de IDEs, facilita a extensão do conjunto inicial de funcionalidades. Para validar a nossa solução, utilizamos em nosso estudo de caso o middleware InteGrade, desenvolvido no nosso grupo de pesquisa. Os resultados obtidos nesse trabalho mostraram a viabilidade de fornecer independência de middleware para IDEs através do uso de uma interface genérica de programação como o GAT. Além disso, os benefícios obtidos com o uso do Eclipse como arcabouço para construção de IDEs indicam que os recursos fornecidos por esse tipo de arcabouço atendem de forma eficiente as necessidades inerentes ao processo de desenvolvimento de aplicações para a grade. / Computational grids have evolved considerably over the past few years. These systems have been deployed in production environments in the academic research community and have increased the interest by the industrial community. However, developing applications over heterogeneous and distributed infrastructure is still a complex and error prone process. The initiatives to facilitate this task, in the majority of the cases, resulted in isolated, middleware-specific tools. This work has the objective of minimizing the difficulty of developing grid applications through the construction of an integrated and extensible development environment for grid computing, called InGriDE. InGriDE provides a unique set of tools, compliant with different middleware systems, based on the Grid Application Toolkit (GAT). We developed the InGriDE set of features, based on the Eclipse platform, which provides both a framework for building IDEs and the possibility to extend the initial set of features. To validate our solution we used the InteGrade middleware, developed in our research group, as our case study. The results obtained from our work showed the viability of providing middleware independence to IDEs through the use of a generic application programming interface like GAT. Moreover, the benefits obtained through the use of Eclipse as our framework for building IDEs indicates that this kind of framework satisfies the requirements inherent to the grid application development process in a efficient way.
|
6 |
Vägen till utvecklarens val av utvecklingsmiljöPatrik, Eklund, Parke, Leonard January 2016 (has links)
Dagens system har blivit allt mer komplexa och därmed även processen att utveckla systemen. Det finns många olika tillvägagångssätt för systemutvecklare att arbeta och flera olika verktyg att använda sig av. Den utvecklingsmiljö en utvecklare använder sig av kan därmed ha en påverkan på hur utvecklingsprocessen ser ut. Utvecklingsmiljön är ett viktigt verktyg i dagens utvecklande samhälle och vilka för- och nackdelar olika verktyg för med sig diskuteras flitigt mellan utvecklare på olika nätforum. Från dessa forum framkommer det att vissa utvecklare föredrar att använda textredigerare istället för integrerade utvecklingsmiljöer och vice versa. Tidigare forskning har exempelvis undersökt hur kännedom kring verktyg sprids effektivt mellan utvecklare (Murphy-Hill & Murphy, 2011), men denna uppsats syftar till att förklara varför utvecklare använder olika utvecklingsmiljöer och bakomliggande faktorer till detta. För att åstadkomma detta har respondenter med bred kunskap inom ämnet intervjuats och nämnt faktorer som påverkat deras val av utvecklingsverktyg. Samtliga intervjupersoner har arbetat i både integrerade utvecklingsmiljöer och textredigerare och har därmed åsikter om båda miljöerna. Enligt vår studie finns inga tydliga indikeringar för vilken utvecklingsmiljö som är att föredra i alla lägen. En utvecklare använder det verktyg som passar dess arbetsprocess bäst, men kan ibland använda andra verktyg för att komplettera sin verktygslåda. Vad som styr utvecklaren har att göra med personliga preferenser, hur utvecklaren har påverkats av utbildning och erfarenheter samt potentiella restriktioner inom organisationer. / Today's systems have become more complex and thus the process of developing systems. There are many different approaches for developers to work and several tools that can be used. The environment a developer uses can therefore have an impact on how the development process proceeds. The development environment is an essential tool in today’s evolving society, and what advantages and disadvantages different tools bring are being discussed frequently between developers on various online forums. From these forums, it appears that some developers prefer to use text editors instead of integrated development environments and vice versa. Previous research has shown, for example, how knowledge about the tools is spread effectively between developers (Murphy Hill & Murphy, 2011). But this paper seeks to explain why developers are using different development environments and the factors behind this. To achieve this, we interviewed respondents with broad knowledge about the subject that stated the factors that influenced their choice of development tools. All the interviewees have worked in both integrated development environments and text editors and therefore have opinions about both environments. According to our study, there are no clear indications that a specific development environment is preferred in all situations. A developer is using the tool that fits their work process best, but sometimes uses other tools to complement their toolbox. In choosing a tool the developer is influenced by personal preferences, how surroundings have influenced the developer through education and experience, and potential constraints within organizations.
|
7 |
Biblioteca, API e IDE para o desenvolvimento de projetos de metodologias de Ressonância Magnética / Library, API and IDE for the development of Magnetic Resonance methodologiesPizetta, Daniel Cosmo 20 February 2014 (has links)
Neste trabalho serão discutidas novas ferramentas para a construção de um espectrômetro de Ressonância Magnética (RM) totalmente digital. A motivação parte das dificuldades encontradas pelos pesquisadores no momento de programar um equipamento de RM, incluindo a falta de ferramentas para desenvolvimento de metodologias, as quais não são oferecidas pelos softwares atuais. Em particular tratamos do desenvolvimento de uma biblioteca, a PyMR (Python Magnetic Resonance), de uma API (Application Program Interface) e de um IDE (Integrated Development Environment). Nesta estrutura, a biblioteca PyMR é o front-end para programação e setup dos equipamentos de RM enquanto a API constitui o back-end. O IDE, por sua vez, é uma ferramenta de auxílio especializado para criação e gerenciamento das metodologias e protocolos de RM de forma funcional e amigável. O desenvolvimento baseado no estado-da-arte das tecnologias de Computação e Ressonância Magnética garante a qualidade, robustez, adaptabilidade e ainda assim, a simplicidade para uso dos menos experientes. Para a validação do sistema, além de métricas de software, foi montada uma sequência de pulsos conhecida como CPMG (Carr-Purcell-Meiboom-Gill) executada no espectrômetro local sobre uma amostra de CuSO4 em solução, o qual mostrou valores de T2 compatíveis com os valores esperados. Os resultados do novo sistema mostram sua capacidade de atender as principais exigências dos usuários e desenvolvedores de metodologias de RM, oferecendo um amplo conjunto de ferramentas. Em suma, este projeto provê a estrutura básica e funcional de uma nova forma de se programar e utilizar equipamentos de RM, gerando um poderoso instrumento para a pesquisa na área. / In this study we discuss new tools for the building of a fully digital Magnetic Resonance (MR) spectrometer. The research was motivated by several difficulties experienced by researchers in programming MR machines, which include the lack of tools for the development of methodologies that are not currently offered by companies. In particular, we treat the development of a library, PyMR (Python Magnetic Resonance), an API (Application Program Interface) and an IDE (Integrated Development Environment). In this structure, the PyMR library acts as a front-end for MR equipment programming and setup while the API is a back-end. Finally, the IDE is a user-friendly tool that helps the developer to create and manage methodologies and protocols. The state-of-the-art of Computer Sciences and Magnetic Resonance technologies adopted here has ensured the quality, robustness and adaptability keeping simplicity for non-experienced users. For the validation of the system, besides software metrics, a pulse sequence known as CPMG (Carr-Purcell-Meiboom-Gill) was assembled and performed on an onsite spectrometer, using a solution of CuSO4 as a sample, which exhibited compatible T2 values. The results show that the system can meet the main requirements of both users and developers and offer a large set of tools. This project provides a basic and functional structure of a new way to program and use the MR equipment and a powerful tool for researchers in this area.
|
8 |
Integrated tooling framework for software configuration analysisSingh, Nieraj 05 May 2011 (has links)
Configurable software systems adapt to changes in hardware and execution environments, and often exhibit a variety of complex maintenance issues. Many tools exist to aid developers in analysing and maintaining large configurable software systems. Some are standalone applications, while a growing number are becoming part of Integrated Development Environments (IDE) like Eclipse. Reusable tooling frameworks can reduce development time for tools that concentrate on software configuration analysis. This thesis presents C-CLEAR, a common, reusable, and extensible tooling framework for software configuration analysis, where clear separation of concern exists between tooling functionality and definitions that characterise a software system. Special emphasis will be placed on common mechanisms for data abstraction and automatic IDE integration independent of the software system that is being analysed. / Graduate
|
9 |
Biblioteca, API e IDE para o desenvolvimento de projetos de metodologias de Ressonância Magnética / Library, API and IDE for the development of Magnetic Resonance methodologiesDaniel Cosmo Pizetta 20 February 2014 (has links)
Neste trabalho serão discutidas novas ferramentas para a construção de um espectrômetro de Ressonância Magnética (RM) totalmente digital. A motivação parte das dificuldades encontradas pelos pesquisadores no momento de programar um equipamento de RM, incluindo a falta de ferramentas para desenvolvimento de metodologias, as quais não são oferecidas pelos softwares atuais. Em particular tratamos do desenvolvimento de uma biblioteca, a PyMR (Python Magnetic Resonance), de uma API (Application Program Interface) e de um IDE (Integrated Development Environment). Nesta estrutura, a biblioteca PyMR é o front-end para programação e setup dos equipamentos de RM enquanto a API constitui o back-end. O IDE, por sua vez, é uma ferramenta de auxílio especializado para criação e gerenciamento das metodologias e protocolos de RM de forma funcional e amigável. O desenvolvimento baseado no estado-da-arte das tecnologias de Computação e Ressonância Magnética garante a qualidade, robustez, adaptabilidade e ainda assim, a simplicidade para uso dos menos experientes. Para a validação do sistema, além de métricas de software, foi montada uma sequência de pulsos conhecida como CPMG (Carr-Purcell-Meiboom-Gill) executada no espectrômetro local sobre uma amostra de CuSO4 em solução, o qual mostrou valores de T2 compatíveis com os valores esperados. Os resultados do novo sistema mostram sua capacidade de atender as principais exigências dos usuários e desenvolvedores de metodologias de RM, oferecendo um amplo conjunto de ferramentas. Em suma, este projeto provê a estrutura básica e funcional de uma nova forma de se programar e utilizar equipamentos de RM, gerando um poderoso instrumento para a pesquisa na área. / In this study we discuss new tools for the building of a fully digital Magnetic Resonance (MR) spectrometer. The research was motivated by several difficulties experienced by researchers in programming MR machines, which include the lack of tools for the development of methodologies that are not currently offered by companies. In particular, we treat the development of a library, PyMR (Python Magnetic Resonance), an API (Application Program Interface) and an IDE (Integrated Development Environment). In this structure, the PyMR library acts as a front-end for MR equipment programming and setup while the API is a back-end. Finally, the IDE is a user-friendly tool that helps the developer to create and manage methodologies and protocols. The state-of-the-art of Computer Sciences and Magnetic Resonance technologies adopted here has ensured the quality, robustness and adaptability keeping simplicity for non-experienced users. For the validation of the system, besides software metrics, a pulse sequence known as CPMG (Carr-Purcell-Meiboom-Gill) was assembled and performed on an onsite spectrometer, using a solution of CuSO4 as a sample, which exhibited compatible T2 values. The results show that the system can meet the main requirements of both users and developers and offer a large set of tools. This project provides a basic and functional structure of a new way to program and use the MR equipment and a powerful tool for researchers in this area.
|
10 |
Разработка веб-ориентированной интегрированной среды разработки для Groovy на JavaScript : магистерская диссертация / Development of web IDE for Groovy languageЛопес Рейнага, Л. К., Lopes Reynaga, L. K. January 2019 (has links)
Спроектирована и разработана веб-ориентированная интегрированная среда разработки для Groovy на JavaScript с возможностью компиляции кода и загрузки сторонних библиотек. / The aim of the present work was to design and develop web-oriented integrated development environment with features such as code compilation and ability to use 3rd party libraries.
|
Page generated in 0.1916 seconds