software de desarrollo para robótica

24
PREVIEW

Upload: cristian-castro

Post on 17-Nov-2015

5 views

Category:

Documents


2 download

DESCRIPTION

Software de desarrollo para robotica

TRANSCRIPT

  • PREV

    IEW

  • UMI Number:

    INFORMATION TO USERS

    The quality of this reproduction is dependent upon the quality of the copy

    submitted. Broken or indistinct print, colored or poor quality illustrations and

    photographs, print bleed-through, substandard margins, and improper

    alignment can adversely affect reproduction.

    In the unlikely event that the author did not send a complete manuscript

    and there are missing pages, these will be noted. Also, if unauthorized

    copyright material had to be removed, a note will indicate the deletion.

    ______________________________________________________________

    UMI Microform Copyright 2009 by ProQuest LLC

    All rights reserved. This microform edition is protected against unauthorized copying under Title 17, United States Code.

    _______________________________________________________________

    ProQuest LLC 789 East Eisenhower Parkway

    P.O. Box 1346 Ann Arbor, MI 48106-1346

    PREV

    IEW

  • DESARROLLO DE SOFTWARE PARA ROBOTS DE SERVICIO: UN ENFOQUEDIRIGIDO POR MODELOS Y ORIENTADO A COMPONENTES

    Esta memoria se presenta en cumplimiento de los requisitos exigidos para la obtencin delgrado de Doctor y la acreditacin de Doctorado Europeo, en el Departamento de Tecnologasde la Informacin y las Comunicaciones de la Universidad Politcnica de Cartagena. El trabajoque aqu se recoge se ha desarrollado durante el periodo comprendido entre marzo de 2.003y octubre de 2.007 bajo la supervisin de los Doctores Da. Brbara lvarez Torres y D. Juanngel Pastor Franco.

    PREV

    IEW

  • PREV

    IEW

  • Agradecimientos

    Siempre es difcil recordar a todas las personas que, en un momento u otro, se han cruzado en el largocamino que hay que recorrer para realizar una Tesis Doctoral. En primer lugar, quiero agradecer amis directores de Tesis, los doctores Da. Brbara lvarez Torres y D. Juan ngel Pastor Francopor su apoyo, supervisin y gua durante estos aos. Sin su ayuda no hubiera sido capaz de llevar acabo esta Tesis Doctoral. Tambin quiero agradecer al Dr. D. Andrs Iborra Garca el haberme dado laoportunidad de integrarme y trabajar en el grupo de investigacin Divisin de Sistemas e IngenieraElectrnica (DSIE) y a todos mis compaeros del rea de Lenguajes y Sistemas, especialmente a losdoctores D. Pedro Snchez Palma, D. Pedro Alcover Garau, D. Carlos Fernndez Andrs y D. JuanSuardaz Muro, por la orientacin, ayuda, compaa y amistad a lo largo de estos aos, as como aD. Pedro Navarro Lorente.

    Quiero dar especialmente las gracias a dos personas con las que he colaborado estrechamente paradesarrollar esta Tesis Doctoral. La primera de ellas es el Dr. D. Francisco Ortiz Zaragoza, cuya Tesissobre la arquitectura de referencia ACRoSeT ha servido de base al trabajo que se presenta. Con l ycon mis directores de Tesis he compartido largas horas discutiendo sobre robtica y puliendo variosaspectos de ACRoSeT y su traduccin. Y por otro lado, a la Dra. Da Cristina Vicente Chicote, conla que comenc a recorrer, con paso lento pero seguro, los caminos del meta-mundo, y con la quehe discutido largas horas sobre V3Studio. A todos ellos les doy las gracias por su amistad, gua ypaciencia.

    Por otro lado, tambin quiero darle las gracias al doctor D. Jean-Marc Jzquel, director delgrupo de investigacin Triskell en el Institut de Recherche en Informatique et Systmes Alatoires enRennes (Francia), y a todo su grupo, especialmente al Dr. D. Nol Plouzeau, Dr. D. Olivier Barais,Dr. D. Benoit Baudry, D. Didier Vojtisek, D. Franck Chauvel y D. Sbastien Saudrais, por habermeacogido cordialmente en Triskell durante el verano de 2.006, en el que tanto avanc en el desarrollo deesta Tesis Doctoral.

    Por ltimo, y ya fuera del mbito acadmico, quiero agradecer a mi familia y mis amigos el apoyo,comprensin y cario demostrados durante estos aos. Sin su apoyo y aliento no hubiera sido capazde acabar esta empresa. Y a Dios, porque con l todo es posible y sin l nada lo es.

    iii

    PREV

    IEW

  • PREV

    IEW

  • A mis padres, por su apoyo e inspiracin.

    PREV

    IEW

  • PREV

    IEW

  • Resumen

    Esta Tesis Doctoral contina la lnea de investigacin en el desarrollo desistemas robticos teleoperados iniciada por el grupo de investigacin DSIE dela Universidad Politcnica de Cartagena hace diez aos, y parte de los resultadosde otra Tesis anterior, en la que se desarroll una arquitectura de referencia parael control de robots de servicio teleoperados denominada ACRoSeT. ACRoSeTpropone una serie de componentes independientes de la plataforma de ejecucinpara disear la aplicacin de control de un robot. Esta independencia permitereutilizar componentes en distintas aplicaciones y traducir un mismo diseo adistintos lenguajes de programacin o utilizar diferentes frameworks robticos.ACRoSeT, sin embargo, no proporciona ninguna gua para realizar la traduccin delos componentes abstractos que forman la aplicacin de control a cdigo ejecutable.

    Esta Tesis Doctoral completa el enfoque propuesto por ACRoSeT utilizando elnovedoso desarrollo dirigido por modelos (Model-Driven Engineering, MDE) para(1) proponer una solucin a la ambigedad semntica y de implementacin dealgunos de los conceptos propuestos por ACRoSeT; (2) proporcionar una serie deherramientas para aumentar el nivel de abstraccin del desarrollador; (3) cambiarel proceso de traduccin manual de los componentes abstractos a cdigo ejecutablepor un proceso (semi-) automtico que elimine errores en la implementacin final y(4) permitir que el proceso de traduccin pueda ser extendido a diversos lenguajesde programacin e incluso frameworks robticos.

    Para lograr estos objetivos se ha desarrollado (1) un meta-modelo de componen-tes, denominado V3Studio, que contiene los conceptos del dominio de la robticadefinidos por ACRoSeT; (2) una transformacin entre V3Studio y UML que permitereducir la distancia semntica entre el diseo realizado y la implementacin final,facilitando de este modo el desarrollo posterior de distintas implementaciones enotros lenguajes de programacin y (3) una traduccin entre el modelo UML ycdigo, en este caso, Ada 2005. Como demostracin de la viabilidad del enfoque,esta Tesis Doctoral incluye el desarrollo del sistema de control de una mesacartesiana, realizado en el proyecto del VI Programa Marco Europeo EFTCoR.

    vii

    PREV

    IEW

  • PREV

    IEW

  • Abstract

    This Thesis continues the research line in the development of teleoperated roboticsystems initiated by the DSIE research group of the Technical University ofCartagena ten years ago and starts from the results of a previous Thesis, inwhich a reference architecture for teleoperated robotic systems, called ACRoSeT,was designed. ACRoSeT proposes a series of platform independent componentsfor designing the software control architecture of a robot. This independenceallows not only the reuse of these components among different applications butalso the translation to different programming languages or using different roboticframeworks. But ACRoSeT does not offer any guide regarding the softwareimplementation of the concepts it defines.

    The present Thesis completes the design of ACRoSeT using the newly Model-Driven Engineering (MDE) paradigm to (1) propose a solution to the semantic andimplementation ambiguity of some of the concepts defined by ACRoSeT; (2) raisethe level of abstraction used by the developer to design the software architectureof a robot using the concepts defined by ACRoSeT; (3) change the error-proneprocess of manual translation from the abstract ACRoSeT components to executablecode by a (semi-) automatic process that erases this source of errors from the finalimplementation; and (4) allow different implementations in different programminglanguages and even robotic frameworks.

    To achieve these objectives, this Thesis proposes (1) a component meta-model,called V3Studio, that contains all the concepts of the robotics domain defined byACRoSeT; (2) a model to model transformation between V3Studio and UML thatreduces the semantic distance between the component model and the final codeimplementation, and that also eases the development of different transformationsto different implementation languages; and (3) a model to text transformation totranslate the UML model to the Ada 2005 programming language. To demonstratethe viability of the proposed approach, this Thesis includes the development of thecontrol system of a XYZ cartesian robot, designed in the context of the VI EuropeanGrowth Programm EFTCoR.

    ix

    PREV

    IEW

  • PREV

    IEW

  • NDICE GENERAL

    ndice de figuras xvii

    ndice de cuadros xxi

    1 Planteamiento y objetivos 11.1 Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Motivacin y Justificacin . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    1.2.1 Sistemas robticos en el DSIE . . . . . . . . . . . . . . . . . . . . 91.2.2 Marco de desarrollo de la Tesis Doctoral . . . . . . . . . . . . . . 14

    1.3 Objetivos de la Tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.4 Estructura del Documento . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    2 Desarrollo basado en componentes 212.1 Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.2 Definicin de Componente Software . . . . . . . . . . . . . . . . . . . . 242.3 Fases de Desarrollo Software en CBD . . . . . . . . . . . . . . . . . . . . 27

    2.3.1 Seleccin y evaluacin de componentes . . . . . . . . . . . . . . 282.3.2 Adaptacin de componentes . . . . . . . . . . . . . . . . . . . . 302.3.3 Ensamblaje o integracin de componentes . . . . . . . . . . . . 302.3.4 Evolucin del sistema . . . . . . . . . . . . . . . . . . . . . . . . 31

    2.4 Modelos de Componentes . . . . . . . . . . . . . . . . . . . . . . . . . . 312.4.1 Caractersticas de un modelo de componentes . . . . . . . . . . 322.4.2 Modelos de componentes de propsito general . . . . . . . . . . 342.4.3 Otros modelos de componentes . . . . . . . . . . . . . . . . . . . 37

    2.5 Componentes de Terceros: COTS . . . . . . . . . . . . . . . . . . . . . . 392.6 Conclusiones y Aportaciones a la Tesis . . . . . . . . . . . . . . . . . . . 42

    3 Arquitectura software 453.1 Introduccin y Alcance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    xi

    PREV

    IEW

  • NDICE GENERAL

    3.1.1 Definicin de arquitectura software . . . . . . . . . . . . . . . . 473.1.2 Alcance y atributos de calidad . . . . . . . . . . . . . . . . . . . 49

    3.2 Diseo Arquitectnico del Software . . . . . . . . . . . . . . . . . . . . 503.2.1 Comunicacin entre componentes: conectores . . . . . . . . . . 513.2.2 Patrones arquitectnicos . . . . . . . . . . . . . . . . . . . . . . . 563.2.3 Vistas de una arquitectura . . . . . . . . . . . . . . . . . . . . . . 583.2.4 Lenguajes de descripcin de arquitectura . . . . . . . . . . . . . 593.2.5 Lenguajes orientados a componentes . . . . . . . . . . . . . . 633.2.6 Otras herramientas para disear arquitecturas . . . . . . . . . . 64

    3.3 Evaluacin y Evolucin Arquitectnica . . . . . . . . . . . . . . . . . . 653.4 Frameworks Arquitectnicos . . . . . . . . . . . . . . . . . . . . . . . . 66

    3.4.1 Frameworks de objetos . . . . . . . . . . . . . . . . . . . . . . . 673.4.2 Frameworks de componentes . . . . . . . . . . . . . . . . . . . . 70

    3.5 Conclusiones y Aportaciones a la Tesis . . . . . . . . . . . . . . . . . . . 71

    4 Desarrollo basado en modelos 734.1 Introduccin a MDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744.2 Representacin de la Realidad en MDE . . . . . . . . . . . . . . . . . . 76

    4.2.1 El concepto modelo en MDE . . . . . . . . . . . . . . . . . . . 774.2.2 El concepto meta-modelo en MDE . . . . . . . . . . . . . . . 794.2.3 Limitaciones del enfoque MDE: visin ontolgica . . . . . . . . 80

    4.3 Transformaciones de Modelos . . . . . . . . . . . . . . . . . . . . . . . . 824.4 Arquitectura Guiada por Modelos (MDA) . . . . . . . . . . . . . . . . . 854.5 Otras Herramientas Relacionadas . . . . . . . . . . . . . . . . . . . . . . 88

    4.5.1 Lenguajes especficos de dominio . . . . . . . . . . . . . . . . . 894.5.2 Factoras software . . . . . . . . . . . . . . . . . . . . . . . . . . 90

    4.6 Conclusiones y Aportaciones a la Tesis . . . . . . . . . . . . . . . . . . . 92

    5 Arquitecturas y frameworks de control de robots 935.1 Breve Historia de la Robtica . . . . . . . . . . . . . . . . . . . . . . . . 945.2 Arquitecturas de Control de Robots . . . . . . . . . . . . . . . . . . . . 96

    5.2.1 Arquitectura deliberativa o jerrquica . . . . . . . . . . . . . . . 965.2.2 Arquitectura reactiva . . . . . . . . . . . . . . . . . . . . . . . . . 985.2.3 Arquitectura hbrida . . . . . . . . . . . . . . . . . . . . . . . . . 100

    5.3 ltimas Tendencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035.4 Breve Descripcin de ACRoSeT . . . . . . . . . . . . . . . . . . . . . . . 1075.5 Conclusiones y Aportaciones a la Tesis . . . . . . . . . . . . . . . . . . . 112

    xii

    PREV

    IEW

  • NDICE GENERAL

    6 Diseo de V3Studio 1176.1 El Entorno de Desarrollo de V3Studio . . . . . . . . . . . . . . . . . . . 1186.2 El Modelo de Componentes V3Studio . . . . . . . . . . . . . . . . . . . 121

    6.2.1 Justificacin del enfoque . . . . . . . . . . . . . . . . . . . . . . . 1216.2.2 Descripcin general de V3Studio . . . . . . . . . . . . . . . . . . 124

    6.3 Visin General del Uso de V3Studio . . . . . . . . . . . . . . . . . . . . 1276.4 Vista Arquitectnica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

    6.4.1 Caractersticas de la EClass Component . . . . . . . . . . . . . . 1326.4.2 Tipos de definicin de componente . . . . . . . . . . . . . . . . . 1336.4.3 Puertos e interfaces en V3Studio . . . . . . . . . . . . . . . . . . 1356.4.4 Comunicacin entre componentes . . . . . . . . . . . . . . . . . 137

    6.5 Vista de Comportamiento . . . . . . . . . . . . . . . . . . . . . . . . . . 1396.5.1 Parametrizacin de la mquina de estados . . . . . . . . . . . . 1426.5.2 Modelado del comportamiento . . . . . . . . . . . . . . . . . . . 1446.5.3 Descripcin de los pseudo-estados modelados . . . . . . . . . . 1466.5.4 Macro-estados y regiones ortogonales . . . . . . . . . . . . . . . 147

    6.6 Vista Algortmica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1516.6.1 Descripcin general de la EClass Activity . . . . . . . . . . . 1536.6.2 Actividades atmicas o simples . . . . . . . . . . . . . . . . . . . 1546.6.3 Actividades complejas. Flujo de control . . . . . . . . . . . . . . 1566.6.4 Descripcin de los tipos de pseudo-actividad . . . . . . . . . . . 1586.6.5 Variabilidad en la implementacin . . . . . . . . . . . . . . . . . 159

    6.7 Otras Herramientas Alternativas . . . . . . . . . . . . . . . . . . . . . . 160

    7 Transformacin V3Studio a UML: de componentes a objetos 1637.1 Introduccin y Justificacin . . . . . . . . . . . . . . . . . . . . . . . . . 164

    7.1.1 Ejemplo de aplicacin de la transformacin . . . . . . . . . . . . 1667.2 Visin General de la Transformacin . . . . . . . . . . . . . . . . . . . . 167

    7.2.1 De componentes a objetos: el patrn Active Object . . . . . . . . 1687.2.2 Diagramas UML usados en la transformacin . . . . . . . . . . 1727.2.3 Justificacin del uso del diagrama de actividad . . . . . . . . . . 1757.2.4 V3Studio UML: estructura de la transformacin . . . . . . . . 177

    7.3 V3Studio UML: Vista Arquitectnica . . . . . . . . . . . . . . . . . . 1797.3.1 Descripcin de las clases base del framework . . . . . . . . . . . 1817.3.2 Transformacin de los componentes V3Studio . . . . . . . . . . 181

    7.3.2.1 Transformacin de un componente complejo . . . . . 1837.3.2.2 Otras transformaciones alternativas . . . . . . . . . . . 185

    7.3.3 Transformacin de los puertos V3Studio . . . . . . . . . . . . . . 186

    xiii

    PREV

    IEW

  • NDICE GENERAL

    7.3.3.1 Puertos en un SimpleComponentDefinition . . . 1877.3.3.2 Puertos en un ComplexComponentDefinition . . 1897.3.3.3 Catlogo de puertos . . . . . . . . . . . . . . . . . . . . 1907.3.3.4 Exposicin de algunos diseos alternativos . . . . . . 190

    7.3.4 Constructores de componentes y puertos . . . . . . . . . . . . . 1937.3.5 Operaciones de conexin de los puertos V3Studio . . . . . . . . 197

    7.3.5.1 Operacin getPort . . . . . . . . . . . . . . . . . . . . 1977.3.5.2 Operacin connect y setDelegationPort . . . . . 1997.3.5.3 Operacin disconnect . . . . . . . . . . . . . . . . . 2017.3.5.4 Operacin portLink . . . . . . . . . . . . . . . . . . . 201

    7.3.6 Operaciones de comunicacin entre componentes . . . . . . . . 2047.4 V3Studio UML: Vista Comportamiento . . . . . . . . . . . . . . . . . 2057.5 V3Studio UML: Vista Algortmica . . . . . . . . . . . . . . . . . . . . 210

    7.5.1 Transformacin de las actividades simples . . . . . . . . . . . . 2117.5.2 Transformacin de las actividades complejas . . . . . . . . . . . 213

    7.6 Resumen de la Transformacin . . . . . . . . . . . . . . . . . . . . . . . 214

    8 Aplicacin de V3Studio al control de una mesa XYZ 2178.1 Generacin de la Estructura del Cdigo . . . . . . . . . . . . . . . . . . 218

    8.1.1 Generacin de la infraestructura de apoyo . . . . . . . . . . . . 2198.1.2 Transformacin de las seales y eventos UML . . . . . . . . . . 2208.1.3 Transformacin de componentes y puertos . . . . . . . . . . . . 222

    8.2 Generacin de las Mquinas de Estados . . . . . . . . . . . . . . . . . . 2248.3 Aplicacin al Control de una Mesa XYZ . . . . . . . . . . . . . . . . . . 226

    8.3.1 El proyecto EFTCoR. Descripcin de la mesa XYZ . . . . . . . . 2268.3.2 Implementacin en V3Studio . . . . . . . . . . . . . . . . . . . . 229

    9 Conclusiones y trabajos futuros 2339.1 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2339.2 Aportaciones de esta Tesis Doctoral . . . . . . . . . . . . . . . . . . . . . 2369.3 Divulgacin de Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . 2379.4 Trabajos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

    A Restricciones OCL adicionales 243A.1 Vista Arquitectnica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244A.2 Vista de Comportamiento . . . . . . . . . . . . . . . . . . . . . . . . . . 249A.3 Vista Algortmica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254

    xiv

    PREV

    IEW

  • NDICE GENERAL

    B Una visin detallada de los diagramas de actividad 261B.1 Actividades y Acciones en UML . . . . . . . . . . . . . . . . . . . . . . 262B.2 Descripcin de las Clases Utilizadas . . . . . . . . . . . . . . . . . . . . 263

    B.2.1 Clases del Paquete Actividades . . . . . . . . . . . . . . . . . . . 263B.2.2 Clases del Paquete Acciones . . . . . . . . . . . . . . . . . . . . . 265

    B.3 ForkNode contra ActionInputPin . . . . . . . . . . . . . . . . . . . . . . 267

    Glosario de Acrnimos 271

    Bibliografa 277

    xv

    PREV

    IEW

  • PREV

    IEW

  • NDICE DE FIGURAS

    1.1 Estadsticas de la poblacin de robots en el mundo (World Robotics 2.006) 51.2 Distribucin de grupos de investigacin en Robtica en Europa . . . . 71.3 Robot ROSA para el mantenimiento de generadores de vapor . . . . . 101.4 Robots de recogida de objetos en una central nuclear . . . . . . . . . . 111.5 Maqueta del robot TRON . . . . . . . . . . . . . . . . . . . . . . . . . . 111.6 Prototipo de robot de limpieza para superficies de barco GOYA . . . . 121.7 EFTCoR: robots de limpieza trepadores para spotting . . . . . . . . . . 131.8 EFCToR: robot de limpieza full blasting . . . . . . . . . . . . . . . . . . . 13

    2.1 Desarrollo de una aplicacin basada en componentes COTS . . . . . . 282.2 Proceso de desarrollo de aplicaciones basadas en componentes . . . . . 292.3 El patrn de diseo por componentes . . . . . . . . . . . . . . . . . . . 33

    3.1 Evolucin del estudio de la arquitectura software . . . . . . . . . . . . 473.2 Influencia de entidades implicadas en el diseo de la aplicacin . . . . 493.3 Las cuatro clases de contratos entre componentes . . . . . . . . . . . . 56

    4.1 Megamodelo deMDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784.2 Relacin entre meta-modelo y modelo . . . . . . . . . . . . . . . . . . . 804.3 Distribucin en capas deMDE desde un punto de vista lingstico . . 814.4 Distribucin en capas deMDE desde un punto de vista ontolgico . . 814.5 Esquema de transformacin de modelos con meta-metamodelo comn 834.6 Estructura deMDA en comparacin conMDE . . . . . . . . . . . . . . 874.7 Esquema de una factora software . . . . . . . . . . . . . . . . . . . . . 91

    5.1 Algunos robots que marcaron un hito histrico . . . . . . . . . . . . . . 955.2 Arquitectura de control deliberativa . . . . . . . . . . . . . . . . . . . . 975.3 Arquitectura de control reactiva . . . . . . . . . . . . . . . . . . . . . . . 995.4 Arquitectura de control hbrida . . . . . . . . . . . . . . . . . . . . . . . 1015.5 La arquitectura de control CLARAty . . . . . . . . . . . . . . . . . . . . 104

    xvii

    PREV

    IEW

  • NDICE DE FIGURAS

    5.6 Diagrama conceptual del marco arquitectnico ACRoSeT . . . . . . . . 1095.7 Diagrama de componentes del marco arquitectnico ACRoSeT . . . . . 109

    6.1 Meta-modelo de EMF (Essential MOF) . . . . . . . . . . . . . . . . . . . 1196.2 Esquema del meta-modelo de V3Studio . . . . . . . . . . . . . . . . . . 1256.3 Esquema de paquetes de V3Studio . . . . . . . . . . . . . . . . . . . . . 1266.4 Extracto del meta-modelo de V3Studio que muestra la descripcin

    arquitectnica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1316.5 Ejemplo demodelado de un conector en V3Studio para desarrollar un

    sistema distribuido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1386.6 Extracto del meta-modelo de V3Studio quemuestra la descripcin del

    comportamiento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1416.7 Mquina de estados simplificada de una persona . . . . . . . . . . . . . 1496.8 Ejemplos de utilizacin del forkState . . . . . . . . . . . . . . . . . . 1506.9 Ejemplos de utilizacin del joinState . . . . . . . . . . . . . . . . . . 1516.10 Extracto del meta-modelo de V3Studio que muestra la descripcin

    algortmica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

    7.1 Diagrama de componentes ejemplo que se va a utilizar para ilustrarla transformacin V3Studio UML. . . . . . . . . . . . . . . . . . . . . 166

    7.2 Captura del entorno Eclipse que muestra la estructura de clasesV3Studio del ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

    7.3 Diagrama de clases del patrn Active Object . . . . . . . . . . . . . . . . 1717.4 Jerarqua de diagramas de UML . . . . . . . . . . . . . . . . . . . . . . 1737.5 Diagrama que muestra la relacin entre las clases que describen la

    estructura y el comportamiento en UML . . . . . . . . . . . . . . . . . . 1767.6 Diagrama de paquetes generado para el ejemplo de la figura 7.1 . . . . 1787.7 Diagrama de clases resultado de la transformacin V3Studio UML . 1847.8 Ejemplos de transformacin de distintos puertos V3Studio UML

    cuando estn contenidos en un componente simple . . . . . . . . . . . 1917.9 Ejemplos de transformacin de distintos puertos V3Studio UML

    cuando estn contenidos en un componente complejo. . . . . . . . . . . 1927.10 Diagramas de actividades que muestra la implementacin del cons-

    tructor de la clase fachada de un componente (Component_Def_XXX) 1957.11 Captura del entorno Eclipse que muestra la estructura de clases UML

    que describe la operacin SC_constructor_Impl. . . . . . . . . . . . 1957.12 Diagramas de actividades que muestra la implementacin del

    constructor de la clase real de un componente (XXX_Real) . . . . . . . 196

    xviii

    PREV

    IEW

  • NDICE DE FIGURAS

    7.13 Diagrama de actividades que muestra la implementacin del cons-tructor de un puerto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

    7.14 Diagramas de actividad tipo que describen la operacin getPort . . . 1987.15 Captura de pantalla del entorno Eclipse que muestra las clases UML

    que implementan el diagrama de actividad de la operacin getPort . 1997.16 Diagramas de actividad tipo que describen la operacin connect . . . 2007.17 Diagramas de actividad que describen la operacin disconnect . . . 2027.18 Diagrama de actividad que describe la operacin portLink . . . . . . 2037.19 Diagramas de actividad que describen la peticin de un servicio

    sncrono entre componentes . . . . . . . . . . . . . . . . . . . . . . . . . 2067.20 Diagramas de actividad que describen la peticin de un servicio

    asncrono entre componentes . . . . . . . . . . . . . . . . . . . . . . . . 2077.21 Diagrama de actividad que describe la operacin receiveSignal

    de un puerto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2077.22 Diagrama de actividad que describe la operacin sendSignal de un

    puerto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2077.23 Captura del entorno Eclipse que muestra la estructura de clases

    V3Studio de la mquina de estados de ejemplo . . . . . . . . . . . . . . 2097.24 Mquina de estados del componente SC una vez transformada . . . . . 2107.25 Transformacin de la actividad simple ServiceCall . . . . . . . . . . 2127.26 Transformacin de la actividad simple ForwardService . . . . . . . 214

    8.1 Distintas formas del casco de un barco: proa (izquierda), banda(central) y bajos (derecha) . . . . . . . . . . . . . . . . . . . . . . . . . . 227

    8.2 Robot cartesiano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288.3 Arquitectura hardware de la mesa XYZ. . . . . . . . . . . . . . . . . . . 2288.4 Arquitectura de control del robot cartesiano. . . . . . . . . . . . . . . . 2308.5 Interfaz grfica de usuario desarrollada en Java para controlar el

    robot cartesiano. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231

    9.1 Esquema de desarrollo del proyecto MEDWSA, en el que puedeobservarse el papel central que desempea V3Studio. . . . . . . . . . . 241

    B.1 Meta-modelo simplificado del paquete de actividades de UML . . . . . 264B.2 Meta-modelo simplificado del paquete de acciones de UML . . . . . . 266B.3 Ejemplo comparativo entre el uso de ForkNode y ActionInputPin. 269

    xix

    PREV

    IEW

  • PREV

    IEW

  • NDICE DE CUADROS

    1.1 Prospeccin sobre el futuro de la robtica . . . . . . . . . . . . . . . . . 6

    2.1 Comparativa entre distintos modelos de componentes de propsitogeneral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    2.2 Clasificacin de componentes COTS . . . . . . . . . . . . . . . . . . . . 412.3 Componentes de desarrollo propio frente a componentes COTS . . . . 41

    3.1 Atributos de calidad del software (I) . . . . . . . . . . . . . . . . . . . . 503.2 Atributos de calidad del software (II) . . . . . . . . . . . . . . . . . . . . 513.3 Taxonoma de conectores software (I) . . . . . . . . . . . . . . . . . . . . 543.4 Taxonoma de conectores software (II) . . . . . . . . . . . . . . . . . . . 553.5 Caractersticas de modelado arquitectnico de un ADL . . . . . . . . . 603.6 Caractersticas del modelado de componentes de distintos ADLs . . . 613.7 Caractersticas del modelado de conectores de distintos ADLs . . . . . 62

    4.1 Ventajas e inconvenientes de desarrollar un DSL . . . . . . . . . . . . . 90

    5.1 Breve historia de la robtica . . . . . . . . . . . . . . . . . . . . . . . . . 94

    7.1 Descripcin de las interfaces del ejemplo . . . . . . . . . . . . . . . . . 167

    xxi

    PREV

    IEW

  • PREV

    IEW