• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 10
  • 2
  • 1
  • Tagged with
  • 13
  • 13
  • 13
  • 12
  • 12
  • 11
  • 8
  • 7
  • 6
  • 6
  • 6
  • 6
  • 6
  • 5
  • 5
  • 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.
1

Desenvolvimento de mecanismo para especificação de políticas de escalonamento em projetos de sistemas embarcados

Patrícia Santos, Daniele 31 January 2011 (has links)
Made available in DSpace on 2014-06-12T16:00:51Z (GMT). No. of bitstreams: 2 arquivo7069_1.pdf: 2309680 bytes, checksum: 9f82816fc4ec4e7c3d5e9a9fec8419fe (MD5) license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2011 / Em sistemas embarcados, uma de suas partes críticas é o escalonador de tarefas. Este é responsável por determinar qual tarefa ocupará o processador em cada instante de tempo. Uma escolha de tarefa errada pode ter resultados que vão de uma diminuição de desempenho à perda de vidas humanas. Diante de sistemas cada vez mais complexos, surge a necessidade de criar escalonadores de tarefas especializados para aplicações específicas com o intuito de melhorar o desempenho desses sistemas. Sendo a implementação de escalonadores uma tarefa trabalhosa, que requer o uso de linguagens de baixo nível, esse trabalho de mestrado apresenta uma linguagem específica de domínio, a SchedLanguage, para facilitar a implementação de políticas de escalonamento dirigidas a prioridades. Com uma sintaxe simples, a SchedLanguage facilita a implementação de escalonadores, permitindo que estes sejam especificados em um nível de abstração maior. Além disso, também proporciona uma detecção precoce de erros relacionados ao entendimento e definição do sistema. Também é mostrado neste trabalho a ferramenta SchedTool, que gera um escalonador a partir de uma especificação em SchedLanguage. A utilização da linguagem proposta neste trabalho não é restrita a uma única plataforma. Por necessitar de algumas informações relacionadas à plataforma utilizada, uma mesma especificação nessa linguagem pode ser utilizada em diferentes plataformas. A linguagem e a ferramenta apresentadas neste trabalho foram validadas utilizando uma plataforma de referência ArchC, sendo utilizadas para escalonar diferentes tipos de tarefas
2

CoMDD: uma abordagem colaborativa para auxiliar o desenvolvimento orientado a modelos / CoMDD: a collaborative model driven development approach

Fernandes Neto, David 01 June 2012 (has links)
O desenvolvimento orientado a modelos (Model Driven Development - MDD) é uma abordagem que tem ganhado cada vez mais espaço na indústria e na academia, trazendo grandes benefícios, como o aumento de produtividade. Uma forma de se trabalhar usando MDD em equipe é usando uma IDE (Integrated Development Environment) associada a um sistema de versionamento. Entretanto, trabalhar colaborativamente usando uma IDE associada a um sistema de versionamento pode trazer algumas complicações para o desenvolvimento como: conflitos de modelos, documentação descontinuada, dificuldades por parte dos interessados em usar sistemas de versionamento, etc. Nesse contexto, este trabalho propõe uma abordagem de uso de wiki para desenvolvimento de MDD, de modo que o desenvolvedor seja capaz de criar modelos, gerar código fonte, compartilhar e versionar os modelos e ainda documentar colaborativamente, de maneira mais simples e fácil do que abordagens tradicionais. Isso possibilita que mais usuários não desenvolvedores possam participar mais no processo de desenvolvimento e ainda permite o aumento de produtividade. Para tentar evidenciar de que é possível uma wiki ser usada para desenvolver software, foi criada uma Domain Specific Language - DSL em uma wiki e foram realizados três estudos de caso: um com estudantes do ensino médio e que representam os não desenvolvedores, um com quatro alunos de pós-graduação com experiência de desenvolvimento na indústria e o último estudo de caso foi realizado com 48 participantes entre desenvolvedores e alunos de pósgraduação em Ciências da Computação. Os estudos de caso mostraram que é viável usar uma wiki para desenvolvimento, que não desenvolvedores se adaptam bem à abordagem e que 86% dos desenvolvedores usariam a abordagem proposta se tivessem que trabalhar com MDD. Os estudos de caso também levantaram as principais barreiras para aumentar a aceitação da abordagem. Com isso, este trabalho apresenta além de uma abordagem relativamente inédita na literatura, resultados sobre uso de sistemas de versionamento, de IDEs e de desenvolvimento colaborativo / The Model Driven Development (MDD) is an approach that has gained more space in industry and academia, bringing great benefits such as increased productivity. One way of working in teams with MDD is using an IDE (Integrated Development Environment) with a versioning system. However, to collaboratively work with an IDE and a versioning system may have implications and problems for the development as: conflicts of models, documentation discontinued, difficulties for stakeholders to use versioning systems, etc. In this context, this work proposes an approach to use a wiki to develop MDD, so that the developer is able to create models, generate source code, sharing and versioning models and also to collaboratively document, in a more simple and easy way than the traditional approaches. This enables non developers can participate more in the development process and also allows increasing productivity. To try to show that a wiki can be used to develop software, we created a Domain Specific Language (DSL) in a wiki and were performed three case studies: one with high school students and represent the non developers, another one with four graduate students with experience in software development in the industry, and the last case study was conducted with 48 participants among developers and graduate students in Computer Science. The case studies showed the feasibility of using a wiki for development, that non developers adapted well to the approach and 86 % of the developers would use a wiki to develop MDD. The study also raised the main barriers to increase the acceptance of the approach. Therefore, this work presents also a relatively new approach in the literature and results on the use of versioning systems, IDEs and collaboratively development
3

CoMDD: uma abordagem colaborativa para auxiliar o desenvolvimento orientado a modelos / CoMDD: a collaborative model driven development approach

David Fernandes Neto 01 June 2012 (has links)
O desenvolvimento orientado a modelos (Model Driven Development - MDD) é uma abordagem que tem ganhado cada vez mais espaço na indústria e na academia, trazendo grandes benefícios, como o aumento de produtividade. Uma forma de se trabalhar usando MDD em equipe é usando uma IDE (Integrated Development Environment) associada a um sistema de versionamento. Entretanto, trabalhar colaborativamente usando uma IDE associada a um sistema de versionamento pode trazer algumas complicações para o desenvolvimento como: conflitos de modelos, documentação descontinuada, dificuldades por parte dos interessados em usar sistemas de versionamento, etc. Nesse contexto, este trabalho propõe uma abordagem de uso de wiki para desenvolvimento de MDD, de modo que o desenvolvedor seja capaz de criar modelos, gerar código fonte, compartilhar e versionar os modelos e ainda documentar colaborativamente, de maneira mais simples e fácil do que abordagens tradicionais. Isso possibilita que mais usuários não desenvolvedores possam participar mais no processo de desenvolvimento e ainda permite o aumento de produtividade. Para tentar evidenciar de que é possível uma wiki ser usada para desenvolver software, foi criada uma Domain Specific Language - DSL em uma wiki e foram realizados três estudos de caso: um com estudantes do ensino médio e que representam os não desenvolvedores, um com quatro alunos de pós-graduação com experiência de desenvolvimento na indústria e o último estudo de caso foi realizado com 48 participantes entre desenvolvedores e alunos de pósgraduação em Ciências da Computação. Os estudos de caso mostraram que é viável usar uma wiki para desenvolvimento, que não desenvolvedores se adaptam bem à abordagem e que 86% dos desenvolvedores usariam a abordagem proposta se tivessem que trabalhar com MDD. Os estudos de caso também levantaram as principais barreiras para aumentar a aceitação da abordagem. Com isso, este trabalho apresenta além de uma abordagem relativamente inédita na literatura, resultados sobre uso de sistemas de versionamento, de IDEs e de desenvolvimento colaborativo / The Model Driven Development (MDD) is an approach that has gained more space in industry and academia, bringing great benefits such as increased productivity. One way of working in teams with MDD is using an IDE (Integrated Development Environment) with a versioning system. However, to collaboratively work with an IDE and a versioning system may have implications and problems for the development as: conflicts of models, documentation discontinued, difficulties for stakeholders to use versioning systems, etc. In this context, this work proposes an approach to use a wiki to develop MDD, so that the developer is able to create models, generate source code, sharing and versioning models and also to collaboratively document, in a more simple and easy way than the traditional approaches. This enables non developers can participate more in the development process and also allows increasing productivity. To try to show that a wiki can be used to develop software, we created a Domain Specific Language (DSL) in a wiki and were performed three case studies: one with high school students and represent the non developers, another one with four graduate students with experience in software development in the industry, and the last case study was conducted with 48 participants among developers and graduate students in Computer Science. The case studies showed the feasibility of using a wiki for development, that non developers adapted well to the approach and 86 % of the developers would use a wiki to develop MDD. The study also raised the main barriers to increase the acceptance of the approach. Therefore, this work presents also a relatively new approach in the literature and results on the use of versioning systems, IDEs and collaboratively development
4

Abordagem para criação de linguagens específicas de domínio para robótica móvel

Conrado, Daniel Bruno Fernandes 12 November 2012 (has links)
Made available in DSpace on 2016-06-02T19:06:01Z (GMT). No. of bitstreams: 1 4765.pdf: 5526051 bytes, checksum: eca7635e3ad1f0a28a9f3871c97aac57 (MD5) Previous issue date: 2012-11-12 / Universidade Federal de Sao Carlos / Autonomous mobile robots are machines capable of executing repetitive/dangerous tasks more efficiently. Most of them have an embedded software which is responsible for their execution. Over the last years, the complexity of these applications has continuously growing and they are presenting challenges that are uncommon to traditional information systems development. Therefore, any technique that can support their development is a great contribution. A technique that improves the productivity is to use domain-specific languages (DSLs). These are modeling and programming languages whose constructs are concepts and abstractions of a particular domain. It frees developers from worrying about generic programming concepts (classes, objects, attributes, etc.) and allows them to focus on the problem to be solved. As creating a DSL is not a trivial task and pointing the idiosyncrasies of mobile robots, this dissertation presents an approach for engineering DSLs to mobile robots. The aim is to make the activity of creating DSLs to this domain more systematic and controlled. In this approach, an application is taken as input and a series of domain statements is extracted from it. These statements are classified into categories and each one of them are analized in order to extract commonalities and variabilities, wich are transformed into components of a DSL. An important characteristic of the approach is that it asks for just one application to reach a first version of a running DSL. We suggest that the same DSL can be evolved just by applying the approach again using another application as input. So new components could be created and the existing ones could be modified. We also present a generic language model providing a foundation architecture that allows one to easily create new DSLs by extending it. Two proofs of concept are presented in order to exemplify the application of our approach. / Robôs móveis autônomos são máquinas com potencial para realizar atividades repetitivas ou de alta periculosidade com mais eficácia. Muitos possuem um software embarcado responsável pelo seu funcionamento. Nos últimos anos, a complexidade dessas aplicações robóticas embarcadas tem crescido continuamente e apresentam desafios que são incomuns ao desenvolvimento dos tradicionais sistemas de informação. Portanto, toda técnica que dê suporte a esse tipo de desenvolvimento pode contribuir significativamente. Uma técnica que permite o aumento de produtividade é a utilização de linguagens específicas de domínio (DSLs). Essas são linguagens de modelagem e programação cujas construções são conceitos e abstrações de um domínio de aplicação em particular. Isso desobriga o desenvolvedor de se preocupar com conceitos genéricos de programação (classes, objetos, atributos, etc.) para focar-se no problema a ser resolvido. Como o desenvolvimento de uma DSL não é uma tarefa trivial e tendo em vista as idiossincrasias dos robôs móveis autônomos, esta dissertação apresenta uma abordagem para construção de DSLs para robôs móveis. O objetivo é deixar mais sistemática e controlada a criação de DSLs para esse domínio. Nessa abordagem, uma aplicação é tomada como entrada e dela extraem-se declarações a respeito do domínio. Essas declarações são categorizadas e, para cada categoria, são levantadas partes comuns e variáveis. Então, essas partes são transformadas em componentes de uma DSL. Uma característica importante da abordagem apresentada é que uma versão inicial da DSL pode ser alcançada tendo apenas uma aplicação como base. Sugere-se que essa mesma DSL possa evoluir pela reaplicação da abordagem tendo uma nova aplicação como entrada. Dessa forma, novos componentes podem ser criados e os existentes, modificados. Também é apresentado um modelo genérico de linguagem que fornece uma arquitetura básica, permitindo que novas DSLs sejam facilmente construídas pela extensão da mesma. Duas provas de conceito são apresentadas com a intenção de exemplificar a aplicação da abordagem.
5

SMADL – The social machines architecture description language

Nascimento, Leandro Marques do 31 January 2014 (has links)
Submitted by Nayara Passos (nayara.passos@ufpe.br) on 2015-03-12T14:23:54Z No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) TESE Leandro Marques do Nascimento.pdf: 4935348 bytes, checksum: 593ec08be509bd200bc5ec59fccb17d6 (MD5) / Made available in DSpace on 2015-03-12T14:23:54Z (GMT). No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) TESE Leandro Marques do Nascimento.pdf: 4935348 bytes, checksum: 593ec08be509bd200bc5ec59fccb17d6 (MD5) Previous issue date: 2014 / CNPq, INES / É possível se observar um alto crescimento no número de aplicações Web sendo desenvolvidas. Isto está acontecendo principalmente porque a Web está entrando em uma nova fase, chamada Web programável, onde diversos sistemas baseados na Web estão disponibilizando suas APIs publicamente. Com o objetivo de lidar com a complexidade dessa Web emergente, este trabalho define a noção de uma Máquina Social (Social Machine - SM) e vislumbra uma linguagem que permite descrever redes de tais máquinas. Para começar, nós definimos uma Máquina Social como sendo “um componente conectável e programável que encapsula (WI) um sistema de processamento de informação (IPS) e define um conjunto de serviços requeridos (RS) e providos (PS), dinamicamente disponível sob certas restrições (C), as quais são determinadas por, dentre outras coisas, seus relacionamentos (Rel) com terceiros”. Em outras palavras, uma SM é uma máquina conectada, normalmente à Web, que dinamicamente provê e/ou requer um conjunto de serviços de acordo com os seus relacionamentos estabelecidos. Qualquer aplicação na Web pode ser vista como uma SM. Para que seja possível a aplicação prática do conceito de Máquina Social previamente mencionado, nós definimos SMADL, uma linguagem para descrição arquitetural de SMs, como uma tentativa de ser uma forma completamente diferente de se programar a Web, misturando conceitos de linguagens de descrição arquitetural (ADLs) e linguagens específicas de domínio (DSLs). Como uma ADL, a linguagem permite a descrição de máquinas sociais (e redes de tais) em termos de relacionamentos (Rel) como abstrações de alto nível, sem a necessidade de se especificar os detalhes de comunicação (protocolos) e/ou métodos de autenticação. Como uma DSL, ela permite a criação e integração de serviços Web usando uma sintaxe de tipos dinâmicos, integrada à máquina virtual Java e à IDE Eclipse. Cada elemento do conceito de uma SM é diretamente mapeado na linguagem. Em poucas palavras, SMADL pode ser definida como uma linguagem dirigida a relacionamentos que pode ser usada para descrever interações entre qualquer número de máquinas de inúmeras formas, como um meio de representar máquinas interagindo na Web realmente e, obviamente, como um meio de representar interações com outras máquinas sociais também. Vários outros esforços já foram feitos para definir ADLs e alguns deles foram, de alguma forma, aplicados no domínio da Web. Entretanto, há uma clara falta de base fundamental que provenha abstrações de alto nível tais como o modelo de máquinas sociais provê. SMADL foi implementada em duas versões, uma textual e outra visual. Ambas as versões foram avaliadas através de um estudo de caso e uma pesquisa baseada na opinião de especialista e indicaram ser boas soluções para problemas práticos. / We are experiencing a high growth in the number of Web applications being developed. This is happening mainly because the Web is going into a new phase, called programmable Web, where several Web-based systems make their APIs publicly available. In order to deal with the complexity of this emerging Web, we define the notion of a Social Machine and envisage a language that can describe networks of such. To start with, we define a Social Machine (SM) as a “connectable and programmable building block that wraps (WI) an information processing system (IPS) and defines a set of required (RS) and provided services (PS), dynamically available under constraints (C) which are determined by, among other things, its relationships (Rel) with others”. In other words, a SM is a connected machine, usually to the Web, which dynamically provides and/or requires a set of services according to its established relationships. Any application in the Web can be seen as a SM. In order to make feasible the practical application of the aforementioned Social Machine concept, we define SMADL – the Social Machines Architecture Description Language – as an attempt to be a completely different way to program the Web, mixing concepts from Architecture Description Languages (ADLs) and Domain-Specific Languages (DSLs). As an ADL, it allows the description of Social Machines (and networks of such) in terms of relationships (Rel) as high-level abstractions, without the need to specify details of communication (protocols) and/or authentication methods. As a DSL, it allows the implementation and integration of Web services using a dynamically typed syntax, fully integrated to the Java Virtual Machine and Eclipse IDE. Every element of the SM concept is directly mapped into the language. In few words, SMADL can be defined as a relationship-driven language which can be used to describe the interactions between any number of machines in a multitude of ways, as a means to represent real machines interacting in the real Web and, obviously, as a means to represent interactions with other social machines too. Several other efforts have been done to define ADLs, and a few of them were someway applied to the Web domain. However, there is a clear lack of fundamental base to provide high-level abstractions that the Social Machine concept does. SMADL has been implemented in two versions, one textual and one visual. Both versions have been evaluated through a case study and an expert’s opinion survey and demonstrated to be good solutions for practical problems.
6

A rigorous methodology for developing GUI-based DSL formal tools

Silva, Robson dos Santos e 23 August 2013 (has links)
Submitted by Luiz Felipe Barbosa (luiz.fbabreu2@ufpe.br) on 2015-03-12T14:30:39Z No. of bitstreams: 2 Dissertacao Robson Santos Silva.pdf: 2657380 bytes, checksum: e8bfe7912e7136af0fbf6082153115fd (MD5) license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) / Approved for entry into archive by Daniella Sodre (daniella.sodre@ufpe.br) on 2015-03-13T12:57:10Z (GMT) No. of bitstreams: 2 Dissertacao Robson Santos Silva.pdf: 2657380 bytes, checksum: e8bfe7912e7136af0fbf6082153115fd (MD5) license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) / Made available in DSpace on 2015-03-13T12:57:10Z (GMT). No. of bitstreams: 2 Dissertacao Robson Santos Silva.pdf: 2657380 bytes, checksum: e8bfe7912e7136af0fbf6082153115fd (MD5) license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) Previous issue date: 2013-08-23 / It is well-known that model-driven engineering (MDE) is a software development methodology that focuses on creating and exploiting (specific) domain models. Domain models (conceptually) capture all the topics (for instance, entities and their attributes, roles, and relationships as well as more specific constraints) related to a particular problem. It is common to use domain-specific languages (DSL) to describe the concrete elements of such models. MDE tools can easily build domain-specific languages (DSL), capturing syntactic as well as static semantic information. However, we still do not have a clear way of capturing the dynamic semantics of a DSL as well as checking the domain properties prior to generating the implementation code. Formal methods are a well-known solution for providing correct software, where we can guarantee the satisfaction of desired properties. Unfortunately the available formal methods tools focus almost exclusively on semantics whereas human-machine interaction is "left to the user". Several industries, and in particular the safety-critical industries, use mathematical representations to deal with their problem domains. Historically, such mathematical representations have a graphical appeal. For example, Markov chains and fault-trees are used in safety assessment processes to guarantee that airplanes, trains, and other safety-critical systems work within allowed safety margins. In general, due to the difficulty to obtain correct software, such industries use Commercial Off-The-Shelf (COTS) software or build them specifically to satisfy their needs with a related testing campaign effort. Such DSLs are difficult to capture, using just MDE tools for instance, because they have specific semantics to provide the desired (core) information for the industries that use them. In this sense, given a DSL (L) composed of a syntax and static semantics (SSL), and dynamic semantics (DSL) parts, our work proposes a rigorous methodology for combining the easiness of MDE tools, to capture SSL, with the correctness assured by formal methods, to capture DSL as well and check its properties. This combination is specifically handled in the following way, we capture all aspects of L using formal methods, check the desired properties and adjust if necessary. After that, we automatically translate part of it in terms of constructs of a MDE tool, from which we can build a user-friendly (GUI) front-end very easily (automatically). Finally, we link the front-end code to the automatically synthesized code from the formal dynamic semantics back-end. Although we require the use of a formal methods tool, the distance from the mathematical representations used in industry and the formal methods notation is very close. With this proposed methodology we intend that safety-critical industries create their domain specific software as easy as possible and with the desired static and dynamic properties formally checked. / A Engenharia Dirigida a Modelos ou (MDE—Model-Driven Engineering) é uma metodologia de desenvolvimento de software que se concentra na criação e manipulação de modelos específicos de domínio. É comum o uso de linguagens específicas de domínio (DSL) para descrever os elementos concretos de tais modelos. Ferramentas de MDE podem facilmente construir linguagens específicas de domínio (DSL), capturando seus aspectos sintáticos assim como sua semântica estática. No entanto, ainda não possuem uma forma clara de capturar a semântica dinâmica de uma DSL, assim como a verificação de propriedades de domínio antes da geração de código executável. Métodos formais são tidos como uma solução para prover software correto, onde podemos garantir que desejadas propriedades são satisfeitas. Infelizmente, as ferramentas de métodos formais disponíveis concentram-se quase que exclusivamente na semântica enquanto que a interação homem-computador é "deixada para o usuário". Indústrias em que a segurança é crítica, usam representações matemáticas para lidar com os seus domínios de problemas. Historicamente, essas representações matemáticas têm um apelo gráfico. Por exemplo, Cadeias de Markov e Árvores de Falha. Em geral, devido à dificuldade em obter softwares formalmente verificados, essas indústrias utilizam sistemas comerciais prontos para uso (Commercial Off-the-shelf - COTS) ou os constróem especificamente para satisfazerem as suas necessidades com um esforço considerável em testes. Tais DSLs são difíceis de capturar, usando apenas ferramentas MDE por exemplo, porque possuem uma semântica particular para prover as informações específicas desejadas para as indústrias que as utilizam. Neste sentido, dada uma DSL (L), composta por sintaxe e semântica estática (SSL), e semântica dinâmica (DSL), este trabalho propõe uma metodologia rigorosa para combinar a facilidade de ferramentas MDE em capturar SSL, com a corretude assegurada por métodos formais para capturar DSL e verificar suas propriedades. Esta combinação é especificamente tratada da seguinte maneira: captura-se todos os aspectos de L utilizando métodos formais, verificam-se as propriedades desejadas e as ajustam caso necessário. Em seguida, parte de L é traduzida automaticamente em termos de artefatos para uma ferramenta MDE, a partir da qual é possível construir uma interface amigável (front-end) facilmente (automaticamente). Por fim, o código do front-end é integrado com o código sintetizado automaticamente a partir da semântica dinâmica formal (back-end).
7

Uma linguagem de domínio específico para descrição e reconhecimento de gestos usando sensores de profundidade

VIANA, Daniel Leite 10 August 2015 (has links)
Submitted by Haroudo Xavier Filho (haroudo.xavierfo@ufpe.br) on 2016-03-11T14:13:00Z No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) Dissertacao DANIEL LEITE VIANA.pdf: 4297126 bytes, checksum: fa862ba18fe815a710afe7b3e591cee8 (MD5) / Made available in DSpace on 2016-03-11T14:13:00Z (GMT). No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) Dissertacao DANIEL LEITE VIANA.pdf: 4297126 bytes, checksum: fa862ba18fe815a710afe7b3e591cee8 (MD5) Previous issue date: 2015-08-10 / Sistemas baseados em gestos vêm se tornando uma alternativa para o desenvolvimento de aplicações mais intuitivas para os usuários, pois permitem a esses usuários interagirem de forma mais natural. Tais sistemas, em geral, requerem dispositivos de captura junto com alguma técnica de reconhecimento para que os gestos requeridos na interação natural sejam reconhecidos. A ausência de abstrações apropriadas para representação dos gestos dificulta as especificações de novas interações naturais. A representação de um gesto, quase sempre, envolve Aprendizagem de Máquina ou um avançado algoritmo de reconhecimento baseado nos dados da posição tridimensional do corpo humano fornecidos por sensores de profundidade, tal como o Microsoft Kinect. Além disso, as aplicações desenvolvidas tornam-se dependentes das bibliotecas de desenvolvimento dos dispositivos. Dessa forma, se o dispositivo for substituído por outro mais moderno ou de fabricante diferente quase todo o algoritmo de reconhecimento precisa ser reescrito. O principal objetivo desta dissertação é a especificação e implementação da Linguagem para Especificação de Gestos (LEG), uma Domain-Specific Language (DSL) para a especificação e reconhecimento de gestos livres do corpo humano com suporte a diferentes dispositivos de profundidade. A LEG é uma linguagem declarativa, baseada na análise das interfaces gestuais para computador e no estudo das abstrações e representações do movimento humano, a fim de reduzir a complexidade no desenvolvimento de aplicações baseadas em gestos. A implementação da linguagem foi realizada em duas etapas. Primeiro, foi criado um framework (Kinect Gesture) com a lógica para rastrear e identificar gestos descritos na linguagem. Na segunda etapa, foi definida a gramática e o interpretador foi construído. A abordagem adotada foi de DSL externa, sendo sua sintaxe textual e particular. A fim de avaliar a implementação proposta, 15 (quinze) gestos foram especificados em LEG e reconhecidos. Tendo como referência os resultados obtidos, chegou-se a conclusão que a linguagem apresentada neste trabalho diminuiu consideravelmente a complexidade necessária para realizar a especificação e o reconhecimento dos gestos. / Systems Based-gestures are becoming an alternative to the development of more intuitive applications for users, because enable users to interact more naturally. Generally these systems need of capture devices together with some technique for gesture recognition. The lack of appropriate abstractions for the representation of gestures difficult to specifications of new natural interactions. For specify gesture, it is almost always necessary to acquire advanced knowledge in gesture recognition area and skills on chosen device and it is for this reason that the development of gestures is restricted. Often developers are using Machine Learning as support to creating database. Another approach is to create a recognition algorithm based on data from the depth sensor Kinect. Furthermore, due to the nature of the software development kits (SDK) provided by the hardware vendors to build gesture-based applications, the developed applications often become tightly coupled with the SDK. The result is that significant portions of the application need to be rewritten to run it on another device. The main goal of this dissertation is to implement and evaluate GSL (Gesture Specific Language), a Domain-Specific Language for specification and identification of gestures with support to different depth sensors. GSL is a declarative programming language based on the analysis of gestural interfaces for computer and study of abstractions and representations of human movement, in order to reduce the complexity in application development based on gestures. The development was conducted in two phases: the first was implemented a framework (Kinect Gesture) with logic for tracking and identify gestures. In the second phase, we built an grammar and a compiler. We adopted a external DSL approach, with specific and textual syntax. In order to evaluate the proposed implementation, we used GSL for specification and recognition of fifteen gestures. The results obtained show that GSL reduced considerably the complexity on perform the specification and the recognition of gestures.
8

UMA TÉCNICA PARA O DESENVOLVIMENTO DE LINGUAGENS ESPECÍFICAS DE DOMÍNIO / A TECNIQUE FOR DOMAIN SPECIFIC LANGUAGE DEVELOPMENT

Serra, Ivo José da Cunha 15 March 2004 (has links)
Made available in DSpace on 2016-08-17T14:52:52Z (GMT). No. of bitstreams: 1 Ivo Jose da Cunha Serra.pdf: 6848473 bytes, checksum: 2440bf1516e97ef7b712775d5fb7521c (MD5) Previous issue date: 2004-03-15 / To achieve quality and productivity in software development, software reuse is necessary nowadays. One way of doing so is generative reuse, which consists of automatic selecting and grouping software components. Generative software reuse can be done by employing Domain Specific Languages (DSL's). These languages specify a system in a high level of abstraction. This work proposes TOD-LED, a technique based on ontologies for the development of DSL's on Multi-Agent Domain Engineering. This technique guides the specification of DSL's using domain models developed with GRAMO, a technique for Domain Analysis in Multi-Agent Domain Engineering. TOD-LED uses ONTOLED, an ontology that represents the knowledge about the development of DSL's. The specification of a DSL is represented as an instance of ONTOLED. A case study was developed to evaluate TOD-LED. The case study consists of the specification of LESRF, a DSL for the development of systems for dynamic and non structured information access. / Por motivos de qualidade e produtividade, o reuso de software é uma prática necessária no desenvolvimento dos sistemas atuais. Uma das formas do reuso de software é a reutilização gerativa, que consiste em selecionar e agrupar componentes de software de forma automática. A reutilização gerativa pode ser feita com o uso de linguagens específicas de domínio (LED s), que especificam sistemas em alto nível de abstração. Neste trabalho é proposta a TOD-LED, uma técnica baseada em ontologias para o desenvolvimento de LED's na Engenharia de Domínio Multiagente. Esta técnica guia a especificação de LED's a partir de modelos de domínio desenvolvidos com a GRAMO, uma técnica para a análise de domínio na Engenharia de Domínio Multiagente. A TOD-LED utiliza a ONTOLED, uma ontologia que representa o conhecimento acerca do desenvolvimento de LED's. A especificação de uma LED é representada por uma instância da ONTOLED. É também apresentado um estudo de caso para avaliar a técnica proposta. O estudo de caso consiste na especificação da LESRF (Linguagem de Especificação de Sistemas para a Recuperação e Filtragem de informação), uma LED para o desenvolvimento de aplicações para o acesso à informação dinâmica e não estruturada.
9

Uma abordagem orientada a modelos para reutilização de software / A model-driven software reuse approach

Lucredio, Daniel 17 July 2009 (has links)
A reutilização de software busca aumentar a qualidade e produtividade no desenvolvimento de software, evitando a duplicação do esforço e reaproveitando o máximo possível das experiências de projetos passados. Apesar de simples, esta idéia não é facilmente colocada em prática, principalmente de maneira sistemática e controlada. Técnicas de engenharia de domínio e linhas de produtos de software buscam facilitar esta tarefa, porém ainda existem outros fatores que dificultam a adoção da prática da reutilização. Entre estes, destacam-se os problemas inerentes ao desenvolvimento de software da maneira como é conduzido atualmente, baseado em código-fonte. Estes problemas têm suas origens na crescente demanda por software cada vez mais complexo e afetam negativamente a capacidade de reutilizar software. O desenvolvimento orientado a modelos surge como uma alternativa atraente neste cenário, elevando a importância de modelos dentro do ciclo de vida do software, incorporando-os como parte integrante do produto final por meio de técnicas de modelagem e geração de código. Com isto, parte da complexidade do software fica escondida dentro dos geradores, protegendo os desenvolvedores, reduzindo a incidência de erros, aumentando a produtividade, qualidade, interoperabilidade e manutenibilidade dos artefatos produzidos. Nesta dissertação defende-se a tese de que o desenvolvimento orientado a modelos pode efetivamente aumentar e/ou melhorar a reutilização de software, e que para isso ela deve ser tratada de forma consistente dentro de um processo de engenharia de domínio. Para demonstrar esta tese, é apresentada uma abordagem orientada a modelos para reutilização de software, com atividades que guiam o desenvolvedor durante a análise, projeto e implementação do domínio. São também apresentados os resultados de uma avaliação envolvendo três estudos empíricos, realizados em ambiente acadêmico e industrial, que buscou determinar a viabilidade da abordagem e os benefícios que podem ser alcançados com a combinação de técnicas do desenvolvimento orientado a modelos e da reutilização de software. Os resultados mostram que a abordagem pode trazer diferentes benefícios para organizações de software, incluindo aumento da quantidade e qualidade da reutilização, e reduzindo a complexidade de desenvolvimento e configuração de produtos / Software reuse aims at increasing quality and productivity in software development, avoiding effort duplication and reusing all past experiences possible. Although it is a simple idea, it is not easy to put reuse in practice, especially in a systematic and controlled way. Domain engineering and software product lines techniques try to make this task easier, but there are many other factors that difficult the reuse adoption. Among these factors are the problems that are inherent to software development in the way it is conducted today, based on source code. These problems arise from the growing demand for increasingly complex software, negatively affecting the ability to reuse. Model-driven development is an attractive alternative in this scenario, leveraging the importance of models in the software life cycle, incorporating them as part of the final product through modeling and code generation techniques. As a result, part of the software complexity becomes hidden inside the generators, shielding the developers, reducing errors, increasing the productivity, quality, interoperability and maintainability of the produced assets. In this dissertation is presented the thesis that model-driven development can effectively increase and/or improve software reuse, and that to achieve this goal it must be treated in a consistent way inside a domain engineering process. To demonstrate this thesis, a model-driven software reuse approach is presented, with activities that guide the developer during domain analysis, design and implementation. The results of an evaluation involving three empirical studies are also presented. The studies were performed in both academic and industrial environments, and aimed at determining the viability of the approach and the benefits that can be achieved with the combination of model-driven development and software reuse techniques. The results showed that the approach can bring different benefits to software organizations, such as software reuse quantity and quality improvements, and complexity reduction in product development and configuration tasks
10

EMS: um plug-in para exibição de mensagens de erro dos compiladores / EMS: compiler error message plug-in

Ferreira, Maria Janaina da Silva 18 December 2015 (has links)
Submitted by Milena Rubi (milenarubi@ufscar.br) on 2016-10-18T13:50:17Z No. of bitstreams: 1 FERREIRA_Maria_2015.pdf: 44702801 bytes, checksum: d58773cbbac5f088372d16f186805b06 (MD5) / Approved for entry into archive by Milena Rubi (milenarubi@ufscar.br) on 2016-10-18T13:50:31Z (GMT) No. of bitstreams: 1 FERREIRA_Maria_2015.pdf: 44702801 bytes, checksum: d58773cbbac5f088372d16f186805b06 (MD5) / Approved for entry into archive by Milena Rubi (milenarubi@ufscar.br) on 2016-10-18T13:50:43Z (GMT) No. of bitstreams: 1 FERREIRA_Maria_2015.pdf: 44702801 bytes, checksum: d58773cbbac5f088372d16f186805b06 (MD5) / Made available in DSpace on 2016-10-18T13:51:11Z (GMT). No. of bitstreams: 1 FERREIRA_Maria_2015.pdf: 44702801 bytes, checksum: d58773cbbac5f088372d16f186805b06 (MD5) Previous issue date: 2015-12-18 / Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES) / Compiler error messages should allow programmers to understand and solve quickly problems found during the compilation process. However, compilers usually issue short contextless messages with little information and with terms that are difficult to understand. This work introduces the plug-in Error Message System (EMS) that allows the presentation of easy-to-understand and more meaningful error messages. EMS is a plug-in to the Eclipse IDE. It is highly configurable through Domain Specific Languages (DSLs). The DSLs allow that regular users build their own error messages and share them. Beginner programmers can use a set of error messages adapted to them thus reducing the time of understanding and correction of compilation errors. / As mensagens de erro dos compiladores devem permitir que os programadores compreendam e solucionem os problemas encontrados durante o processo de compilação rapidamente. Entretanto, os compiladores usualmente emitem mensagens curtas, sem contexto, pouco informativas e com termos de difícil compreensão. Este trabalho apresenta o plug-in Error Message System (EMS) que permite a apresentação das mensagens de erro mais fáceis de entender e mais informativas. EMS é um plugin para a IDE Eclipe e é altamente configurável através de linguagens específicas de domínio(LED). As LEDs permitem que usuários comuns façam suas próprias mensagens de erro e as compartilhem. Programadores iniciantes podem utilizar um conjunto de mensagens adaptadas a eles, reduzindo o tempo de compreensão e correção dos erros de compilação.

Page generated in 0.1502 seconds