Metodología de diseño de HW/SW basada en la notación UML y SystemC

Slides:



Advertisements
Presentaciones similares
Experiencia en implantación de una metodología
Advertisements

SISTEMAS DE INFORMACIÓN I
U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.
INGENIERÍA DE SOFTWARE Introducción Arquitectura de Software
Plan de Implantación Sistemas de Información III
CLASIFICACIÓN DE CLASES Orientación a objetos UNIVERSIDAD DEL VALLE DEL FUERTE Análisis y Diseño Orientado a Objetos Cañedo Encinas Fernando Onorat. Ingeniería.
Lenguaje Unificado de Modelado
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006.
Aplicación de MDA a la Ingeniería del Conocimiento
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006.
ANALISIS ESTRUCTURADO Ing. Sonia Godoy Hortua 1. E SPECIFICACIÓN DE REQUERIMIENTOS 1. Requerimientos funcionales y no funcionales 2. Especificación de.
Innovaciones de Modelado en una Software Factory
DESARROLLO E IMPLEMENTACIÓN DE UN PLUGIN DE GOOGLE WALLET PARA PAGOS ONLINE UTILIZANDO SOFTWARE OPEN SOURCE.
Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.
TOGAF.
GENERADOR SEMIAUTOMÁTICO DE DIAGRAMAS DE SECUENCIA A PARTIR DE ESCENARIOS REPRESENTADOS COMO GRAFOS DE SOWA Por: CLAUDIA MARÍA GÓMEZ FLÓREZ Director:
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
Ingeniería del Software
Ingeniería del Software
UNIDAD 1: “ Introducción al Lenguaje Unificado de Modelado ”
Andrés Acuña Steven Walker
© Manuel ColladoHerramientas software-1 Herramientas software Clasificación. Integración de herramientas.
DIAGRAMA DE COMPONENTES INTEGRANTES Córdova Vásquez Giovanny Escobar Alvares Calixto Gomez Quinteros Adelaida Pinto Flores Yarmila.
Requerimientos No Funcionales
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Modelado de Procesos en la Ingeniería de Requerimientos
I Taller sobre Desarrollo de Software Dirigido por Modelos, MDA y Aplicaciones (DSDM'04) MDA Aplicado: Una Gramática de Grafos para la Transformación de.
STARUML.
CS-434: Programación Orientada a Objetos usando Java Semana 1
INGENIERÍA DE SOFTWARE II RECOMENDACIONES PRÁCTICAS PARA LA ESPECIFICACIÓN DE REQUERIMIENTOS DE SOFTWARE Gabriel Tamura Norha M.
Análisis de Algoritmos
10 Metodologías de desarrollo Web
Ingeniería de Software
Sesión 5 Herramientas de creación de DSL gráficos (GMF)
Marta Zorrilla – Miguel Ángel Gutiérrez – Universidad de Cantabria
Fundamentos de programación
Tema I Arquitectura de Software. Arquitectura de software es un conjunto de reglas que definen la estructura de un sistema y las relaciones entre sus.
POR MARCO LEANDRO RUIZ ZAPATA. Start UML Unified Modeling Language lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad;
Poder Expresivo de UML 2.0 para especificar arquitecturas de Software
Contexto Proyecto consolidado dentro de la línea de investigación de Sistemas de Información en el Dpto. de Ingeniería en Sistemas de Información de la.
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006.
Introducción al modelado Unificado
Ingeniería de Software Asistida por Computadora
UML 2.0 Integrantes: Diana Carolina Valencia M. Jhon Fernando Lopez T. Carlos Alberto Castillo.
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA2006.
Importancia en la efectividad del:
Diseño de Software y su Proceso
Desarrollo de Software Orientado a Objetos (deficiencias)
Ámbito y Estimaciones de Proyecto ISF5501 Ingeniería de Software Semana 7/1.
ANÁLISIS Y DISEÑO DE SISTEMAS II
Introducción a UML Departamento de Informática Universidad de Rancagua
Conceptos Fundamentales
Ingeniería de Requisitos
DIAGRAMA DE SECUENCIA Y ACTIVIDADES.
Jairo Pinto Ing. sistemas
Taller de Sistemas de Programas Clase 6 Dpto. de Computación y T.I.
UML.
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Técnica: es un procedimiento o conjunto de procedimientos, (reglas normas o protocolos), que tienen como objetivo obtener un resultado determinado, ya.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Presentación del cursoInformática I (2015-2) Departamento de Ingeniería Electrónica y de Telecomunicaciones Facultad de Ingeniería Informática I.
Modelado Orientado a Objetos Programación Orientada a Objetos Departamento de Sistemas Universidad del Cauca 2006.
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
Entorno de Recomendación para el Desarrollo de Objetos de Aprendizaje Manuel E. Prieto Universidad de Castilla-La Mancha, España Victor H. Menéndez Universidad.
Cómo aumentar la productividad a través de las tecnologías de modelado Adrián Noguero
VERIFICACIÓN Y VALIDACIÓN DE SISTEMAS 3.10 Fase de manejo de requerimientos 4.1 Modelado de pruebas en UML Ponente: ing. Alejandro tapia vazquez.
Universidad Nacional de Ingeniería Comprendiendo los Fundamentos de
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA2006.
Transcripción de la presentación:

Metodología de diseño de HW/SW basada en la notación UML y SystemC Blanca Alicia Correa Montes blanca@microe.udea.edu.co Grupo de Microelectrónica y Control Facultad de Ingeniería Universidad de Antioquia

Contenido Objetivos Revisión de conceptos Avances Proyecto de Maestría Conclusiones Trabajo futuro

Objetivos del proyecto General: Establecer criterios para una metodología de modelado HW/SW basada en la notación UML y SystemC. Específicos: Evaluar la notación UML para el modelado de Hardware/Software. Analizar semánticamente las relaciones entre la notación UML y el código SystemC. Definir una estrategia de traducción de modelos descritos en UML a código SystemC. Realizar una prueba de los criterios establecidos para una metodología a partir del uso de modelos de hardware concretos.

Revisión de conceptos generales

Complejidad en el diseño de sistemas HW/SW en diferentes generaciones* *D.C Black and J. Donovan. SystemC from Ground Up. Boston. 2004

Flujo de diseño con UML y SystemC Lenguaje gráfico de modelado para la especificación, visualización, construcción y documentación de sistemas. Librería de C++ para el diseño y la simulación de sistemas HW/SW. Lenguaje de modelado Unificado (UML) SystemC Proceso de transformación

Perfil de UML para SystemC UML-SystemC Grupo en UML de estereotipos, restricciones y valores etiquetados que adicionan información específica de dominio al UML. Perfil de UML para SystemC correspondencia Módulos Canales Interfaces Puertos Procesos Elementos de SystemC

Avances

Avances Estado del arte, estudio de UML y SystemC Selección de diagramas UML Avances Proceso de transformación UML-SystemC Elaboración de casos de estudio Perfil de UML para SystemC

Estado del arte Perfiles de UML para Metodologías de transformación YAML (Sinha00) SLOOP (Zhu02) RT2SystemC (Tan04) Rhapsody (Nguyen04) UMLSC (Xi05) Using UML 2.0 for System Level Design of Real Time SoC Platforms for Stream Processing (Zhu05) A MDA based SoC Modeling Approach using UML and SystemC (Wang06) Perfiles de UML para sistemas HW/SW SysML (OMG) MARTE (THALES; INRIA; CEA) TUT (Tampere University of Technology, Finland; Nokia Research Center) UML for SoC (Fujitsu; IBM) UML 2.0 for SystemC (STMicroelectronics; University of Catania, Italia)

Herramienta de modelado para UML: Enterprise Architect EA ofrece soporte para los 13 diagramas de UML 2.1, mecanismos de extensión y plugins.

Selección de diagramas UML Diagrama de Clases Permite describir la estructura de un sistema, y los atributos y las operaciones de las clases.

Transformación de diagramas de clases

Selección de diagramas UML Composite Structure Diagram Permite describir la conexión de las partes en de un sistema. Definición de puertos Definición de Módulos Definición de Interfaces Definición de canales

Transformación de diagramas de estructura compuesta

Proceso de transformación UML-SystemC Modelo UML XMI Parser Template Engine Estructura de datos SystemC Template SystemC Skeleton Code

XMI Modelo UML <uml:Model xmi:type="uml:Model" name="EA_Model" visibility="public"> <packagedElement xmi:type="uml:Class" xmi:id="EAID_9C167732_1B1E_4716_8679_DBB61F5927DB" name="Counter" visibility="public"> <ownedOperation xmi:id="EAID_7B4C8906_2F20_4cf3_AFB3_11E8E3A9700E" name="do_inc" visibility="public" concurrency="sequential"/> </packagedElement> <thecustomprofile:sc_module base_Class="EAID_9C167732_1B1E_4716_8679_DBB61F5927DB"/> </uml:Model> XMI Estándar para el intercambio de modelos entre herramientas de UML

Proceso de parsing Parser Parser Estructura de datos <uml:Model xmi:type="uml:Model" name="EA_Model" visibility="public"> <packagedElement xmi:type="uml:Class" xmi:id="EAID_9C167732_1B1E_4716_8679_DBB61F5927DB" name="Counter" visibility="public"> <ownedOperation xmi:id="EAID_7B4C8906_2F20_4cf3_AFB3_11E8E3A9700E" name="do_inc" visibility="public" concurrency="sequential"/> </packagedElement> <thecustomprofile:sc_module base_Class="EAID_9C167732_1B1E_4716_8679_DBB61F5927DB"/> </uml:Model> Estructura de datos Parser Parser Estructura de datos

Template Engine Template Engine Estructura de datos SystemC Template Software o componente de software que combina uno o varios templates con un modelo de datos para producir como resultado uno o varios documentos. Template Engine SystemC Skeleton Code

Herramientas UML: Plugin para enlazar Enterprise Architect con Eclipse SystemC: Plugin para Eclipse Parser y template engine: Librerías de Python Eclipse: Integrated development environment (IDE)

Caso de estudio: Cifrador AES (Advanced Encryption Standard) AES: Especifica un algoritmo de encriptación empleado para proteger datos electrónicos. El algoritmo AES es un esquema de cifrado por bloques que puede encriptar y desencriptar información.

Diagrama de clases

Diagrama de estructura compuesta

Perfil de UML para SystemC Se deben definir los estereotipos y las restricciones: Tabla de estereotipos Elementos de SystemC Elemento en UML Estereotipo Módulo Clase sc_module Canal sc_channel Puerto sc_port Interfaz sc_interface Conector sc_connector Proceso Métodos de las clases sc_method sc_thread sc_cthread

Proyecto de Maestría

Situación problemática Las transformaciones de UML a SystemC presentadas hasta el momento no incluyen la verificación de los diagramas descritos mediante perfiles de UML para SystemC. Debido a que UML es un lenguaje de naturaleza informal, los diseños pueden presentar problemas de inconsistencia.

Situación problemática Propuesta: Plantear un proceso para la verificación de la consistencia en diseños UML 2.0 orientados al dominio de los SE requiere La definición de restricciones en el perfil de UML para SystemC permite Modelos adecuados para la generación de código SystemC

Objetivos General: Plantear un método de análisis de la consistencia en el diseño de Sistemas Embebidos (SE) basado en la notación UML 2.0, sus perfiles y SystemC. Específicos: Analizar los métodos y herramientas basadas en UML 2.0, sus perfiles y SystemC para el diseño de SE. Plantear un proceso de verificación de la consistencia para el diseño de SE con la notación UML 2.0, sus perfiles y SystemC. Validar el proceso de verificación mediante casos de estudio.

Estrategia Se plantean diferentes tipos de configuraciones en los diagramas de clases y de estructura compuesta. Se hacen pruebas en SystemC para determinar si estas configuraciones generan errores al compilar el código. De acuerdo a esta experimentación se define un conjunto de reglas en lenguaje natural para el modelado de SE con los diagramas de clases y de estructura compuesta. Las reglas establecidas se expresan mediante OCL, el cual es un lenguaje formal para describir las restricciones en los modelos de UML. Las restricciones en OCL se chequean mediante una herramienta que chequee restricciones OCL. Se realimenta la información sobre el chequeo de las restricciones al modelo en UML. Se transforma el modelo UML a código SystemC. Se prueba que el código no genere errores en la compilación.

Experimento: Problemas de modelado en el proceso de diseño con UML, sus perfiles y SystemC

Error en el código generado en SystemC

Lista de restricciones para la verificación de la consistencia Módulos Dos módulos no pueden tener el mismo nombre. En un módulo no se pueden dejar puertos desconectados. Puertos Un puerto requiere la definición de una interfaz. Un puerto de un módulo hijo contenido en un módulo padre no se puede conectar a un módulo externo directamente. Se debe conectar primero al puerto del módulo padre. No se puede conectar un puerto directamente a un canal. Se debe conectar a través de una interfaz.

Lista de restricciones para la verificación de la consistencia Interfaces En una interfaz sólo se pueden definir operaciones. Las interfaces no deben poseer atributos. Las operaciones de una interfaz deben ser públicas. No se puede realizar la conexión directa de una interfaz entre dos módulos sin definir los puertos en cada uno. Una interfaz es requerida a través de puertos. 33

Conclusiones Las metodologías de diseño que emplean UML y SystemC requieren que se defina: Un perfil que agregue estereotipos y restricciones a los diseños en UML para que presenten correspondencia con la notación SystemC. Un método de transformación que procese la información de la notación gráfica UML y la convierta a código SystemC.

Trabajo futuro Implementar el método de transformación propuesto mediante las herramientas sugeridas (EA, librerías de Python, plugins para Eclipse). Expresar las reglas para el chequeo de la consistencia en OCL (Object Constraint Languaje) y aplicarlas a los modelos en UML. Desarrollar más casos de estudio con el fin de validar la implementación del método de transformación.

Gracias

Referencias [Sinha00] V. Sinha, F. Doucet, C. Siska, R. Gupta, S. Liao and A. Ghosh, “YAML: a tool for hardware design visualization and capture”, System Synthesis, 2000. [Zhu02] Q. Zhu, A. Matsuda, N. Kuwamura, T. Nakata and M. Shoji, "An object-oriented design process for System-on-Chip using UML", Proc. of the 15 th Int. Symposium on System Synthesis. 2002. pp. 249-254. [Nguyen04] K. Nguyen, Z. Sun, P. Thiagarajan and W.-F. Wong, “Model-driven SoC design via executable UML to SystemC”. Proc. of RTSS. 2004. pp. 459. [Xi05] C. Xi, L. JianHua, Z. ZuCheng, S. YaoHui. “Modeling SystemC design in UML and automatic code generation”. Proc. of ASP-DAC. 2005. pp. 932. [Zhu05] Y. Zhu, Z. Sun, A. Maxiaguine and W. Wong. “Using UML 2.0 for System Level Design of Real Time SoC Platforms for Stream Processing”. Proc. of RTCSA. Vol. 00. 2005. pp. 154. [Wang06] Y. Wang, X. Zhou, B. Zhou, L. Liang and C. Peng. “A MDA based SoC Modeling Approach using UML and SystemC”. Proc. of CIT. Vol. 00. 2006. pp. 245. [UML] UML Resource Page. http://www.uml.org. [SystemC] SystemC home page. http://www.systemc.org [OMG] OMG home page. http://www.omg.org [OCL] OMG. UML 2.0 OCL Specification, ptc/03-10-14. [AES] NIST, Federal Information Processing Standards 197, Advanced Encryption Standard, 2001.Disponible online: http://csrc.aist.gov/publications/fipdfips197/fips-1 97. pdf. [SysML] SysML Partners web site. http://www.sysml.org/ [MARTE] INRIA. The UML profile MARTE for Real-Time and Embedded Systems Design. Disponible online: http://ralyx.inria.fr/2006/Raweb/espresso/uid57.html [TUT] P. Kukkala, J. Riihimäki, M. Hännikäinen, T. D. Hämäläinen, K. Kronlöf . “UML 2.0 Profile for Embedded System Design”. DATE. 2005. [UML for SoC] Fujitsu Limited, IBM, NEC. A UML Extension Profile for SoC. Draft RFC to 0MG, 2005-01-01. [UML 2.0 for SystemC] E. Riccobene, P. Scandurra, A. Rosti and S. Bocchio. “A SoC Design Methodology Involving a UML 2.0 Profile for SystemC”. DATE. Vol. 2. 2005. pp. 704. [EA] The Enterprise Architect tool: www.sparxsystems.com.au/ [Eclipse] Eclipse home page. http://www.eclipse.org