1 / 27

Implementación de la tecnología de componentes CCM en lenguaje C/C++ y sobre la plataforma LINUX

Implementación de la tecnología de componentes CCM en lenguaje C/C++ y sobre la plataforma LINUX. Grupo Computadores y Tiempo Real Universidad de Cantabria. Director: Julio Medina Pasaje. Realizado por: Helder Castro. Master en Computación Septiembre 2008. Contexto del trabajo.

jeri
Download Presentation

Implementación de la tecnología de componentes CCM en lenguaje C/C++ y sobre la plataforma LINUX

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Implementación de la tecnología de componentes CCM en lenguaje C/C++ y sobre la plataforma LINUX Grupo Computadores y Tiempo Real Universidad de Cantabria Director: Julio Medina Pasaje Realizado por: Helder Castro Master en Computación Septiembre 2008

  2. Contexto del trabajo Lenguaje de programación C/C++ Plataforma LINUX Componente de entrada/salida Middleware ICE

  3. Metodología de componentes es poder construir aplicaciones ensamblando módulos software reutilizables Aplicaciones distribuidas, requieren un middleware de comunicación Middleware Ice de ZeroC

  4. Acceso de entrada/salida al Hardware Aplicaciones Usuario Componente Espacio usuario Interfaz llamada al sistema (comedilib) Comedi Espacio Kernel Hardware Plataforma Hardware

  5. Desarrollo del componente daIOCard dentro de la tecnología ICE-CCM para gestionar una tarjeta Implementar la tecnología ICE-CCM para componentes desarrollados en el lenguaje C/C++ Probar los drivers de software abierto Comedi Disponer de un componente de entrada/salida para señales digitales y analógicas daIOCardMng managingPort iDigitalIO digitalPort daIOCard pollingThread configData: String analogPort iAnalogIO Objetivos del trabajo PeriodicActivation

  6. D&C Component Interface description (.ccd.xml file) Slice Interface description (.ice.xml file) Code of Business Component Component Business Interface Non-functional Model (.mdl.xml files)   D&C Component Implementation description(.cid.xml file)  Realizado por un operador Generado por una herramienta Functional and Non-functional metadata (.pcd.xml file) PCI9111 IOCard.deb Proceso de desarrollo de un componente Domain Experience Specifier Developer    Packager

  7. Aplicación <<D&C>> Especificación componente Experiencia previas Especificador <<Slice>> Especificación componente Especificación interfaz <<Ext-D&C>> Especificación no funcional Especificación del componente Especificación del componente daIOCard • Describe su funcionalidad externa • Analizar aplicaciones previas dentro de un dominio

  8. <<interface>> daIOCard_mng daIOCard_mng getDigitalIOPort(): iDigitalIO* getAnalogIOPort(): iAnalogIO* setConfigData(config: string) getConfigData():String daIOCard digitalIOPort daIOCard iDigitalIO configData:String analogIOPort iAnalogIO pollingThread <<interface>> PeriodicActivation update() PeriodicActivation Elementos que definen la interfaz del componente daIOCard Interfaz de gestión Interfaz de activación periódica Tipos del dominio

  9. Interface iDigitalIO • La funcionalidad de los puertos que ofrece, se describe a través de las interfaces • La interfaz se describe en el lenguaje Slice

  10. Interfaz iAnalogIO

  11. Fichero io.ice

  12. Fichero daIOCard.ccd.xml

  13. Implementación PCI9111IOCard • Código de una implementación del componente, proporciona una solución a la funcionalidad del componente • No necesita ser experto en la adaptación del sistema • Los detalles del middleware • La implementación es independiente de la plataforma icePCI9111IOCard iDigitalIO PCI9111IOCard digitalIOPort configData:String analogIOPort iAnalogIO

  14. Elementos del código de negocio de un componente PCI9111IO Card_impl.h PCI9111IO Card_impl.cpp Io.h <<slice>> Io.ice <<R&D>> Io.cpp PCI9111IOCard .pcd.xml Io_Business.h • Implementar la funcionalidad de negocio del componente • Formular el modelo de comportamiento no funcional <<R&D>> daIOCard.ccd.xml ccmice.h PCI9111IOCard .cmd.xml Código de negocio de la Implementación PCI911IOCard Especificación del componente

  15. Estructura de la implementación del componente

  16. Estructura de la implementación del componente - acciones

  17. Espera de eventos basada en callback

  18. D&C Component Interface description (.ccd.xml file) Slice Interface description (.ice.xml file) Code of Business Component Component Business Interface Non-functional Model (.mdl.xml files)   D&C Component Implementation description(.cid.xml file)  Realizado por un operador Generado por una herramienta Functional and Non-functional metadata (.pcd.xml file) PCI9111 IOCard.deb Empaquetamiento del componente daIOCard Required functionality Specifier Developer    Packager

  19. Assembler Planner Executor  ExecutionManager  Functional requirements D&C Deployment Plan (.cdp.xml file) D&C Component Assembly description (.ccd.xml file) Main procedure (.exe files) Platform description &model (.pdm.xml files) Execution platform LauncherManager ComponentContainerGenerator Instaled component packages Proceso de desarrollo de una aplicación  Hand writen Tool generated

  20. Component instance Bussiness Component code (Opaque code) (Tool generate code) Component container code Platform El contenedor adapta el componente a la plataforma

  21. Estructura del contenedor Navigation Implementación Receptacles Events Contenedor CCMObject pollingThread PCI9111IOCard_Wrapper PeriodicActivation theImpl theExec Pci9111ioCard_Impl PCI9111IOCard_Exec

  22. Arquitectura del sistema de prueba

  23. Esquema del montaje de pruebas

  24. GUI pruebas

  25. Conclusiones • Se ha establecido el procedimiento que debe seguirse para deducir a partir de la especificación de un componente • Se ha propuesto la estructura que debe tener el contenedor que adapta el código de negocio para ser ejecutado en una plataforma LINUX • Se ha propuesto la estructura del elemento Executor

  26. Aspectos a realizar • Crear una herramienta para automatizar la creación de un componente • Hacer una analice temporal del comportamiento de la aplicación

  27. Gracias por su atención

More Related