Abordagem para criação de linguagens específicas de domínio para robótica móvel
Autor(a) principal: | |
---|---|
Data de Publicação: | 2012 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Institucional da UFSCAR |
Texto Completo: | https://repositorio.ufscar.br/handle/ufscar/513 |
Resumo: | 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. |
id |
SCAR_5f05580ef2878cfdae4b0abced81ae26 |
---|---|
oai_identifier_str |
oai:repositorio.ufscar.br:ufscar/513 |
network_acronym_str |
SCAR |
network_name_str |
Repositório Institucional da UFSCAR |
repository_id_str |
4322 |
spelling |
Conrado, Daniel Bruno FernandesCamargo, Valter Vieira dehttp://lattes.cnpq.br/6809743774407662http://lattes.cnpq.br/44699346966239081033cb39-f1b8-4f20-9618-c3c73704f8662016-06-02T19:06:01Z2012-12-212016-06-02T19:06:01Z2012-11-12CONRADO, Daniel Bruno Fernandes. Abordagem para criação de linguagens específicas de domínio para robótica móvel. 2012. 93 f. Dissertação (Mestrado em Ciências Exatas e da Terra) - Universidade Federal de São Carlos, São Carlos, 2012.https://repositorio.ufscar.br/handle/ufscar/513Autonomous 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.Universidade Federal de Sao Carlosapplication/pdfporUniversidade Federal de São CarlosPrograma de Pós-Graduação em Ciência da Computação - PPGCCUFSCarBREngenharia de softwareModelagemRobôs móveisProcesso de software orientado a objetosLinguagens Específicas de DomínioEngenharia de DSLsDomain-Specific LanguagesMobile RobotsDSL EngineeringCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOAbordagem para criação de linguagens específicas de domínio para robótica móvelinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesis-1-1ad3905d4-abda-4f95-bc76-08abe5ed17a7info:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFSCARinstname:Universidade Federal de São Carlos (UFSCAR)instacron:UFSCARORIGINAL4765.pdfapplication/pdf5526051https://repositorio.ufscar.br/bitstream/ufscar/513/1/4765.pdfeca7635e3ad1f0a28a9f3871c97aac57MD51TEXT4765.pdf.txt4765.pdf.txtExtracted texttext/plain0https://repositorio.ufscar.br/bitstream/ufscar/513/2/4765.pdf.txtd41d8cd98f00b204e9800998ecf8427eMD52THUMBNAIL4765.pdf.jpg4765.pdf.jpgIM Thumbnailimage/jpeg7950https://repositorio.ufscar.br/bitstream/ufscar/513/3/4765.pdf.jpged51bed653771a423d7073add3f5cf2bMD53ufscar/5132023-09-18 18:31:27.458oai:repositorio.ufscar.br:ufscar/513Repositório InstitucionalPUBhttps://repositorio.ufscar.br/oai/requestopendoar:43222023-09-18T18:31:27Repositório Institucional da UFSCAR - Universidade Federal de São Carlos (UFSCAR)false |
dc.title.por.fl_str_mv |
Abordagem para criação de linguagens específicas de domínio para robótica móvel |
title |
Abordagem para criação de linguagens específicas de domínio para robótica móvel |
spellingShingle |
Abordagem para criação de linguagens específicas de domínio para robótica móvel Conrado, Daniel Bruno Fernandes Engenharia de software Modelagem Robôs móveis Processo de software orientado a objetos Linguagens Específicas de Domínio Engenharia de DSLs Domain-Specific Languages Mobile Robots DSL Engineering CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
title_short |
Abordagem para criação de linguagens específicas de domínio para robótica móvel |
title_full |
Abordagem para criação de linguagens específicas de domínio para robótica móvel |
title_fullStr |
Abordagem para criação de linguagens específicas de domínio para robótica móvel |
title_full_unstemmed |
Abordagem para criação de linguagens específicas de domínio para robótica móvel |
title_sort |
Abordagem para criação de linguagens específicas de domínio para robótica móvel |
author |
Conrado, Daniel Bruno Fernandes |
author_facet |
Conrado, Daniel Bruno Fernandes |
author_role |
author |
dc.contributor.authorlattes.por.fl_str_mv |
http://lattes.cnpq.br/4469934696623908 |
dc.contributor.author.fl_str_mv |
Conrado, Daniel Bruno Fernandes |
dc.contributor.advisor1.fl_str_mv |
Camargo, Valter Vieira de |
dc.contributor.advisor1Lattes.fl_str_mv |
http://lattes.cnpq.br/6809743774407662 |
dc.contributor.authorID.fl_str_mv |
1033cb39-f1b8-4f20-9618-c3c73704f866 |
contributor_str_mv |
Camargo, Valter Vieira de |
dc.subject.por.fl_str_mv |
Engenharia de software Modelagem Robôs móveis Processo de software orientado a objetos Linguagens Específicas de Domínio Engenharia de DSLs |
topic |
Engenharia de software Modelagem Robôs móveis Processo de software orientado a objetos Linguagens Específicas de Domínio Engenharia de DSLs Domain-Specific Languages Mobile Robots DSL Engineering CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
dc.subject.eng.fl_str_mv |
Domain-Specific Languages Mobile Robots DSL Engineering |
dc.subject.cnpq.fl_str_mv |
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
description |
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. |
publishDate |
2012 |
dc.date.available.fl_str_mv |
2012-12-21 2016-06-02T19:06:01Z |
dc.date.issued.fl_str_mv |
2012-11-12 |
dc.date.accessioned.fl_str_mv |
2016-06-02T19:06:01Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.citation.fl_str_mv |
CONRADO, Daniel Bruno Fernandes. Abordagem para criação de linguagens específicas de domínio para robótica móvel. 2012. 93 f. Dissertação (Mestrado em Ciências Exatas e da Terra) - Universidade Federal de São Carlos, São Carlos, 2012. |
dc.identifier.uri.fl_str_mv |
https://repositorio.ufscar.br/handle/ufscar/513 |
identifier_str_mv |
CONRADO, Daniel Bruno Fernandes. Abordagem para criação de linguagens específicas de domínio para robótica móvel. 2012. 93 f. Dissertação (Mestrado em Ciências Exatas e da Terra) - Universidade Federal de São Carlos, São Carlos, 2012. |
url |
https://repositorio.ufscar.br/handle/ufscar/513 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.relation.confidence.fl_str_mv |
-1 -1 |
dc.relation.authority.fl_str_mv |
ad3905d4-abda-4f95-bc76-08abe5ed17a7 |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.publisher.none.fl_str_mv |
Universidade Federal de São Carlos |
dc.publisher.program.fl_str_mv |
Programa de Pós-Graduação em Ciência da Computação - PPGCC |
dc.publisher.initials.fl_str_mv |
UFSCar |
dc.publisher.country.fl_str_mv |
BR |
publisher.none.fl_str_mv |
Universidade Federal de São Carlos |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFSCAR instname:Universidade Federal de São Carlos (UFSCAR) instacron:UFSCAR |
instname_str |
Universidade Federal de São Carlos (UFSCAR) |
instacron_str |
UFSCAR |
institution |
UFSCAR |
reponame_str |
Repositório Institucional da UFSCAR |
collection |
Repositório Institucional da UFSCAR |
bitstream.url.fl_str_mv |
https://repositorio.ufscar.br/bitstream/ufscar/513/1/4765.pdf https://repositorio.ufscar.br/bitstream/ufscar/513/2/4765.pdf.txt https://repositorio.ufscar.br/bitstream/ufscar/513/3/4765.pdf.jpg |
bitstream.checksum.fl_str_mv |
eca7635e3ad1f0a28a9f3871c97aac57 d41d8cd98f00b204e9800998ecf8427e ed51bed653771a423d7073add3f5cf2b |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFSCAR - Universidade Federal de São Carlos (UFSCAR) |
repository.mail.fl_str_mv |
|
_version_ |
1813715503400615936 |