Archivo de la etiqueta: loosely-timed

Ejemplo de Loosely-timed

Primero recordemos qué significa el estilo loosely-timed: en este estilo usamos la función bloqueante b_transport y por tanto tenemos dos puntos de sincronización asociados a cada transacción, que corresponden al inicio y al fin de la misma. Estos dos puntos pueden estar en el mismo tiempo de simulación o estar separados (en el caso de tener los dos puntos de sincronización en el mismo instante de simulación, estaríamos en el caso untimed). Seguir leyendo Ejemplo de Loosely-timed

Loosely time y temporal decoupling

Este estilo de codificación permite tan sólo 2 puntos de tiempo en cada transacción, correspondientes a la llamada y al retorno de la función b_transport. (usando el protocolo base, esto se correspondo con el inicio de la petición y el inicio de la respuesta de la transacción).Podemos elegir que estos dos puntos sean el mismo (y la transacción ocurre en tiempo 0)
El tiempo que se pasa como parámetro en la función b_transport indica el tiempo de inicio (y de respuesta) de la transacción respecto al tiempo actual de simulación. En el uso normal (sin usar temporal decoupling), este valor será siempre 0. El target de la transacción puede usar wait() dentro de la función b_transport para simular su tiempo de respuesta, etc.

Seguir leyendo Loosely time y temporal decoupling

Estilos de codificación (Coding Styles)

En TLM-2 se contemplan 3 modos distintos de modelado (llamados Coding Styles en los documentos oficiales) : Untimed, Loosely-timed y Approximately.timed. Cada uno de ellos sirve para un propósito determinado, y para modelar distintos tipos de sistemas. También debemos tener en cuenta el coste de simulación de cada modo (menos costoso Untimed, más costoso el Approximatelly-timed).

Seguir leyendo Estilos de codificación (Coding Styles)