• No se han encontrado resultados

Modelado de Sistemas de Tiempo Real

N/A
N/A
Protected

Academic year: 2021

Share "Modelado de Sistemas de Tiempo Real"

Copied!
23
0
0

Texto completo

(1)

Prólogo Modelado de Sistemas de Tiempo Real Del Modelo al Código Epílogo

Modelado de Sistemas de Tiempo Real

MSc. Ing. Daniel Calegari García Grupo COAL

Instituto de Computación Universidad de la República

(2)

Prólogo Modelado de Sistemas de Tiempo Real Del Modelo al Código Epílogo

Introito

No soy expertoen el tema, solo tengoalguna ideaa raíz de trabajos de investigación que he estado realizando.

Por ende, miobjetivoes dar unavisión parcial y en amplitud

de de un tema relacionado con la asignatura de forma tal de:

mostrar unárea de trabajoque no se suele ver en la

carrera

despertar sucuriosidad

(3)

Prólogo

Modelado de Sistemas de Tiempo Real Del Modelo al Código Epílogo

Sistemas Embebidos

Sistemas de Tiempo Real Modelado de Sistemas

Sistemas Embebidos

Firmwarees un software que se encuentraembebido(o integrado) en un dispositivo de hardware, por ejemplo en un microcontrolador.

Por lo general, lossistemas embebidosdeben:

serconfiables: baja tasa de fallas y alta disponibilidad sereficientesen el uso de recursos: energía, tamaño de código, peso, costo

(4)

Prólogo

Modelado de Sistemas de Tiempo Real Del Modelo al Código Epílogo

Sistemas Embebidos

Sistemas de Tiempo Real

Modelado de Sistemas

Sistemas de Tiempo Real

"Sistema informático que mantiene una relación interactiva y temporizada con su entorno"(Selic, 1999)

Relación interactiva: El sistema debe disponer de interfases que permitan intercambiar estímulos con el entorno

(5)

Prólogo

Modelado de Sistemas de Tiempo Real Del Modelo al Código Epílogo

Sistemas Embebidos

Sistemas de Tiempo Real

Modelado de Sistemas

Sistemas de Tiempo Real (2)

Concurrencia: sincronización para evitar problemas como deadlocks y posposición indefinida

Distribución: fiabilidad y latencia de las comunicaciones, así como a la probabilidad de fallo

(6)

Prólogo

Modelado de Sistemas de Tiempo Real Del Modelo al Código Epílogo

Sistemas Embebidos Sistemas de Tiempo Real

Modelado de Sistemas

Modelado de Sistemas

Un sistema se modela para poder manejar su complejidad:

Servir de ayudapara el desarrollo de la tarea (uno mismo)

Visualizarlo hecho hasta el momento (uno mismo)

Comunicarel avance obtenido (el cliente y el equipo de desarrollo)

(7)

Prólogo

Modelado de Sistemas de Tiempo Real

Del Modelo al Código Epílogo

¿Porqué modelar?

¿Hasta dónde modelar? ¿Qué modelar? ¿Cómo modelar?

¿Porqué modelar?

Es deseable un desarrollo lomás rápidoymenos

costosoposible

Un error es más caro y complejo de encontrar y resolver después de la liberación del sistema al usuario

Es muy importante evaluar lacalidadde los sistemas

(8)

Prólogo

Modelado de Sistemas de Tiempo Real

Del Modelo al Código Epílogo

¿Porqué modelar?

¿Hasta dónde modelar?

¿Qué modelar? ¿Cómo modelar?

¿Hasta dónde modelar?

Niveles de Modelado

Nivel 0: especificación informal

Nivel 1: especificación formal (uso de técnicas con base matemática, para la especificación, diseño y construcción del sistema)

Nivel 2: construcción manipulando la especificación y verificación con argumentos matemáticos

(9)

Prólogo

Modelado de Sistemas de Tiempo Real

Del Modelo al Código Epílogo

¿Porqué modelar?

¿Hasta dónde modelar?

¿Qué modelar? ¿Cómo modelar?

¿Hasta dónde modelar?

Métodos Formales

Los niveles 1 al 3 se relacionan con la noción demétodos

formales.

(10)

Prólogo

Modelado de Sistemas de Tiempo Real

Del Modelo al Código Epílogo

¿Porqué modelar?

¿Hasta dónde modelar?

¿Qué modelar? ¿Cómo modelar?

¿Hasta dónde modelar?

Seven Myths of Formal Methods

J.A. Hall, Seven Myths of Formal Methods. IEEE Software, 7(5):11-19, September 1990.

1 Formal methodscan guaranteethat software is perfect.

2 Only highly critical systemsbenefitfrom their use.

3 Theyinvolvecomplex mathematics. 4 Nobody usesthem for real projects.

J.P. Bowen and M.G. Hinchey, Seven More Myths of Formal Methods. IEEE Software, 12(4):34-41, July 1995.

5 Formal methodsdelaythe development process.

6 Formal methodslack tools.

(11)

Prólogo

Modelado de Sistemas de Tiempo Real

Del Modelo al Código Epílogo

¿Porqué modelar? ¿Hasta dónde modelar?

¿Qué modelar?

¿Cómo modelar?

¿Qué modelar?

Más allá de los requerimientos funcionales, son los no

funcionales (atributos de calidad) los que tienen un gran

impacto en el diseño de un sistema de tiempo real.

distribuciónde los componentes de hardware y

protocolos decomunicaciónentre ellos

restriccionestemporales que afectan el desempeño del sistema (performance)

concurrenciaysincronizaciónen el acceso a recursos compartidos

planningyschedulingde tareas

(12)

Prólogo

Modelado de Sistemas de Tiempo Real

Del Modelo al Código Epílogo

¿Porqué modelar? ¿Hasta dónde modelar? ¿Qué modelar?

¿Cómo modelar?

¿Cómo modelar?

Modelos teóricos: Grafos Temporizados, FOCUS [Bro02], SDL (Specification and Description Language) Description

Language), Prototipos ad hoc [?]

Modelos gráficos: UML Profile for Schedulability,

Performance, and Time [UML], UML Profile for System on a Chip [MM05]

Herramientas de Verificación: Kronos, UPPAAL [UPP]

(13)

Prólogo

Modelado de Sistemas de Tiempo Real

Del Modelo al Código Epílogo

¿Porqué modelar? ¿Hasta dónde modelar? ¿Qué modelar?

¿Cómo modelar?

¿Cómo modelar?

(14)

Prólogo

Modelado de Sistemas de Tiempo Real

Del Modelo al Código Epílogo

¿Porqué modelar? ¿Hasta dónde modelar? ¿Qué modelar?

¿Cómo modelar?

¿Cómo modelar?

(15)

Prólogo

Modelado de Sistemas de Tiempo Real

Del Modelo al Código Epílogo

¿Porqué modelar? ¿Hasta dónde modelar? ¿Qué modelar?

¿Cómo modelar?

¿Cómo modelar?

Herramientas de Verificación :: UPPAAL :: Bang and Olufsen Audio/Video Protocol

Dosemisoresde datos a través de unbus(generadores de

frames,observadoresde bus y detectores decolisiones)

Criterio decorrectituddel protocolo:

A[] (A.eof == 1 imply (A.diff == 0 and B.res == 0))

(16)

Prólogo

Modelado de Sistemas de Tiempo Real

Del Modelo al Código Epílogo

¿Porqué modelar? ¿Hasta dónde modelar? ¿Qué modelar?

¿Cómo modelar?

¿Cómo modelar?

(17)

Prólogo Modelado de Sistemas de Tiempo Real

Del Modelo al Código

Epílogo

¿Y ahora?

Desarrollo Dirigido por Modelos

¿Y ahora?

He modelado el sistema que deseo y lo he verificado Deseo implementarlo sin cometer errores

Desearía no tener que verificar también la implementación

Para ello necesitaría definir una transformaciónformal

(18)

Prólogo Modelado de Sistemas de Tiempo Real

Del Modelo al Código

Epílogo

¿Y ahora?

Desarrollo Dirigido por Modelos

Desarrollo Dirigido por Modelos

Un enfoque es considerar a los modelos comoespecificaciones ejecutables

=> Usando un entorno de desarrollo unificado

=> Enlazando directamente los requerimientos con el diseño => Integrando testing con diseño para

identificar y corregir errores => Simulando el sistema a construir

para mejorar su diseño

(19)

Prólogo Modelado de Sistemas de Tiempo Real

Del Modelo al Código

Epílogo

¿Y ahora?

Desarrollo Dirigido por Modelos

Desarrollo Dirigido por Modelos

MathWorks :: Real-Time Workshop Embedded Coder

El productoReal-Time Workshop Embedded Codergenera código C para varias plataformas a

partir de modelos

Permite especificar modelos gráficos de estructura y comportamiento

Posee herramienta de verificación y documentación de código Genera código ANSI/ISO C y C++

Incorpora librería de optimización para el lenguaje objetivo Permite ejecutar el código en el ambiente de producción y generar reportes de ejecución

(20)

Prólogo Modelado de Sistemas de Tiempo Real

Del Modelo al Código

Epílogo

¿Y ahora?

Desarrollo Dirigido por Modelos

Desarrollo Dirigido por Modelos

(21)

Prólogo Modelado de Sistemas de Tiempo Real Del Modelo al Código

Epílogo

Resumen

Bibliografía

Resumen

Realizar modelos de un sistema previa construcción del mismo

puede serbeneficioso, más aún en unentorno complejo

como el de sistemas de tiempo real.

Existen diferentesnivelesen los cuales se puede modelar.

Además, existen múltiplesalternativas. La elección depende

principalmente delpropósitodel modelo.

Un propósito habitual es permitir en última instanciagenerar el

códigopara la ejecución del sistema en ciertaplataforma.

Para ello es conveniente contar con algunaherramientade

(22)

Prólogo Modelado de Sistemas de Tiempo Real Del Modelo al Código

Epílogo

Resumen

Bibliografía

Bibliografía

[Bro02] M. Broy et al.The Design of Distributed Systems, An Introduction to Focus

Technical Report TUM-I9202, Technische Universität München, 2002.

[MM05] G. Martin and W. Muller.UML for SOC Design

Birkhäuser Publisher, ISBN 0387257446, 2005.

[Sys] SystemC.http://www.systemc.org/home

[Mat] MathWorks Real-Time Workshop Embedded Coder.

http://www.mathworks.es/products/rtwembedded

[UML] UML Resource Page.http://www.uml.org

(23)

Defer notime, delays havedangerous ends

Referencias

Documento similar

One conceptual illustration of the remote control unit for service robot applications is given in figure 2, partially based on a conceptual description of automotive control

• Desarrollo de un modelo global en TRNSYS para asistir al diseño de este tipo de sistemas. • Desarrollo de un modelo basado en redes neuronales para caracterizar el

Para el usuario con un contrato PVPC es interesante recibir información de su consumo instantáneo y del precio al que se le factura dicho consumo, así como las horas del día a las

Esta Tesis Doctoral se fundamenta en tres ´ areas diferentes de la inform´ atica: (1) la Ingenier´ıa de Software Dirigida por Modelos (MDSE por sus siglas en ingl´ es), (2) los

4.5. El sistema de ayuda ... Procedimiento para un análisis con ANSYS ... Técnicas para el modelado ... Ventajas del modelado sólido ... Planificación del trabajo. Sistemas

En este capítulo se consideran las redes neuronales como modelo para describir sistemas dinámicos y se introduce una clase particular, los módulos neuronales, con

Después de una descripción muy rápida de la optimización así como los problemas en los sistemas de fabricación, se presenta la integración de dos herramientas existentes

b) Pensar que las normas «anteriores» no pertenecen a los nuevos sistemas jurídicos del nuevo orden jurídico del nuevo orden estatal, pero que son aplicables. Si CRNA no se reformula