Abordagem para criação de linguagens específicas de domínio para robótica móvel
Conrado, Daniel Bruno Fernandes
MetadataShow full item record
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.