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.
Identifer | oai:union.ndltd.org:IBICT/oai:repositorio.ufscar.br:ufscar/513 |
Date | 12 November 2012 |
Creators | Conrado, Daniel Bruno Fernandes |
Contributors | Camargo, Valter Vieira de |
Publisher | Universidade Federal de São Carlos, Programa de Pós-graduação em Ciência da Computação, UFSCar, BR |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | Portuguese |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis |
Format | application/pdf |
Source | reponame:Repositório Institucional da UFSCAR, instname:Universidade Federal de São Carlos, instacron:UFSCAR |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0027 seconds