<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>0120-5609</journal-id>
<journal-title><![CDATA[Ingeniería e Investigación]]></journal-title>
<abbrev-journal-title><![CDATA[Ing. Investig.]]></abbrev-journal-title>
<issn>0120-5609</issn>
<publisher>
<publisher-name><![CDATA[Facultad de Ingeniería, Universidad Nacional de Colombia.]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S0120-56092012000100011</article-id>
<title-group>
<article-title xml:lang="en"><![CDATA[A systematic review of applying modern software engineering techniques to developing robotic systems]]></article-title>
<article-title xml:lang="es"><![CDATA[Revisión sistemática de la aplicación de técnicas modernas de ingeniería de software al desarrollo de sistemas robóticos]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Pons]]></surname>
<given-names><![CDATA[Claudia]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Giandini]]></surname>
<given-names><![CDATA[Roxana]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Arévalo]]></surname>
<given-names><![CDATA[Gabriela]]></given-names>
</name>
<xref ref-type="aff" rid="A03"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad Nacional de La Plata  ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>Argentina</country>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad Nacional de La Plata Facultad de Informática ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>Argentina</country>
</aff>
<aff id="A03">
<institution><![CDATA[,Universidad Nacional de Quilmes  ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>Argentina</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>01</month>
<year>2012</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>01</month>
<year>2012</year>
</pub-date>
<volume>32</volume>
<numero>1</numero>
<fpage>58</fpage>
<lpage>63</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_arttext&amp;pid=S0120-56092012000100011&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_abstract&amp;pid=S0120-56092012000100011&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_pdf&amp;pid=S0120-56092012000100011&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="en"><p><![CDATA[Robots have become collaborators in our daily life. While robotic systems become more and more complex, the need to engineer their software development grows as well. The traditional approaches used in developing these software systems are reaching their limits; currently used methodologies and tools fall short of addressing the needs of such complex software development. Separating robotics' knowledge from short-cycled implementation technologies is essential to foster reuse and maintenance. This paper presents a systematic review (SLR) of the current use of modern software engineering techniques for developing robotic software systems and their actual automation level. The survey was aimed at summarizing existing evidence concerning applying such technologies to the field of robotic systems to identify any gaps in current research to suggest areas for further investigation and provide a background for positioning new research activities.]]></p></abstract>
<abstract abstract-type="short" xml:lang="es"><p><![CDATA[Los robots se han convertido en colaboradores habituales de nuestra vida diaria. Los sistemas robóticos son cada vez más complejos y, como consecuencia, crece la necesidad de aplicar nuevas técnicas ingenieriles a su proceso de desarrollo. Los enfoques tradicionales que se utilizan en el proceso de desarrollo de estos sistemas de software están alcanzando sus límites; las metodologías utilizadas actualmente y las herramientas de soporte no alcanzan para atender las necesidades de estos procesos complejos. Para fomentar la reutilización y el mantenimiento de código es esencial separar el conocimiento estable del dominio de robótica en las tecnologías de implementación, que varían rápidamente. Este artículo presenta una revisión sistemática de la utilización actual de técnicas modernas de ingeniería de software en el desarrollo de sistemas robóticos y su nivel de automatización. El objetivo del estudio es el de resumir la evidencia existente respecto a la aplicación de dichas tecnologías en el campo de los sistemas robóticos para identificar carencias en la investigación actual con el fin de sugerir áreas en futuras propuestas y proporcionar las bases para posicionar adecuadamente nuevas actividades de investigación.]]></p></abstract>
<kwd-group>
<kwd lng="en"><![CDATA[survey]]></kwd>
<kwd lng="en"><![CDATA[robotic software system]]></kwd>
<kwd lng="en"><![CDATA[model-driven software development]]></kwd>
<kwd lng="en"><![CDATA[software engineering]]></kwd>
<kwd lng="en"><![CDATA[SOA]]></kwd>
<kwd lng="en"><![CDATA[component-based software development]]></kwd>
<kwd lng="es"><![CDATA[revisión]]></kwd>
<kwd lng="es"><![CDATA[sistemas de software robóticos]]></kwd>
<kwd lng="es"><![CDATA[desarrollo de software dirigido por modelos]]></kwd>
<kwd lng="es"><![CDATA[ingeniería de software]]></kwd>
<kwd lng="es"><![CDATA[SOA]]></kwd>
<kwd lng="es"><![CDATA[desarrollo de software basado en componentes]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[  <font size="2" face="verdana">     <p align="center"><font size="4"><b>A systematic review of applying modern software engineering techniques to developing robotic systems</b></font></p>      <p align="center"><font size="3"><b>Revisi&oacute;n sistem&aacute;tica de la aplicaci&oacute;n de t&eacute;cnicas modernas de ingenier&iacute;a de software al desarrollo de sistemas rob&oacute;ticos</b></font></p>     <p><b>Claudia Pons<sup>1</sup><i>, </i>Roxana Giandini<sup>2</sup>, Gabriela Ar&eacute;valo<sup>3</sup></b></p>      <p><sup>1</sup> Informatics Licentiate, Specialist in Universitary Teaching, PhD in Science (Informatics), Universidad Nacional de La Plata, Argentina. CONICET, Facultad de Inform&aacute;tica, Universidad Nacional de La Plata y Universidad Abierta Inter-americana, Argentina. E-mail: <a href="cpons@info.unlp.edu.ar">cpons@info.unlp.edu.ar</a>.</p>      <p><sup>2</sup> Scientific Estimator, MSc in Software Engineering, PhD in Informatic Sciences, Universidad Nacional de La Plata, Argentina. Facultad de Inform&aacute;tica, Universidad Nacional de La Plata, Argentina.   E-mail: <a href="E-mail:giandini@info.unlp.edu.ar">giandini@info.unlp.edu.ar</a>.</p>     <p><sup>3</sup> Informatics Licentiate, Universidad Nacional de La Plata, Argentina. MSc in Software Engineering, Ecole des Mines de Nantes/Vrije Universiteit. Brussels. PhD in Computer Science, Universitaet Bern, Switzerland. Universidad Abierta Interamericana, CONICET, DCyT, Universidad Nacional de Quilmes, Argentina. E-mail: <a href="E-mail:gabriela.b.arevalo@gmail.com">gabriela.b.arevalo@gmail.com</a>.</p>        <p><b>Received: September 28th 2011; Accepted: February 28th 2012</b></p>  <hr>    <p><b> RESUMEN </b></p>      <p>Los robots se han convertido en colaboradores habituales de nuestra vida diaria. Los sistemas rob&oacute;ticos son cada vez m&aacute;s complejos y, como consecuencia, crece la necesidad de aplicar nuevas t&eacute;cnicas ingenieriles a su proceso de desarrollo. Los enfoques tradicionales que se utilizan en el proceso de desarrollo de estos sistemas de <I>software</I> est&aacute;n alcanzando sus l&iacute;mites; las metodolog&iacute;as utilizadas actualmente y las herramientas de soporte no alcanzan para atender las necesidades de estos procesos complejos. Para fomentar la reutilizaci&oacute;n y el mantenimiento de c&oacute;digo es esencial separar el conocimiento estable del dominio de rob&oacute;tica en las tecnolog&iacute;as de implementaci&oacute;n, que var&iacute;an r&aacute;pidamente. Este art&iacute;culo presenta una revisi&oacute;n sistem&aacute;tica de la utilizaci&oacute;n actual de t&eacute;cnicas modernas de ingenier&iacute;a de <I>software</I> en el desarrollo de sistemas rob&oacute;ticos y su nivel de automatizaci&oacute;n. El objetivo del estudio es el de resumir la evidencia existente respecto a la aplicaci&oacute;n de dichas tecnolog&iacute;as en el campo de los sistemas rob&oacute;ticos para identificar carencias en la investigaci&oacute;n actual con el fin de sugerir &aacute;reas en futuras propuestas y proporcionar las bases para posicionar adecuadamente nuevas actividades de investigaci&oacute;n. </p>     ]]></body>
<body><![CDATA[<p><b>Palabras clave</b>: revisi&oacute;n, sistemas de <I>software</I> rob&oacute;ticos, desarrollo de <I>software</I> dirigido por modelos, ingenier&iacute;a de <I>software</I>, SOA, desarrollo de <I>software</I> basado en componentes. </p>  <hr>    <p><b> ABSTRACT </b></p>      <p>Robots have become collaborators in our daily life. While robotic systems become more and more complex, the need to engineer their software development grows as well. The traditional approaches used in developing these software systems are reaching their limits; currently used methodologies and tools fall short of addressing the needs of such complex software development. Separating robotics' knowledge from short-cycled implementation technologies is essential to foster reuse and maintenance. This paper presents a systematic review (SLR) of the current use of modern software engineering techniques for developing robotic software systems and their actual automation level. The survey was aimed at summarizing existing evidence concerning applying such technologies to the field of robotic systems to identify any gaps in current research to suggest areas for further investigation and provide a background for positioning new research activities. </p>     <p><b>Keywords</b>: survey, robotic software system, model-driven software development, software engineering, SOA, component-based software development. </p>  <hr>    <p><font size="3"><b>Introduction</b></font></p>      <p>Robotic systems (RSs) play an increasing role in everyday life. The need for robotic systems in industrial settings is increasing and has become more demanding. While robotic systems become more and more complex, the need to engineer their software development grows as well. Traditional approaches used in developing such software systems are reaching their limits; currently used methodologies and tools fall short of addressing the needs of such complex software development. </p>     <p>It is widely accepted that new approaches should be established to meet the needs of developing today's complex RS. Component-based development (CBD) (Szyperski, 2002), service oriented architecture (SOA) (Bell 2008 and 2010),  model driven software engineering (MDE) (Stahl, 2006) (Pons et al., 2010) and domain-specific modeling (DSM) (Steven and Juha-Pekka, 2008) represent promising technologies in the RS domain. </p>     <p>This paper gives a systematic review (SLR) of the current use of modern software engineering techniques for developing robotic software systems and their actual automation level. The survey aimed at summarising existing evidence concerning the application of such technologies in the field of robotic systems. </p>      <p><font size="3"><b>The need for a review in this field</b></font></p>      <p>Although robotic software complexity is high, its reuse is still restricted to libraries. Many libraries have been created at the lowest level for robot systems to perform tasks like mathematical computation for kinematics, dynamics and machine vision (Bruyninckx, 2001). Instead of composing systems out of building blocks having assured services, overall software integration for another robotic system often relies on reimplementing  glue logic to bring various libraries together. Overall integration is completely driven by a certain middleware system and its capabilities. Middlewares are often used to hide complexity regarding inter-component communication, for example OpenRTM-aist (Ando <I>et al</I>., 2005) is a CORBA-based middleware for robot platforms that uses so-called robot technology components to model functionality distribution. Obviously this is not only expensive and wastes tremendous highly skilled robotics resources but does not take advantage of maturing to enhance overall robustness. </p>     ]]></body>
<body><![CDATA[<p>Educational robots have been programmed for more than 10 years (GIRA, 2011) (CAETI, 2011) and robotic kits oriented towards non-expert users have emerged in the last years, giving rise to the development of a significant number of educational projects using robots. Such projects apply robots from kindergarten to higher education, especially regarding physics and technology. However, robotic kits' hardware is constantly changing and its use is not uniform in different regions and even at similar education levels. These robots' technical interfaces should hide such differences so that teachers are not required to change their educational material over and over again. Physical Etoys (GIRA, 2011) is an example of these interfaces; it is a project proposing a standard teaching platform for programming robots, regardless of whether they are based on Arduino, Lego or other technologies. </p>     <p>It is widely accepted that new approaches should be established to meet the needs of developing today's complex RS. Component-based development (CBD) (Szyperski, 2002), service oriented architecture (SOA) (Bell 2008 and 2010), model driven software engineering (MDE) (Stahl, 2006), (Pons et al., 2010) and domain-specific modelling (DSM) (Steven and Juha-Pekka, 2008) represent promising technologies in the RS domain. </p>     <p>Component-based development (Szyperski, 2002) implies that application development should be achieved by linking independent parts (i.e. components). Strict component interfaces based on predefined interaction patterns decouple the sphere of influence and thus partition overall complexity. This results in loosely coupled components interacting via services with contracts. Components such as architectural units very precisely specify using the concept of port for both the services provided and the services required by a given component and defining a composition theory based on the notion of a connector. Component technology offer high reusability rates and ease of use, but little flexibility regarding implementation platform; most existing components are linked to C/ C++ and Linux (e.g. Microsoft robotics developer studio (Microsoft, 2009), EasyLab (Barner <I>et al</I>., 2008), Player/Stage project (Gerkey <I>et al</I>., 2001)), although some achieve more independence by using middleware (e.g. smart software component model (Schlegel, 2007), Orocos (Bruyninckx, 2001) Orca (Brooks <I>et al</I>., 2005), CLARAty (Nesnas <I>et al</I>., 2003)). </p>     <p>Interfaces and behaviour must be defined at a higher level of abstraction so they can be used in systems having different platforms. This prompted the idea of abstract components which would be independent of an implementation platform but could be translated into executable software or hardware components. Migration from code-driven design to model-driven development is mandatory in robotic components to overcome current problems. A model-based description is a suitable means of expressing contracts at component interfaces and applying tools to verify composed systems' overall behaviour and automatically derive executable software. Instead of building tool support for each framework from scratch, one should now try to express required models in standardised modelling languages like UML or any DSL, separating components from the underlying computer hardware. Model driven development (MDD) (Stahl, 2006; Pons <I>et al</I>., 2010) and domain-specific modelling approach (DSM) (Steven and Juha-Pekka, 2008) have emerged as a paradigm shift from codecentric software development to model-based development; such approaches promote systematisation and automation in constructing software artefacts. Models are considered first-class constructs in software development and developers' knowledge is encapsulated by means of model transformations. MDD and DSM's essential characteristics are that software development's primary focus and work products are models; their major advantage is that models can be expressed at different levels of abstraction and hence they are less bound to any supporting technology. This is especially relevant for software systems within the ubiquitous computing domain, consisting of dynamic, distributed applications and heterogeneous hardware platforms, such as robotic systems. </p>     <p>Service-oriented architecture (SOA) is a flexible set of design principles used during systems development and integration in computing. A system based on a SOA will package functionality as a suite of interoperable services to be used within multiple, separate systems from several business domains. SOA also generally provides a way for service consumers (such as web-based applications) to be aware of available SOA-based services. SOA defines how to integrate widely disparate applications for a web-based environment and uses multiple implementation platforms. Rather than defining an API, SOA defines the interface in terms of protocols and functionality. Service-orientation requires the loose coupling of services to operating systems and other technologies that under-lie applications. SOA separates functions into distinct units, or services (Bell, 2008) which developers make accessible over a network to allow users to combine and reuse them in producing applications. These services and their corresponding consumers communicate with each other by passing data in a well-defined, shared format (Bell, 2010). </p>     <p>It is known that such software engineering techniques offer good potential for developing robotic systems so proposals in this area and detecting which work has already been done and which work is pending must be ascertained, as must any proposal taking advantage of the combined application of CBP, SOA and MDE for robotic software system development. </p>      <p><font size="3"><b>Systematic literature reviews and systematic mapping studies</b></font></p>      <p>A systematic literature review (SLR) (Kitchenham and Charters, 2007; Dyb&aring; <I>et al</I>., 2003) is a means of identifying, evaluating and interpreting all available research relevant to a particular research question, topic area or phenomenon of interest. Individual studies contributing towards a SLR are called primary studies; an SLR is a form of secondary study. </p>     <p>Other types of review complement SLR, such as systematic mapping studies (SMS). If, during the initial examination of a domain prior to commissioning an SLR it is discovered that very little evidence is likely to exist or that the topic is very broad then an SMS may be more appropriate than an SLR. An SMS allows evidence in a domain to be plotted at a high level of granularity, thereby identifying evidence clusters and evidence deserts to direct the focus of future SLS and identify areas for more primary studies to be conducted. The present work consists of an SLR oriented towards mapping studies due to the extensiveness of our topic of interest. </p>     <p>An SLR involves several discrete activities; Kitchenham <I>et al</I>., (Kitchenham and Charters, 2007) summarised SLR stages as follows: planning (identifying the need for a review, specifying the research questions, identifying research, selecting primary studies, study quality assessment, developing a review protocol, evaluating the review protocol), conducting<I> </I>(data extraction and monitoring, data synthesis) and reporting<I> </I>(specifying dissemination mechanisms, formatting the main report, evaluating the report). </p>     ]]></body>
<body><![CDATA[<p><B><I>Planning a review </I></b></p>     <p><B></b>Review planning specifies the methods to be used when undertaking a specific SLR; pre-defined planning is needed to reduce re-searcher bias. </p>     <p><I>The research questions </I></p>     <p>Specifying research questions is the most important part of any SLR. The right question is usually one that will lead either to changes in current software engineering practice or to increased confidence in the value of current practice and/or will identify discrepancies between commonly held beliefs and reality. The 5 research questions investigated in this study were: </p>     <p><B>RQ1</B> Have MDD techniques been applied to developing robotic systems and what is the current tendency? </p>     <p><B>RQ2</B> Have CBD techniques been applied to developing robotic systems and what is the current trend? </p>     <p><B>RQ3</B> Have SOA techniques been applied to developing robotic systems and what is the current trend? </p>     <p><B>RQ4</B> Have these techniques been used in combination or in isolation? </p>     <p><B>RQ5</B> Which MDE techniques have been applied to developing robotic systems and what is their automation level? </p>     <p><I>The search strategy </I></p>     ]]></body>
<body><![CDATA[<p>A search strategy was used for primary studies; it included the search terms and resources to be searched. Resources included digital libraries, specific journals and conference proceedings. Two digital libraries and one broad indexing service were searched: the IEEE computer society digital library, ACM digital library and SCOPUS indexing system. All searches were based on title, keywords and abstract. The searches took place in May and June 2011 using Boolean query (adapted to each library's particular syntax): </p>     <p>(robot*) </p>     <p><B>and </b></p>     <p><B></b>(''software development'' <B>OR</B> ''system development'' <B>OR</B> programming) </p>     <p><B>and </b></p>     <p><B></b>(MDD <B>OR</B> MDE <B>OR </B>&quot;model driven&quot; <B>OR</B> &quot;domain specific language&quot; <B>OR</B> &quot;domain specific modeling&quot; <B>OR</B> DSL <B>OR</B> &quot;code generation&quot; <B>OR</B> &quot;generative programming&quot; OR &quot;component based''<B> </B>OR CBD<B> </B>OR &quot;service oriented&quot;<B> OR</B> &quot;service based&quot; <B>OR</B> SOA<B> OR</B> &quot;Web service&quot;)</p>     <p><B></b>Concerning search strategy quality, general guidelines recommend considering a question's effectiveness from five viewpoints (PICOC criteria): </p>     <p><B>Population</B>:  application area </p>     <p><B>Intervention</B>: the software methodology/tool/technology/procedure addressing a specific issue </p>     <p><B>Comparison</B>: the software engineering methodology/tool/technology/procedure with which the intervention is being compared </p>     ]]></body>
<body><![CDATA[<p><B>Outcomes</B>: factors of importance for practitioners, such as improved reliability, reduced production costs, and reduced time to market </p>     <p><B>Context</B>: this is the context in which the comparison takes place (e.g. academia or industry), the participants taking part in the study (e.g. practitioners, academics, consultants, students), and the tasks being performed (e.g. small scale, large scale) </p>     <p>The current query was thus organised as follows (i.e. following PICOC criteria) </p>     <p><B>Population</B>: the robotic domain, reflected in the query's first sub-expression </p>     <p><B>Intervention</B>: software and system development specified in the query's second sub-expression </p>     <p><B>Comparison</B>: MDD, SOA and CBD software engineering methodologies were compared or analysed, indicated in the query's third sub-expression </p>     <p><B>Outcome</B>: the query did not restrict the kind of outcomes (as many outcomes as possible were needed by collecting all the available information in the study domain) </p>     <p><B>Context</B>: no restriction was applied </p>     <p><I>Study selection criteria </I></p>     <p>Study selection criteria are intended to identify primary studies by providing direct evidence about a particular research question. Once potentially relevant primary studies have been obtained, they must be assessed regarding their actual relevance. Study selection criteria are used for determining which studies are included in, or excluded from, an SLR. It is usually helpful to pilot the selection criteria on a subset of primary studies. </p>     ]]></body>
<body><![CDATA[<p>Title, abstract and keywords were used in initial screening (giving 195 papers); IEEE computer society digital library contributed 55 articles (28%) and ACM digital library another 140 (72%). The results from searching the SCOPUS indexing system were included in previous results, so SCOPUS contributed no new articles. Studies were excluded that were obviously irrelevant or duplicates (91 articles were eliminated). The remaining 104 papers were then subjected to a second assessment: full copies of these remaining papers were obtained and a more detailed second screening used the following inclusion and exclusion criteria: the paper should be related to software engineering rather than mathematical modelling and/or math simulation, ''service oriented'' should refer to SOA but not to robots performing a service (37 articles were excluded). The remaining 67 articles were analysed (http://lifia.info.unlp.edu.ar/eclipse/robotsurvey2011). </p>     <p><B><I>Data extraction strategy </I></b></p>     <p><B></b>This strategy defined how information required from each primary study would be obtained; data extraction forms were designed to accurately record the information researchers obtained from primary studies: </p> <img src="../img/revistas/iei/v32n1/v32n1a11t1.jpg">     <p>If the value of the last field was true (i.e., the paper applied MDD), then the following form was filled in: </p><img src="../img/revistas/iei/v32n1/v32n1a11t2.jpg">      <p>The ''<I>modelling language</I>'' field specified the language used to express platform independent models. Some projects used standard UML language while other projects considered that UML was not expressive enough and defined extension by creating a profile. Other proposals did not use UML but defined their own domain-specific modelling language (DSML). </p>     <p>The ''<I>programming language</I>'' field identified the implementation language used as model transformation target. Most PIM models were translated to different languages, being one of the principles of MDD. However, in other cases, PIM models were mapped to a specific high level language, such as Urby, or specific middleware, such as MSRS. </p>     <p> The ''<I>model transformation technique</I>'' field indicated which strategy was used to transform PIM to PSM or code. Some projects implemented the transformation by just using general purpose programming language (GPL), such as Java, while other proposals used existing transformation DSLs, such as ATL, JET or QVT. Most proposals used black-box transformations. </p>     <p>The ''<I>tools</I>'' field denoted which kind of software tools were being used in the project: existing tools (such as EMF or MS DSL tools) or a new specific tool was created. </p>     <p>The ''<I>automation level</I>'' field stated how much work was done automatically. ''Full'' indicated that code was automatically generated from models, ''medium'' that a code was partially generated and had to be completed manually and ''low'' indicated that transformation from models to code was mostly carried out by hand. </p>     <p><B><I>Data synthesis strategy: answering the questions </I></b></p>     ]]></body>
<body><![CDATA[<p><B></b>Data synthesis involved collecting and summarising the results of the primary studies so included. </p>     <p><a href="#f1">Figure 1</a> shows the response to the first three questions, i.e. ''Have MDD/CBD/SOA techniques been applied to the development of robotic systems and what is the current trend? An increasing trend in using all these techniques was observed, CBD being most applied in the robotics field. </p>     <p align="center"><a name="f1"></a><img src="../img/revistas/iei/v32n1/v32n1a11f1.jpg"></p>      <p><a href="#f2">Figure 2</a> shows answers to question 4, showing the distribution of articles in each field. Little interaction amongst the technologies was observed. However, there was promising intersection between MDD and CBD, showing the potential of combining them. </p>     <p align="center"><a name="f2"></a><img src="../img/revistas/iei/v32n1/v32n1a11f2.jpg"></p>      <p>Concerning question 5, <a href="#f3">Figure 3</a> illustrates which modelling languages were being applied in robotic projects. Defining new domain specific languages was the most applied technique (64%), followed by UML (27%) and its profiles (9%). <a href="#f4">Figure 4</a> shows that 65% of MDD projects took advantage of existing MDD tools, such as ATL, EMF and DSL, while 35% implemented their own modelling and transformation tools. A reasonable expectation is that existing tools will be increasingly reused in the near future. </p>     <p><a href="#f5">Figure 5</a> shows MDD project automation level distribution; only 55% had full MDD automation while 27% had intermediate automation implying abstract model creation and automatic code skeleton generation to be manually completed by the developers. 18% of MDD robotic projects only had a low level of automation, consisting of creating abstract models but manual code derivation. </p>     <p align="center"><a name="f3"></a><img src="../img/revistas/iei/v32n1/v32n1a11f3.jpg"></p>     <p align="center"><a name="f4"></a><img src="../img/revistas/iei/v32n1/v32n1a11f4.jpg"></p>     <p align="center"><a name="f5"></a><img src="../img/revistas/iei/v32n1/v32n1a11f5.jpg"></p>      ]]></body>
<body><![CDATA[<p><font size="3"><b>Conclusions</b></font></p>     <p>The robotics' community has sufficient experience regarding how to build complex robotic systems. However, one cannot expect significant growth with hand-crafted single-unit systems and it is mandatory to work towards applying engineering principles to cope with the complexity of robotic software systems. Knowledge about what has proved to be a good solution in the software engineering field is usually available. Such knowledge must be explicit and easily accessible for new systems. Applying existing technology would save time and effort which is better put into what is specific in robotics. </p>     <p>This paper has presented an overview of ongoing activities regarding the application of modern software engineering techniques to robotic software development. A growing tendency was identified regarding applying component-based development as well as service-based architecture and model-driven software development, although such techniques have mostly been applied in isolation. </p>     <p>Some work (Basu <I>et al.</I>, 2011; Biggs, 2010; Brooks <I>et al.</I>, 2005; Jawawi <I>et al</I>., 2008; Min Yang Jung <I>et al</I>., 2010) has taken advantage of CBD for developing robotic systems whilst other proposals (Amoretti <I>et al.</I>, 2007; Cesetti <I>et al</I>., 2010) have applied SOA to building autonomic robot systems. Only preliminary proposals were found for applying model-driven development to robotics (Arney <I>et al</I>., 2010; Baer <I>et al</I>., 2007; Brugali and Scandurra, 2009; Brugali and Shakhimardanov, 2010; Hyun Seung Son <I>et al</I>., 2008; Iborra <I>et al</I>., 2009; Jorges <I>et al</I>., 2007; Jung <I>et al</I>., 2005; Sanchez <I>et al</I>., 2010; Schlegel, 2009; Wei <I>et al</I>., 2009) while only one work combined all three technologies (Tsai <I>et al</I>., 2008). </p>     <p>Gaps were identified in current research leading to further investigation after reviewing more than 100 papers on the subject, thereby providing background for appropriately positioning new research activities. </p>      <p><font size="3"><b>References</b></font></p>      <!-- ref --><p>Amoretti, M.; Zanichelli, F.; Conte, G.; A service-oriented approach for building autonomic peer-to-peer robot systems enabling technologies: infrastructure for collaborative enterprises, 2007. WETICE 2007. 16th IEEE International Workshops on, pp.137 - 142 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000089&pid=S0120-5609201200010001100001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Ando, N., Suehiro, T., Kitagaki, K., Kotoku, T., Yoon, W.K., RT-middleware: Distributed component middleware for RT (robot technology). In: International Conference on Intelligent Robots and Systems 2005 (IROS 2005), 2005, pp. 3933-3938. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000090&pid=S0120-5609201200010001100002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Arney, D.; Fischmeister, S.; Lee, I.; Takashima, Y.; Yim, M.; Model-based programming of modular robots. 13th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing (ISORC), 2010, pp.: 66 - 74. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000091&pid=S0120-5609201200010001100003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Baer, P. A.; Reichle, R.; Zapf, M.; Weise,T.; Geihs, K.; A generative approach to the development of autonomous robot software. EASe '07. Fourth IEEE International Workshop on Engineering of Autonomic and Autonomous Systems. 2007. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000092&pid=S0120-5609201200010001100004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Barner, S., Geisinger, M., Buckl, C., Knoll, A.: EasyLab: Model-based development of software for mechatronic systems. In: IEEE/ASME International Conference on Mechatronic and Embedded Systems and Applications. Beijing, China, 2008. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000093&pid=S0120-5609201200010001100005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Basu, A.; Bensalem, B.; Bozga, M.; Combaz, J.; Jaber, M.; Nguyen, T.; Sifakis, J.; Rigorous component-based system design using the BIP framework software, IEEE Volume: 28 , Issue: 3, 2011, pp. 41 - 48. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000094&pid=S0120-5609201200010001100006&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Bell, M., &quot;Introduction to Service-Oriented Modeling&quot;. Service-Oriented Modeling: Service Analysis, Design, and Architecture. Wiley &amp; Sons. 2008, pp. 3. ISBN 978-0-470-14111-3. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000095&pid=S0120-5609201200010001100007&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Bell, M., SOA Modeling patterns for service-oriented discovery and analysis. Wiley &amp; Sons. 2010. pp. 390. ISBN 978-0470481974. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000096&pid=S0120-5609201200010001100008&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Biggs, G.; Flexible, adaptable utility components for component-based robot software. Robotics and Automation (ICRA), 2010 IEEE International Conference on, pp. 4615 - 4620. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000097&pid=S0120-5609201200010001100009&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Brooks, A., Kaupp, T., Makarenko, A., Oreback, A., Williams, S.: Towards component-based robotics. In: Proc. of 2005 IEEE/RSJ Int. Conf. on Intelligent Robots and Systems (IROS'05), Alberta, Canada, 2005, pp. 163-168. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000098&pid=S0120-5609201200010001100010&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Brugali, D.; Scandurra, P.; Component-based robotic engineering (Part I) [Tutorial] Robotics &amp; Automation Magazine, IEEE Vol. 16 , Issue 4, 2009, pp. 84 - 96. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000099&pid=S0120-5609201200010001100011&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Brugali, D.; Shakhimardanov, A.; Component-Based Robotic Engineering (Part II) Robotics &amp; Automation Magazine, IEEE Vol. 17, Issue 1, 2010, pp. 100 - 112. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000100&pid=S0120-5609201200010001100012&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Bruyninckx, H., Open robot control software: The OROCOS project. In: Proceedings of 2001 IEEE International Conference on Robotics and Automation (ICRA'01), Seoul, Korea, Vol. 3, 2001, pp. 2523-2528. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000101&pid=S0120-5609201200010001100013&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>CAETI (Centro de Altos Estudios en Tecnolog&iacute;a Inform&aacute;tica). Proyectos del &aacute;rea rob&oacute;tica. http://www.caeti.uai.edu.ar. Visited June 2011. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000102&pid=S0120-5609201200010001100014&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Cesetti, A.; Scotti, C. P.; Di Buo, G.; Longhi, S.; A service oriented architecture supporting an autonomous mobile robot for industrial applications Control &amp; Automation (MED), 2010 18th Mediterranean Conference on Pages: 604 - 609. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000103&pid=S0120-5609201200010001100015&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Dyb&aring;, T., Kitchenham, B.A., J&oslash;rgensen M., Evidence-based soft-ware engineering for practitioners, IEEE Software 22 (1) (2005) 58-65. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000104&pid=S0120-5609201200010001100016&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Gerkey, B.P., Vaughan, R.T., Howard, A., Most valuable player: a robot device server for distributed control. In: IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 1226-1231. Wailea, Hawaii (2001) Player Stage &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000105&pid=S0120-5609201200010001100017&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>GIRA Grupo de Investigaci&oacute;n en Rob&oacute;tica Aut&oacute;noma del CAETI. http://tecnodacta.com.ar/gira/ (Visited May 2011). &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000106&pid=S0120-5609201200010001100018&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Hyun Seung Son, Woo Yeol Kim; Kim, R., Semi-automatic software development based on MDD for heterogeneous multi-joint robots. In Future Generation Communication and Networking Symposia, 2008. FGCNS '08. : 2008, pp. 93 - 98 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000107&pid=S0120-5609201200010001100019&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Iborra, A.; Caceres, D.; Ortiz, F.; Franco, J.; Palma, P.;Alvarez, B.; Design of Service Robots. Experiences Using Software Engineering. IEEE Robotics &amp; Automation Magazine 1070-9932/09/ IEEE 2009, pp. 24 - 33. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000108&pid=S0120-5609201200010001100020&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Jawawi, D.N.A.; Deris, S.; Mamat, R.; Early-life cycle reuse approach for component- based software of autonomous mobile robot system. Software Engineering, Artificial Intelligence, Net-working, and Parallel/Distributed Computing, 2008. SNPD '08. Ninth ACIS International Conference on, Pages: 263 - 268. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000109&pid=S0120-5609201200010001100021&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Jorges, Sven; Kubczak, Christian; Pageau, Felix; Margaria, Tiziana; Model driven design of reliable robot control programs using the JABC. Engineering of Autonomic and Autonomous Systems, 2007. EASe '07. Fourth IEEE International Workshop on, Pages: 137-148 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000110&pid=S0120-5609201200010001100022&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Jung, E.; Kapoor, C.; Batory, D.; Automatic code generation for actuator interfacing from a declarative specification Intelligent Robots and Systems, 2005. (IROS 2005). IEEE/RSJ International Conference on. Pages: 2839 - 2844 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000111&pid=S0120-5609201200010001100023&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Kitchenham, B.A., Charters, S., Guidelines for performing systematic literature reviews in software Engineering Technical Report EBSE-2007-01, 2007. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000112&pid=S0120-5609201200010001100024&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Microsoft, ''Microsoft robotics developer studio,'' 2009,http://msdn.microsoft.com/enus/robotics/default.aspx, visited on March 11th 2009. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000113&pid=S0120-5609201200010001100025&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Min Yang Jung; Deguet, A.; Kazanzides, P.; A component-based architecture for flexible integration of robotic systems Intelligent Robots and Systems (IROS), 2010 IEEE/RSJ International Conference on, Pages: 6107 - 6112. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000114&pid=S0120-5609201200010001100026&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Nesnas, I., Wright, A., Bajracharya, M., Simmons, R., Estlin, T.: CLARAty and challenges of developing interoperable robotic software. In: Proceedings of 2003 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2003), vol. 3, pp. 2428-2435. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000115&pid=S0120-5609201200010001100027&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Pons, C., Giandini R., P&eacute;rez, G., ''Desarrollo de software dirigido por modelos. Teor&iacute;as, Metodolog&iacute;as y Herramientas'', Ed: McGraw-Hill Education. ISBN: 978-950-34-0630-4. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000116&pid=S0120-5609201200010001100028&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Sanchez, P; Alonso, D; Rosique, F; Alvarez, B; Pastor, J; Introducing safety requirements traceability support in model-driven development of robotic applications. Computers, IEEE Transactions on Issue: 99 (2010) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000117&pid=S0120-5609201200010001100029&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Schlegel, C., ''Communication patterns as key towards component interoperability,'' in Software Engineering for Experimental Robotics (Series STAR, vol. 30), D. Brugali, Ed. Berlin, Heidelberg: Springer-Verlag, , pp. 183-210. Smartsoftware (2007) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000118&pid=S0120-5609201200010001100030&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Schlegel, C., Ha&szlig;ler, T., Lotz, A., Steck, A., Robotic software systems: from code-driven to model-driven designs. In procs. Of ICAR 2009. International Conference on Advanced Robotics. IEEE Press (2009) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000119&pid=S0120-5609201200010001100031&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Stahl, M Voelter. Model Driven Software Development. John Wiley. 2006. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000120&pid=S0120-5609201200010001100032&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Steven, K., Juha-Pekka, T., Domain-Specific Modeling. John Wiley &amp; Sons, Inc. 2008. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000121&pid=S0120-5609201200010001100033&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Szyperski, C., Component software: beyond object-oriented programming. 2nd ed. Addison-Wesley Professional, Boston ISBN 0-201-74572-0, 2002. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000122&pid=S0120-5609201200010001100034&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Tsai, W.T., Qian Huang, Xin Sun. A collaborative service-oriented simulation framework with Microsoft robotic studio simulation symposium, 2008. ANSS 2008. 41st Annual Digital Object Identifier: 10.1109/ANSS-41.2008.32, pp. 263 - 270, 2008. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000123&pid=S0120-5609201200010001100035&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>Wei Hongxing; Duan Xinming; Li Shiyi; Tong Guofeng; Wang Tianmiao; A component based design framework for robot software architecture. Intelligent Robots and Systems, 2009. IROS 2009. IEEE/RSJ International Conference on, Pages: 3429 - 3434 (2009) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000124&pid=S0120-5609201200010001100036&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> ]]></body><back>
<ref-list>
<ref id="B1">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Amoretti]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Zanichelli]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
<name>
<surname><![CDATA[Conte]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
</person-group>
<source><![CDATA[A service-oriented approach for building autonomic peer-to-peer robot systems enabling technologies: infrastructure for collaborative enterprises]]></source>
<year>2007</year>
<page-range>137 - 142</page-range><publisher-name><![CDATA[WETICE]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B2">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Ando]]></surname>
<given-names><![CDATA[N]]></given-names>
</name>
<name>
<surname><![CDATA[Suehiro]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
<name>
<surname><![CDATA[Kitagaki]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
<name>
<surname><![CDATA[Kotoku]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
<name>
<surname><![CDATA[Yoon]]></surname>
<given-names><![CDATA[W.K]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[RT-middleware: Distributed component middleware for RT (robot technology)]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ International Conference on Intelligent Robots and Systems 2005]]></conf-name>
<conf-date>2005</conf-date>
<conf-loc> </conf-loc>
<page-range>3933-3938</page-range></nlm-citation>
</ref>
<ref id="B3">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Arney]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[Fischmeister]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Lee]]></surname>
<given-names><![CDATA[I]]></given-names>
</name>
<name>
<surname><![CDATA[Takashima]]></surname>
<given-names><![CDATA[Y]]></given-names>
</name>
<name>
<surname><![CDATA[Yim]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<source><![CDATA[Model-based programming of modular robots]]></source>
<year></year>
<conf-name><![CDATA[ 13th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing]]></conf-name>
<conf-date>2010</conf-date>
<conf-loc> </conf-loc>
<page-range>66 - 74</page-range></nlm-citation>
</ref>
<ref id="B4">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Baer]]></surname>
<given-names><![CDATA[P. A]]></given-names>
</name>
<name>
<surname><![CDATA[Reichle]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[Zapf]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Weise]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
<name>
<surname><![CDATA[Geihs]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
</person-group>
<source><![CDATA[A generative approach to the development of autonomous robot software]]></source>
<year></year>
<conf-name><![CDATA[ Fourth IEEE International Workshop on Engineering of Autonomic and Autonomous Systems]]></conf-name>
<conf-date>2007</conf-date>
<conf-loc> </conf-loc>
</nlm-citation>
</ref>
<ref id="B5">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Barner]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Geisinger]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Buckl]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[Knoll]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[EasyLab: Model-based development of software for mechatronic systems]]></article-title>
<collab>IEEE/ASME</collab>
<source><![CDATA[International Conference on Mechatronic and Embedded Systems and Applications]]></source>
<year>2008</year>
<publisher-loc><![CDATA[Beijing ]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B6">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Basu]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Bensalem]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
<name>
<surname><![CDATA[Bozga]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Combaz]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Jaber]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Nguyen]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
<name>
<surname><![CDATA[Sifakis]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<source><![CDATA[IEEE]]></source>
<year>2011</year>
<volume>28</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>41 - 48</page-range></nlm-citation>
</ref>
<ref id="B7">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bell]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Introduction to Service-Oriented Modeling: Service-Oriented Modeling]]></article-title>
<source><![CDATA[Service Analysis, Design, and Architecture]]></source>
<year>2008</year>
<page-range>3</page-range><publisher-name><![CDATA[Wiley & Sons]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B8">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bell]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<source><![CDATA[SOA Modeling patterns for service-oriented discovery and analysis]]></source>
<year>2010</year>
<page-range>390</page-range><publisher-name><![CDATA[Wiley & Sons]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B9">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Biggs]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
</person-group>
<source><![CDATA[Flexible, adaptable utility components for component-based robot software]]></source>
<year></year>
<conf-name><![CDATA[ 2010 IEEE International Conference on]]></conf-name>
<conf-loc> </conf-loc>
<page-range>4615 - 4620</page-range></nlm-citation>
</ref>
<ref id="B10">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Brooks]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Kaupp]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
<name>
<surname><![CDATA[Makarenko]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Oreback]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Williams]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Towards component-based robotics]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ Int. Conf. on Intelligent Robots and Systems (IROS'05)]]></conf-name>
<conf-date>2005</conf-date>
<conf-loc>Alberta </conf-loc>
<page-range>163-168</page-range></nlm-citation>
</ref>
<ref id="B11">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Brugali]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[Scandurra]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Component-based robotic engineering]]></article-title>
<source><![CDATA[Robotics & Automation Magazine]]></source>
<year>2009</year>
<volume>16</volume>
<numero>4</numero>
<issue>4</issue>
<page-range>84 - 96</page-range><publisher-name><![CDATA[IEEE]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B12">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Brugali]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[Shakhimardanov]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Component-Based Robotic Engineering (Part II)]]></article-title>
<source><![CDATA[Robotics & Automation Magazine]]></source>
<year>2010</year>
<volume>17</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>100 - 112</page-range><publisher-name><![CDATA[IEEE]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B13">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bruyninckx]]></surname>
<given-names><![CDATA[H]]></given-names>
</name>
</person-group>
<source><![CDATA[Open robot control software: The OROCOS project]]></source>
<year>2001</year>
<volume>3</volume>
<conf-name><![CDATA[ Proceedings of 2001 IEEE International Conference on Robotics and Automation]]></conf-name>
<conf-loc>Seoul </conf-loc>
<page-range>2523-2528</page-range></nlm-citation>
</ref>
<ref id="B14">
<nlm-citation citation-type="">
<collab>CAETI</collab>
<source><![CDATA[Proyectos del área robótica]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B15">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Cesetti]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Scotti]]></surname>
<given-names><![CDATA[C. P]]></given-names>
</name>
<name>
<surname><![CDATA[Di Buo]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
<name>
<surname><![CDATA[Longhi]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<source><![CDATA[A service oriented architecture supporting an autonomous mobile robot for industrial applications Control & Automation (MED)]]></source>
<year></year>
<conf-name><![CDATA[ 18th Mediterranean Conference]]></conf-name>
<conf-date>2010</conf-date>
<conf-loc> </conf-loc>
<page-range>604 - 609</page-range></nlm-citation>
</ref>
<ref id="B16">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Dybå]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
<name>
<surname><![CDATA[Kitchenham]]></surname>
<given-names><![CDATA[B.A]]></given-names>
</name>
<name>
<surname><![CDATA[Jørgensen]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Evidence-based soft-ware engineering for practitioners]]></article-title>
<source><![CDATA[IEEE Software]]></source>
<year>2005</year>
<volume>22</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>58-65</page-range></nlm-citation>
</ref>
<ref id="B17">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Gerkey]]></surname>
<given-names><![CDATA[B.P]]></given-names>
</name>
<name>
<surname><![CDATA[Vaughan]]></surname>
<given-names><![CDATA[R.T]]></given-names>
</name>
<name>
<surname><![CDATA[Howard]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Most valuable player: a robot device server for distributed control]]></article-title>
<collab>IEEE/RSJ</collab>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ International Conference on Intelligent Robots and Systems]]></conf-name>
<conf-loc> </conf-loc>
<page-range>1226-1231</page-range><publisher-loc><![CDATA[Wailea^eHawaii Hawaii]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B18">
<nlm-citation citation-type="">
<collab>GIRA</collab>
<source><![CDATA[]]></source>
<year>May </year>
<month>20</month>
<day>11</day>
</nlm-citation>
</ref>
<ref id="B19">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hyun Seung]]></surname>
<given-names><![CDATA[Son]]></given-names>
</name>
<name>
<surname><![CDATA[Woo Yeol]]></surname>
<given-names><![CDATA[Kim]]></given-names>
</name>
<name>
<surname><![CDATA[Kim]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Semi-automatic software development based on MDD for heterogeneous multi-joint robots]]></article-title>
<source><![CDATA[]]></source>
<year>2008</year>
<conf-name><![CDATA[ Future Generation Communication and Networking Symposia]]></conf-name>
<conf-loc> </conf-loc>
<page-range>93 - 98</page-range></nlm-citation>
</ref>
<ref id="B20">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Iborra]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Caceres]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[Ortiz]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
<name>
<surname><![CDATA[Franco]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Palma]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[Alvarez]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Design of Service Robots: Experiences Using Software Engineering]]></article-title>
<source><![CDATA[IEEE Robotics & Automation Magazine]]></source>
<year>2009</year>
<numero>1070-9932/09</numero>
<issue>1070-9932/09</issue>
<page-range>24 - 33</page-range><publisher-name><![CDATA[IEEE]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B21">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Jawawi]]></surname>
<given-names><![CDATA[D.N.A]]></given-names>
</name>
<name>
<surname><![CDATA[Deris]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Mamat]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<source><![CDATA[Early-life cycle reuse approach for component- based software of autonomous mobile robot system]]></source>
<year></year>
<conf-name><![CDATA[ Software Engineering, Artificial Intelligence, Net-working, and Parallel/Distributed Computing]]></conf-name>
<conf-loc> </conf-loc>
<page-range>263 - 268</page-range></nlm-citation>
</ref>
<ref id="B22">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Jorges]]></surname>
<given-names><![CDATA[Sven]]></given-names>
</name>
<name>
<surname><![CDATA[Kubczak]]></surname>
<given-names><![CDATA[Christian]]></given-names>
</name>
<name>
<surname><![CDATA[Pageau]]></surname>
<given-names><![CDATA[Felix]]></given-names>
</name>
<name>
<surname><![CDATA[Margaria]]></surname>
<given-names><![CDATA[Tiziana]]></given-names>
</name>
</person-group>
<source><![CDATA[Model driven design of reliable robot control programs using the JABC]]></source>
<year></year>
<conf-name><![CDATA[ Fourth IEEE International Workshop on]]></conf-name>
<conf-date>2007</conf-date>
<conf-loc> </conf-loc>
<page-range>137-148</page-range></nlm-citation>
</ref>
<ref id="B23">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Jung]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
<name>
<surname><![CDATA[Kapoor]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[Batory]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
</person-group>
<source><![CDATA[Automatic code generation for actuator interfacing from a declarative specification Intelligent Robots and Systems]]></source>
<year></year>
<conf-name><![CDATA[ IEEE/RSJ International Conference on]]></conf-name>
<conf-date>2005</conf-date>
<conf-loc> </conf-loc>
<page-range>2839 - 2844</page-range></nlm-citation>
</ref>
<ref id="B24">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kitchenham]]></surname>
<given-names><![CDATA[B.A]]></given-names>
</name>
<name>
<surname><![CDATA[Charters]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<source><![CDATA[Guidelines for performing systematic literature reviews in software Engineering Technical]]></source>
<year>2007</year>
<volume>EBSE-2007-01</volume>
</nlm-citation>
</ref>
<ref id="B25">
<nlm-citation citation-type="">
<collab>Microsoft</collab>
<source><![CDATA[Microsoft robotics developer studio]]></source>
<year>Marc</year>
<month>h </month>
<day>11</day>
</nlm-citation>
</ref>
<ref id="B26">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Min Yang]]></surname>
<given-names><![CDATA[Jung]]></given-names>
</name>
<name>
<surname><![CDATA[Deguet]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Kazanzides]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
</person-group>
<source><![CDATA[A component-based architecture for flexible integration of robotic systems Intelligent Robots and Systems]]></source>
<year></year>
<conf-name><![CDATA[ International Conference on]]></conf-name>
<conf-loc> </conf-loc>
<page-range>6107 - 6112</page-range></nlm-citation>
</ref>
<ref id="B27">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Nesnas]]></surname>
<given-names><![CDATA[I]]></given-names>
</name>
<name>
<surname><![CDATA[Wright]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Bajracharya]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Simmons]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[Estlin]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[CLARAty and challenges of developing interoperable robotic software]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<volume>3</volume>
<conf-name><![CDATA[ Proceedings of 2003 IEEE/RSJ International Conference on Intelligent Robots and Systems]]></conf-name>
<conf-loc> </conf-loc>
<page-range>2428-2435</page-range></nlm-citation>
</ref>
<ref id="B28">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Pons]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[Giandini]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[Pérez]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
</person-group>
<source><![CDATA[Desarrollo de software dirigido por modelos. Teorías, Metodologías y Herramientas]]></source>
<year></year>
<publisher-name><![CDATA[McGraw-Hill Education]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B29">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Sanchez]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[Alonso]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[Rosique]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
<name>
<surname><![CDATA[Alvarez]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
<name>
<surname><![CDATA[Pastor]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Introducing safety requirements traceability support in model-driven development of robotic applications]]></article-title>
<source><![CDATA[Computers, IEEE Transactions on Issue]]></source>
<year>2010</year>
<volume>99</volume>
</nlm-citation>
</ref>
<ref id="B30">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Schlegel]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Communication patterns as key towards component interoperability]]></article-title>
<person-group person-group-type="editor">
<name>
<surname><![CDATA[Brugali]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
</person-group>
<source><![CDATA[Software Engineering for Experimental Robotics]]></source>
<year></year>
<volume>30</volume>
<page-range>183-210</page-range><publisher-loc><![CDATA[Heidelberg ]]></publisher-loc>
<publisher-name><![CDATA[Springer-Verlag]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B31">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Schlegel]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[Haßler]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
<name>
<surname><![CDATA[Lotz]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Steck]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<source><![CDATA[Robotic software systems: from code-driven to model-driven designs]]></source>
<year>2009</year>
<conf-name><![CDATA[ ICAR 2009. International Conference on Advanced Robotics]]></conf-name>
<conf-loc> </conf-loc>
<publisher-name><![CDATA[IEEE Press]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B32">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Stahl]]></surname>
<given-names><![CDATA[M Voelter]]></given-names>
</name>
</person-group>
<source><![CDATA[Model Driven Software Development]]></source>
<year>2006</year>
<publisher-name><![CDATA[John Wiley]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B33">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Steven]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
<name>
<surname><![CDATA[Juha-Pekka]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
</person-group>
<source><![CDATA[Domain-Specific Modeling]]></source>
<year>2008</year>
<publisher-name><![CDATA[John Wiley & Sons, Inc]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B34">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Szyperski]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
</person-group>
<source><![CDATA[Component software: beyond object-oriented programming]]></source>
<year>2002</year>
<edition>2</edition>
<publisher-loc><![CDATA[Boston ]]></publisher-loc>
<publisher-name><![CDATA[Addison-Wesley Professional]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B35">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Tsai]]></surname>
<given-names><![CDATA[W.T]]></given-names>
</name>
<name>
<surname><![CDATA[Qian]]></surname>
<given-names><![CDATA[Huang]]></given-names>
</name>
<name>
<surname><![CDATA[Xin]]></surname>
<given-names><![CDATA[Sun]]></given-names>
</name>
</person-group>
<source><![CDATA[A collaborative service-oriented simulation framework with Microsoft robotic studio simulation symposium]]></source>
<year>2008</year>
<conf-name><![CDATA[ 41st Annual Digital Object Identifier]]></conf-name>
<conf-loc> </conf-loc>
<page-range>263 - 270</page-range></nlm-citation>
</ref>
<ref id="B36">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hongxing]]></surname>
<given-names><![CDATA[Wei]]></given-names>
</name>
<name>
<surname><![CDATA[Xinming]]></surname>
<given-names><![CDATA[Duan]]></given-names>
</name>
<name>
<surname><![CDATA[Shiyi]]></surname>
<given-names><![CDATA[Li]]></given-names>
</name>
<name>
<surname><![CDATA[Guofeng]]></surname>
<given-names><![CDATA[Tong]]></given-names>
</name>
<name>
<surname><![CDATA[Tianmiao]]></surname>
<given-names><![CDATA[Wang]]></given-names>
</name>
</person-group>
<source><![CDATA[A component based design framework for robot software architecture]]></source>
<year>2009</year>
<conf-name><![CDATA[ Intelligent Robots and Systems, 2009]]></conf-name>
<conf-loc> </conf-loc>
<page-range>3429 - 3434</page-range></nlm-citation>
</ref>
</ref-list>
</back>
</article>
