• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 75
  • 20
  • 16
  • 14
  • 10
  • 7
  • 5
  • 5
  • 3
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • Tagged with
  • 181
  • 181
  • 54
  • 35
  • 32
  • 25
  • 24
  • 22
  • 22
  • 22
  • 18
  • 17
  • 17
  • 16
  • 15
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
131

SAMOA - Sistema de Apoio à Modelagem Orientada a Objetos de Aplicações. / SAMOA - Application Object Oriented Modeling Support System.

SILVA, Edemberg Rocha da. 17 August 2018 (has links)
Submitted by Johnny Rodrigues (johnnyrodrigues@ufcg.edu.br) on 2018-08-17T14:18:41Z No. of bitstreams: 1 EDEMBERG ROCHA DA SILVA - DISSERTAÇÃO PPGCC 2003..pdf: 1169743 bytes, checksum: 2feda912b0a385f167ab5d5d55ea5a71 (MD5) / Made available in DSpace on 2018-08-17T14:18:41Z (GMT). No. of bitstreams: 1 EDEMBERG ROCHA DA SILVA - DISSERTAÇÃO PPGCC 2003..pdf: 1169743 bytes, checksum: 2feda912b0a385f167ab5d5d55ea5a71 (MD5) Previous issue date: 2003-12-22 / Capes / Padrões de projeto são considerados uma das mais valiosas tecnologias para produzir software de qualidade. Uma técnica para melhorar o uso de padrões é identificar suas realizações e inferir um conhecimento para melhorá-las. Esta tarefa de encontrar todas as realizações de padrões em um projeto caracteriza-se por ser tediosa para o engenheiro de software. Nessa dissertação apresentamos um sistema assistente para programadores e arquitetos de software, chamado SAMOA (Sistema de Apoio a Modelagem Orientada a Objetos de Aplicações). Este sistema é um assistente interativo para automatizar o trabalho de detecção de realizações de padrões de projetos. Basicamente, o SAMOA é capaz de automaticamente (i) encontrar padrões aplicados em diagramas de classes UML e em fontes JAVA; (ii) produzir possíveis criticas sobre esses padrões. Depois que esses são detectados, um conjunto de críticas de projetos são verificadas para testar se a realização dos padrões pode ser melhorada. E (iii) instanciar padrões visando à geração de código do mesmo, na linguagem de programação Java. Foi implementado um protótipo do sistema que realiza as atividades (i) e (iii). Abordamos, também, quais diferenciais nosso sistema tem em relação aos demais existentes / Design patterns are considered one of the most valuable technologies to produce quality software. A technique to improve the use of patterns is to identify their realizations and to induce a knowlege to enhance their use. This work to find all pattern realizations in a software design can be tedious for the software engineer. In this dissertation we show an assistant system for programmers and software architets, called SAMOA (Sistema de Apoio a Modelagem Orientada a Objetos de Aplicações). This system is an interactive assistant to automate the work of detection of the realizations of design patterns. On principle, SAMOA is able to automatically (i) find patterns applied in UML diagrams and in JAVA;sources (ii) make critiques about these patterns. If a pattern has been detected, a set of design critiques are verified to test if the realization of the pattern can be improved. And (iii) instanciate patterns to aim an automatic code generation in the JAVA programming language. We have implemented a prototype of the system that realizes activities (i) and (iii). We also discuss , wich properties differentiate our system from existing others.
132

Guibuilder multimodal : um framework para a geração de interfaces multimodais com o apoio de interaction design patterns

Fragoso, Ygara Lúcia Souza Melo 01 November 2012 (has links)
Submitted by Alison Vanceto (alison-vanceto@hotmail.com) on 2016-10-04T12:38:10Z No. of bitstreams: 1 DissYLSM.pdf: 5457505 bytes, checksum: 5b644703e5553e5b7a06e6ad6e976868 (MD5) / Approved for entry into archive by Ronildo Prado (ronisp@ufscar.br) on 2016-10-04T18:00:12Z (GMT) No. of bitstreams: 1 DissYLSM.pdf: 5457505 bytes, checksum: 5b644703e5553e5b7a06e6ad6e976868 (MD5) / Approved for entry into archive by Ronildo Prado (ronisp@ufscar.br) on 2016-10-04T18:00:21Z (GMT) No. of bitstreams: 1 DissYLSM.pdf: 5457505 bytes, checksum: 5b644703e5553e5b7a06e6ad6e976868 (MD5) / Made available in DSpace on 2016-10-04T18:13:36Z (GMT). No. of bitstreams: 1 DissYLSM.pdf: 5457505 bytes, checksum: 5b644703e5553e5b7a06e6ad6e976868 (MD5) Previous issue date: 2012-11-01 / Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES) / The interaction between humans and the computers has improved substantially during time through the evolution of interfaces of interaction. The possibility of users to interact with machines through several modalities of communication, and in a natural way, can increase the level of interest from the user and ensure the success of the application. However, the literature of the area of multimodality has shown that developing such interfaces is not a simple task, mainly for non-experienced or recently graduated professionals, since each designer’s modality of interaction has its complexity in technical terms, as acquisition and adaptation with new tools, languages, possible actions and etc. Moreover it is necessary to verify which modalities (voice, touch and gestures) can be used in the application, how to combine these modalities in a way that the stronger point of one completes the weak point of the other and vice versa, and also knowing in what context the final user will be involved. The GuiBuilder Multimodal was developed aiming to try providing the basic needs in implementing an interface that uses voice, touch and gesture. The framework promotes an interface development through the WYSIWYG (What You See Is What You Get) model, where the designer just sets some parameters so the component is multimodal. During the interface creation phase, agents supervise what the designer does and supply support, clues, with design patterns that might be divided in categories such as: multimodality, interaction with the user and components. / A interação entre humano e computador tem melhorado substancialmente ao longo do tempo através da evolução das interfaces de interação. A possibilidade de usuários interagirem com máquinas através de várias modalidades de comunicação, e de forma natural, pode aumentar o nível de interesse do usuário e garantir o sucesso da aplicação. Porém, o estado da arte da área de multimodalidade demonstra que desenvolver tais interfaces não é uma tarefa simples, principalmente para projetistas inexperientes ou recém formados, pois cada modalidade de interação tem sua complexidade em termos técnicos, como aquisição e adaptação com novas ferramentas, linguagens, ações possíveis e etc. Além disso, é preciso verificar quais modalidades (voz, toque e gestos) podem ser usadas na aplicação, como combinar essas modalidades de forma que o ponto forte de uma complemente o ponto fraco da outra e vice-versa e também saber em qual contexto o usuário final estará inserido. O GuiBuilder Multimodal foi desenvolvido com o intuito de tentar suprir as necessidades básicas em se implementar uma interface que utiliza voz, toque e gesto. O framework promove um desenvolvimento de interface através do modelo WYSIWYG (What You See Is What You Get) onde o projetista apenas define alguns parâmetros para que um componente seja multimodal. Durante a fase de criação da interface agentes supervisionam o que o designer faz e fornece um apoio, dicas, com padrões de projeto que podem ser divididos em categorias como: multimodalidade, interação com o usuário e componentes.
133

Persuasive software design patterns and user perceptions of behaviour change support systems

Oduor, M. (Michael) 24 April 2018 (has links)
Abstract Modern life has increasingly become intertwined with technology, and recent years have witnessed a growth in technologies that support people in, for instance, leading healthier and more sustainable lifestyles. At the centre of this growth has been persuasive systems design, which has been shown to have a positive effect on individuals’ behaviour and their use of systems. This dissertation consists of five studies, encompassing a literature review, two quantitative studies with a total of 227 respondents, and two constructive studies that address the central research question of the dissertation: How can integrating judgment and decision-making processes and persuasive software design patterns enhance the development of behaviour change support systems? The primary theoretical framework for the research is the Persuasive Systems Design model. This is a model that outlines the key requirements for developing persuasive systems, consisting of the theoretical underpinnings, persuasion context analysis, and four feature categories. In recent years, improving the design of persuasive systems to better achieve their intended objectives has been an important topic. This dissertation, in addition to examining the role of persuasive software features in influencing behaviour, also integrates behavioural economics and software design patterns into the design of persuasive systems. Additionally, the interplay between the categories and other constructs such as perceived competence is investigated through statistical analyses. Overall, results reveal that persuasive system features have an impact on the efficacy of behaviour change support systems. Additionally, integrating behavioural economics concepts that explain the reasons why individuals deviate from expected behaviour and software design patterns can help improve the development of persuasive systems and further enhance their efficacy. / Tiivistelmä Teknologia on yhä tiukemmin osa nykyelämää. Viime vuosina on tapahtunut kasvua ja kehitystä teknologioissa, jotka tukevat ihmisiä esimerkiksi elämään terveellisemmin ja ympäristöä säästäen. Tämän kasvun keskiössä on ollut vakuuttavien järjestelmien suunnittelu, jonka on osoitettu vaikuttavan positiivisesti sekä ihmisten käyttäytymiseen että järjestelmien käyttöön. Tämä väitöskirja käsittää viisi tutkimusta, sisältäen kirjallisuuskatsauksen, kaksi kvantitatiivista tutkimusta yhteensä 227 vastaajalla, ja kaksi konstruktiivista tutkimusta, jotka yhdessä vastaavat väitöskirjan päätutkimuskysymykseen: Kuinka arviointi- ja päätöksentekoprosessit sekä vakuuttavien järjestelmien suunnittelumallit yhdistämällä voidaan edistää käyttäytymisen muutosta tukevien järjestelmien kehitystä? Ensisijainen teoreettinen viitekehys tutkimukselle on vakuuttavien järjestelmien suunnittelumalli (Persuasive Systems Design model). Kyseinen malli määrittää keskeiset vaatimukset vakuuttavien järjestelmien kehittämiselle. Tärkeänä aiheena on ollut vakuuttavien järjestelmien suunnittelemisen edistäminen, jotta niillä voitaisiin paremmin saavuttaa aiotut päämäärät. Vakuuttavien järjestelmien ohjelmisto-ominaisuuksien vaikutuksesta käyttäytymiseen tutkimisen lisäksi väitöskirja yhdistää myös behavioristisen taloustieteen ja ohjelmistosuunnittelumallit vakuuttavien järjestelmien suunnitteluun. Lisäksi kategorioiden ja muiden käsitteiden, kuten koetun pätevyyden, vuorovaikutusta on tutkittu tilastollisen analyysin keinoin. Kaiken kaikkiaan tulokset paljastavat vakuuttavien järjestelmien ominaisuuksilla olevan vaikutusta käyttäytymisen muutosta tukevien järjestelmien vaikuttavuuteen. Lisäksi integroimalla behavioristisen taloustieteen konsepteja, jotka selittävät syitä, joiden vuoksi yksilöt käyttäytyvät odotetusta poikkeavasti, ohjelmistosuunnittelumalleihin, voidaan auttaa edistämään vakuuttavien järjestelmien kehittämistä ja parantaa niiden vaikuttavuutta.
134

Evolução arquitetural de um web service: transformação de código e avaliação de arquitetura

CORREIA, Karina da Silva 27 July 2015 (has links)
Submitted by Irene Nascimento (irene.kessia@ufpe.br) on 2016-08-30T17:54:00Z No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) Dissertação_Karina_CIN.pdf: 1045991 bytes, checksum: ab1e6ae77770903f6c88d33b95b07d99 (MD5) / Made available in DSpace on 2016-08-30T17:54:00Z (GMT). No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) Dissertação_Karina_CIN.pdf: 1045991 bytes, checksum: ab1e6ae77770903f6c88d33b95b07d99 (MD5) Previous issue date: 2015-07-27 / Os Web Services são componentes de software que se utilizam de tecnologias e protocolos abertos: XML, SOAP, WSDL e UDDI, para fornecer seus serviços. Atualmente, os Web Services surgem como alternativa para melhorar a comunicação entre os sistemas. Esta dissertação apresenta uma reestruturação arquitetural de Web Service - em funcionamento há quatro anos, cuja finalidade do seu serviço visa possibilitar que operações DML sejam realizadas em diferentes bases de dados de forma transparente para os usuários - fazendo uso de refatoração e padrões de projetos, garantindo que os fatores de qualidade: manutenibilidade, confiabilidade, eficiência e portabilidade, sejam mantidos. Os objetivos propostos podem ser sintetizados no entendimento e caracterização das funcionalidades e das tecnologias que envolvem os Web Services; estudos e pesquisas para descobrir quais padrões de projetos e refatoração podem ser utilizados na implementação do Web Services, possibilitando desta forma que boas práticas de desenvolvimento sejam adotadas; definir quais fatores de qualidade podem ser utilizados no processo de validação, além de, realizar avaliações e testes de Web Service fazendo uso de ferramentas Open Source; e finalmente, analisar se os resultados obtidos após o uso destes padrões na implementação do Web Service são satisfatórios. Para alcançar os objetivos propostos foi realizada uma análise da arquitetura do Web Service, por meio da engenharia reversa e análise de código. Após esta análise, refatorações e padrões de projetos foram definidos e utilizados na nova arquitetura para a implementação do novo Web Service, com o intuito de prover e garantir os fatores de qualidade: manutenibilidade, confiabilidade, eficiência e portabilidade. E por fim, testes de desempenho, carga/stress e funcional foram realizados com auxílio de ferramentas Open Source, JMeter e SoapUI, nos dois Web Services, para posteriormente seus resultados serem analisados. Os resultados obtidos, após a realização de teste e avaliação comparativa entre os dois Web Services, demonstraram uma melhora na qualidade dos serviços fornecidos pelo Web Service reestruturado, além de proporcionar redução de custo de manutenção. Assim sendo, este estudo constatou que refatoração e padrões de projetos podem ser utilizados na implementação de Web Service. / Web Services are software components that use open technologies and protocols like XML, SOAP, WSDL and UDDI, to provide its services. Currently, Web Services are an alternative to improve communication between the systems. This dissertation presents a Web Service architectural restructuring – in operation for four years, for the purpose of its service aims to enable DML operations are performed on different databases transparently to users – making use of refactoring and design patterns, ensuring that the factors of quality: maintainability, reliability, efficiency and portability are kept. The objectives proposed can be synthesized in the understanding and characterization of the features and technologies involving Web Services; study and research to find out which design patterns and refactoring can be used in the implementation of the Web Service, enabling this way that good development practices are adopted. We also identify quality factors that can be used in the validation process, as well as we carry out evaluations and testing of Web Service using Open Source tools. Finally, we analyze the results obtained after the use of these standards in the implementation of Web Service are satisfactory. To achieve the proposed was conducted an analysis of the architecture of the Web Service, by means of reverse engineering and code analysis. After this step, design patterns and refactoring have been defined and used in the new architecture for the implementation of the new Web Service, in order to provide and ensure the factors of quality: maintainability, reliability, efficiency and portability. Finally, performance testing, load/stress and functional were performed with the help of Open Source tools, JMeter and SoapUI Web Services, two for later results are analyzed. The results, after testing and benchmarking between the two Web Services, showed and improvement in the quality of services provided by the Web Service restructured, in addition to providing maintenance cost reduction. Therefore, this study found that refactorings and design patterns can be used in implementing the Web Service.
135

Projeto arquitetural de serviços de representação e agregação de informações de contexto baseadas em ontologias

Marques, Guilherme Silva 05 September 2016 (has links)
Submitted by Cássia Santos (cassia.bcufg@gmail.com) on 2016-09-23T12:05:51Z No. of bitstreams: 2 Dissertação - Guilherme Silva Marques - 2016.pdf: 2715063 bytes, checksum: 3bafbdca7ace292dda958959884eaeb3 (MD5) license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) / Approved for entry into archive by Luciana Ferreira (lucgeral@gmail.com) on 2016-09-26T12:00:37Z (GMT) No. of bitstreams: 2 Dissertação - Guilherme Silva Marques - 2016.pdf: 2715063 bytes, checksum: 3bafbdca7ace292dda958959884eaeb3 (MD5) license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) / Made available in DSpace on 2016-09-26T12:00:37Z (GMT). No. of bitstreams: 2 Dissertação - Guilherme Silva Marques - 2016.pdf: 2715063 bytes, checksum: 3bafbdca7ace292dda958959884eaeb3 (MD5) license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) Previous issue date: 2016-09-05 / Dey et al. [10] define context as the information set that can be used to characterize the status of an entity (e.g. person, place or object relevant to the user-application interaction). Perera et al. [36] propose a context information life cycle in 4 phases: acquisition, modeling, reasoning and dissemination. Context modeling consists in representing the real world in computing and, according to Bettini et al. [2], a good information context modeling mitigates the complexity of context-aware applications. In the context of this work, a systematic review demonstrated that the literature has focused on context information modeling, but with less emphasis on the architectural project. The main problem addressed on this work is the creation and evaluation of architectural projects that work together on the context modeling phase of a Semantic Context-Aware System (SCAS), which uses ontologies as main information modeling technique. This work proposes an architectural solution to two relevant services of the ontology-based context modeling phase: the former represents context information collected through sensors, and the latter aggregates context information represented by the former for a same individual or entity. Both architectural designs were built using well-known architectural styles and design patterns, as well as were evaluated against architectural designs of similar projects. As a result, the main contributions include the architectural designs of ontology-based services for context representation and aggregation as references for the development of SCAS in terms of the context modeling phase. / Contexto é o conjunto de informações que pode ser utilizado para caracterizar a situação de uma entidade (pessoa, lugar ou objeto relevante para a interação usuário-aplicação) [10]. Perera et al. [36] propõem um ciclo de vida para a informação de contexto composto por 4 etapas: aquisição, modelagem, raciocínio e disseminação. A etapa de modelagem de contexto consiste em representar o mundo real na computação. Segundo Bettini et. al. [2] “uma boa modelagem de informação de contexto reduz a complexidade das aplicações sensíveis a contexto”. Um Sistema Sensível ao Contexto Semântico (SSCS) é um sistema computacional que utiliza ontologias que, segundo Gruber [15], é “uma especificação explícita de uma conceitualização”, e consistem em uma das formas de modelar as informações de contexto. Como resultado de uma revisão sistemática feita pelo autor deste trabalho evidenciou que na literatura o foco dos trabalhos tem sido na modelagem da informação de contexto com menor enfoque no uso de projeto arquitetural. Com base nisso, o principal problema endereçado neste trabalho é a criação e avaliação dos projetos arquiteturais que trabalhem em conjunto na modelagem do ciclo de vida de contexto em SSCS. Objetiva-se elaborar uma solução arquitetural para sistemas sensíveis ao contexto semântico baseado em ontologias. Propôs-se neste trabalho o projeto arquitetural para o software de representação ontológica de contexto e para o software de agregação ontológica de contexto. O primeiro representa as informações coletadas através de sensores e o segundo agrega as informações representadas para um mesmo indivíduo ou entidade. Realizou-se, assim, a avaliação dos projetos arquiteturais propostos e explana-se sobre os resultados obtidos, comparando-os com outros projetos existentes na literatura. Com a obtenção dos resultados propostos, espera-se contribuir com a literatura, apresentando projetos arquiteturais e avaliações destes, auxiliando, assim, o desenvolvimento de SSCS no que se refere à modelagem do ciclo de vida de contexto.
136

The Use of Patterns in Information System Engineering

Backlund, Per January 2001 (has links)
The aims of this dissertation are to investigate the use and usefulness of patterns in Information Systems Engineering and to identify future areas of research. In order to do this there is a need to survey different types of patterns and find a common concept of patterns. A pattern is based on experience found in the real world. A text or a model or a combination of the both can describe the pattern. A pattern is typically described in terms of context, forces, problem, and solution. These can be explicitly expressed or implicitly found in the description of the pattern. The types of patterns dealt with are: object-oriented patterns; design patterns, analysis patterns; data model patterns; domain patterns; business patterns; workflow patterns and the deontic pattern. The different types of patterns are presented using the authors' own terminology. The patterns described in the survey are classified with respect to different aspects. The intention of this analysis is to form a taxonomy for patterns and to bring order into the vast amount of patterns. This is an important step in order to find out how patterns are used and can be used in Information Systems Engineering. The aspects used in the classification are: level of abstraction; text or model emphasis; product or process emphasis; life cycle stage usage and combinations of these aspects. Finally an outline for future areas of research is presented. The areas that have been considered of interest are: patterns and Information Systems Engineering methods; patterns and tools (tool support for patterns); patterns as a pedagogical aid; the extraction and documentation of patterns and patterns and novel applications of information technology. Each future area of research is sketched out.
137

Designing Framework for Web Development

Rahman, Mohammad Hafijur January 2012 (has links)
No description available.
138

Skillnader och likheter i användandet av mobilapplikationen Fishbrain för operativsystemen Android och iOS / Differences and similarities in the use of the mobile application Fishbrain for the operating systems iOS and Android

Nordqvist, Sofia, Westling, Erica January 2018 (has links)
Denna uppsats redogör för skillnader och likheter i beteende och användning av mobilapplikationen Fishbrain beroende på vilket operativsystem (Android eller iOS) användarna har samt vilka faktorer som kan påverka dessa användarmässiga skillnader. Undersökningen kan vara av intresse för företag som utvecklar mobilapplikationer för olika operativsystem men även ligga till grund för andra studenter som undersöker relationer mellan operativsystem och hur de används. Med hjälp av virtual behavior setting- teorin studerar vi användandet av mobilapplikationen Fishbrain och analyserar vilka skillnader och likheter vi finner för de olika operativsystemen. Vi studerar även designmönster och undersöker om Fishbrains mobilapplikation följer Google och Apples designriktlinjer. Genom två kvantitativa metoder, enkät och analys av applikationsdata, kommer vi fram till att det finns såväl skillnader som likheter i användningen av mobilapplikationen Fishbrain mellan operativsystemen Android och iOS. Undersökningen visar att det finns signifikanta skillnader i användandet av Fishbrains mobilapplikation och att detta både beror på hur användare av olika operativsystem beter sig samt designmässig skillnad i hur applikationen är utformad i enlighet med operativsystemens respektive designmönster. / This essay describes the differences and similarities in behavior and use of the Fishbrain mobile application, depending on which operating system is used (Android or iOS). This study may be of interest to companies developing mobile applications for different operating systems, but also to other students who want to investigate the behavioral relationship between a user’s chosen operating system, and how it affects their respective behavior in-app. Using the virtual behavior setting theory, we study the usage patterns of Fishbrain-users and analyse where and how it differs, depending on operating system. We also delve into design patterns, and whether or not Fishbrain’s mobile application complies with Google and Apple's respective design guidelines. Through our two chosen quantitative methods, survey and data analysis, we find that for certain key areas, a user’s chosen operating system has a significant impact on how and why the application is used. This essay shows that there are significant differences in the use of Fisbrain’s mobile application and that this depends both on how users of different operating systems behave, as well as design differences in how the mobile application is designed according to the respective design patterns of the operating systems.
139

Arquiterura para desenvolvimento de jogos com o uso de componentes reaproveitáveis / Creation of a platform for component based game development

Maia, Carlos Edmilson da Silva 26 March 2010 (has links)
Game development presents more challenges as this type of software becomes more complex and detailed. As in the development of traditional software, this growth in scope incurs in a development process that costs more and has a longer production time, increasing the risks faced by companies that wish to enter or maintain themselves in the electronic game market. With this, it becomes increasingly desirable to search and implement tools that allow for the reduction of required resources to develop games. It is also noticeable that there is an increasing need to proved development teams with new tools that allow faster creation of prototypes, enabling them to test and evolve new game ideas in a nimbler and less expensive way. This work presents the project and implementation of a modular platform that aims to solve or lessen the aforementioned problems, offering a tool that allows for the development of games with reduced costs, in addition to simplifying the quick prototyping process. Through the use of a programming approach based on reusable software components written in different programming languages, this work aims to enable methodologies that are able to foster code reuse, to facilitate team work, to reduce development time and to improve the quality of the final product. / O desenvolvimento de jogos apresenta mais desafios à medida que softwares desse tipo tornam-se mais complexos e detalhados. Assim como no desenvolvimento de softwares tradicionais, esse crescimento do escopo incorre em custos maiores e prazos de produção mais longos, aumentando os riscos enfrentados por empresas do ramo que buscam situar-se ou manter-se no mercado de jogos eletrônicos. Com isso, torna-se cada vez mais desejável buscar e implementar formas de desenvolvimento que possibilitem a redução de recursos necessários para a produção desse tipo de software. Também se observa um aumento da necessidade de disponibilizar às equipes de desenvolvimento novas ferramentas que possibilitem a criação mais rápida de protótipos, permitindo testar e evoluir novas ideias de jogos de forma mais ágil e menos onerosa. Este trabalho trata do projeto e da implementação de uma plataforma modular que objetiva a resolução ou amenização dos problemas citados, oferecendo uma ferramenta que possibilite o desenvolvimento de jogos com custo reduzido, além de simplificar o processo de prototipação rápida. Através do uso de uma abordagem de programação baseada no uso de componentes de software reaproveitáveis escritos em diferentes linguagens de programação, este trabalho busca tornar possível metodologias que sejam capazes de incentivar o reuso de código, facilitar o trabalho em equipe, reduzir o tempo de desenvolvimento e melhorar a qualidade do produto final.
140

Etendre des interpréteurs par détournement, ou comment étendre des interpréteurs sans en modifier le code : avec une application à des analyses dynamiques pour un interpréteur de JavaScript / Extending interpreters by diverting, or how to extend interpreters without modifying their source code

Marchand De Kerchove, Florent 18 November 2016 (has links)
Afin de sécuriser les applications web, nous nous sommes intéressés à appliquer des analyses dynamiques de sécurité à des programmes JavaScript. Dansce contexte, pouvoir rapidement modifier l’interpréteur et composer des analyses à l’exécution est primordial. Une façon d’effectuer ces changements aurait été parrefactorisation. Mais la refactorisation peut être délicate et chronophage, car elle implique de réécrire des parties du code source, voire de réorganiser toute l’architecture du programme. La refactorisation est trop coûteuse lorsque prime la vitesse d’itération.Nous explorons une alternative économe à la refactorisation : le détournement. Détourner un programme c’est changer ses résultats sans directement modifierson code source. Pour détourner un programme, on exploite des techniques d’indirection, tels que la portée dynamique et la métaprogrammation.On commence par passer en revue les techniques utilisées pour des problèmes connexes d’extensibilité, et on applique ces techniques pour détourner des interpréteurs simples. Puis, on montre comment le détournement peut aider à construire un interpréteur par incréments, pour permettre d’activer dynamiquement des comportements alternatifs. Enfin, on applique ces techniques pour détourner un véritable interpréteur JavaScript par de multiples analyses dynamiques de sécurité.Au prix d’un potentiel impact en efficacité et en sûreté, détourner l’interpréteur est à la fois plus rapide et plus flexible que de le réécrire, ce qui fait du détournement une alternative légitime à la refactorisation. / For securing web applications, we were interested in applying dynamic security analyses to JavaScript programs. In this context, the ability to quickly modify the interpreter and to compose analyses at runtime is paramount. One way to effect these changes would have been through refactoring. But refactoring can be tricky and time-consuming, as it entails to rewrite parts of the source code, and even to reorganize the program’s whole architecture. Refactoring is too costly when rapid iteration is preferred.We explore a lightweight alternative to refactoring: diverting. To divert a program is to change its results without directly modifying its source code. To divert a program, we leverage indirection techniques such as dynamic scoping and metaprogramming.We first review the techniques used in related extensibility problems, like the Expression Problem, and apply these techniques to divert simple interpreters. We then show how diverting can help build interpreters incrementally in layers, allowing dynamic activation of alternative behavior. Finally, we apply those techniques to divert a full-blown JavaScript interpreter with multiple dynamic security analyses. We find that, with potential costs in efficiency and program safety, diverting is both faster and more flexible than rewriting the interpreter,thus making diverting a legitimate alternative to refactoring.

Page generated in 0.0687 seconds