La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "Metodología de diseño de HW/SW basada en la notación UML y SystemC"— Transcripción de la presentación:

1 Metodología de diseño de HW/SW basada en la notación UML y SystemC
Blanca Alicia Correa Montes Grupo de Microelectrónica y Control Facultad de Ingeniería Universidad de Antioquia

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

3 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.

4 Revisión de conceptos generales

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

6 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

7 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

8 Avances

9 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

10 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)

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

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

13 Transformación de diagramas de clases

14 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

15 Transformación de diagramas de estructura compuesta

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

17 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

18 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

19 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

20 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)

21 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.

22 Diagrama de clases

23 Diagrama de estructura compuesta

24 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

25 Proyecto de Maestría

26 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.

27 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

28 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.

29 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.

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

31 Error en el código generado en SystemC

32 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.

33 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

34 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.

35 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.

36 Gracias

37 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 pp [Nguyen04] K. Nguyen, Z. Sun, P. Thiagarajan and W.-F. Wong, “Model-driven SoC design via executable UML to SystemC”. Proc. of RTSS pp [Xi05] C. Xi, L. JianHua, Z. ZuCheng, S. YaoHui. “Modeling SystemC design in UML and automatic code generation”. Proc. of ASP-DAC 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 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 pp. 245. [UML] UML Resource Page. [SystemC] SystemC home page. [OMG] OMG home page. [OCL] OMG. UML 2.0 OCL Specification, ptc/ [AES] NIST, Federal Information Processing Standards 197, Advanced Encryption Standard, 2001.Disponible online: pdf. [SysML] SysML Partners web site. [MARTE] INRIA. The UML profile MARTE for Real-Time and Embedded Systems Design. Disponible online: [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 [UML for SoC] Fujitsu Limited, IBM, NEC. A UML Extension Profile for SoC. Draft RFC to 0MG, [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 pp. 704. [EA] The Enterprise Architect tool: [Eclipse] Eclipse home page.


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

Presentaciones similares


Anuncios Google