350 likes | 628 Views
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
E N D
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.
Complejidad en el diseño de sistemas HW/SW en diferentes generaciones* *D.C Black and J. Donovan. SystemC fromGround 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. Lenguaje de modelado Unificado (UML) Proceso de transformación Librería de C++ para el diseño y la simulación de sistemas HW/SW. SystemC
UML-SystemC Grupo en UML de estereotipos, restricciones y valores etiquetadosque adicionan información específica de dominio al UML. Perfil de UML para SystemC correspondencia • Módulos • Canales • Interfaces • Puertos • Procesos Elementos de SystemC
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
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.
Selección de diagramas UML Definición de puertos Definición de canales Definición de Módulos Definición de Interfaces • Composite Structure Diagram • Permite describir la conexión de las partes en de un sistema.
Proceso de transformación UML-SystemC Modelo UML XMI Parser Estructura de datos SystemC Template TemplateEngine SystemC SkeletonCode
XMI Modelo UML <uml:Model xmi:type="uml:Model" name="EA_Model" visibility="public"> <packagedElementxmi:type="uml:Class" xmi:id="EAID_9C167732_1B1E_4716_8679_DBB61F5927DB" name="Counter" visibility="public"> <ownedOperationxmi:id="EAID_7B4C8906_2F20_4cf3_AFB3_11E8E3A9700E" name="do_inc" visibility="public" concurrency="sequential"/> </packagedElement> <thecustomprofile:sc_modulebase_Class="EAID_9C167732_1B1E_4716_8679_DBB61F5927DB"/> </uml:Model> XMI Estándar para el intercambio de modelos entre herramientas de UML
Proceso de parsing <uml:Model xmi:type="uml:Model" name="EA_Model" visibility="public"> <packagedElementxmi:type="uml:Class" xmi:id="EAID_9C167732_1B1E_4716_8679_DBB61F5927DB" name="Counter" visibility="public"> <ownedOperationxmi:id="EAID_7B4C8906_2F20_4cf3_AFB3_11E8E3A9700E" name="do_inc" visibility="public" concurrency="sequential"/> </packagedElement> <thecustomprofile:sc_modulebase_Class="EAID_9C167732_1B1E_4716_8679_DBB61F5927DB"/> </uml:Model> Parser Estructura de datos Parser Estructura de datos
TemplateEngine Estructura de datos SystemC Template Software o componente de software quecombinauno o variostemplates con un modelo de datosparaproducircomoresultadouno o variosdocumentos. TemplateEngine SystemC SkeletonCode
Herramientas UML: Plugin para enlazar Enterprise Architect con Eclipse SystemC: Plugin para Eclipse Parser y templateengine: Librerías de Python Eclipse: Integrateddevelopmentenvironment (IDE)
Caso de estudio: Cifrador AES (AdvancedEncryption 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.
Perfil de UML para SystemC • Se deben definir los estereotipos y las restricciones: • Tabla de estereotipos
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.
Experimento: Problemas de modelado en el proceso de diseño con UML, sus perfiles y 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.
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.