Metodolog�a de dise�o de HW/SW basada en la notaci�n UML y SystemC by IKbImvd8

VIEWS: 31 PAGES: 35

									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:
    1. Evaluar la notación UML para el modelado de
       Hardware/Software.
    2. Analizar semánticamente las relaciones entre la notación UML y
       el código SystemC.
    3. Definir una estrategia de traducción de modelos descritos en
       UML a código SystemC.
    4. 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      Lenguaje de
la especificación,      modelado
visualización,       Unificado (UML)
construcción
y documentación
 de sistemas.
                        Proceso de
                      transformación

Librería de C++
para el diseño
y la simulación        SystemC
de sistemas
HW/SW.
            UML-SystemC
Grupo en UML de
estereotipos,
restricciones y valores   Perfil de UML
etiquetados que           para SystemC
adicionan información
específica de dominio
al UML.


                                   correspondencia



  •Módulos
  •Canales
  •Interfaces             Elementos de
  •Puertos                  SystemC
  •Procesos
AVANCES
          Estado del arte,
          estudio de UML
             y SystemC


           Selección de
          diagramas UML


            Proceso de
Avances   transformación
          UML-SystemC


          Elaboración de
             casos de
              estudio



           Perfil de UML
           para SystemC
Estado del arte
      Metodologías de                 Perfiles de UML para
      transformación                    sistemas HW/SW
        YAML (Sinha00)
        SLOOP (Zhu02)                       SysML (OMG)

     RT2SystemC (Tan04)
                                   MARTE (THALES; INRIA; CEA)
     Rhapsody (Nguyen04)
        UMLSC (Xi05)                 TUT (Tampere University of
                                  Technology, Finland; Nokia Research
Using UML 2.0 for System Level
                                                Center)
    Design of Real Time SoC
Platforms for Stream Processing
                                     UML for SoC (Fujitsu; IBM)
            (Zhu05)
  A MDA based SoC Modeling             UML 2.0 for SystemC
   Approach using UML and          (STMicroelectronics; University of
      SystemC (Wang06)                      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 canales
Definición de puertos




                        Definición de Módulos   Definición de Interfaces
Transformación de diagramas de
estructura compuesta
Proceso de transformación UML-SystemC
     Modelo UML



         XMI


        Parser


   Estructura de datos                     SystemC Template


                         Template Engine


                            SystemC
                         Skeleton Code
        XMI
            Modelo UML



                         <uml:Model xmi:type="uml:Model" name="EA_Model"
                         visibility="public">
                         <packagedElement xmi:type="uml:Class"
                   XMI   xmi:id="EAID_9C167732_1B1E_4716_8679_DBB61F59
Estándar para el         27DB" name="Counter" visibility="public">
                         <ownedOperation
intercambio de           xmi:id="EAID_7B4C8906_2F20_4cf3_AFB3_11E8E3A9
modelos entre            700E" name="do_inc" visibility="public"
herramientas de          concurrency="sequential"/>
UML                      </packagedElement>
                         <thecustomprofile:sc_module
                         base_Class="EAID_9C167732_1B1E_4716_8679_DBB6
                         1F5927DB"/>
                         </uml:Model>
              Proceso de parsing
<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_DBB61F5927
DB"/>
</uml:Model>


                                                                    Parser
                           Parser
                                                               Estructura de datos


                  Estructura de datos
         Template Engine




                Estructura de datos              SystemC Template


Software o componente
de software que combina
                                      Template
uno o varios templates                 Engine
con un modelo de datos
para producir como
resultado uno o varios
documentos.                          SystemC
                                  Skeleton Code
Herramientas
UML:
                            SystemC:            Parser y
Plugin para enlazar
                            Plugin para         template engine:
Enterprise Architect
                            Eclipse             Librerías de Python
con Eclipse



              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                  Clase             sc_channel
            Puerto                 Puerto             sc_port
           Interfaz               Interfaz          sc_interface
           Conector               Conector          sc_connector
                                                     sc_method
           Proceso          Métodos de las clases    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:               requiere       La definición de
   Plantear un proceso para la
                                                restricciones en el perfil
verificación de la consistencia en
                                                 de UML para SystemC
 diseños UML 2.0 orientados al
        dominio de los SE



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

								
To top