Introduccion

Anuncio
1 Introducción
Se tratan a continuación los antecedentes del proyecto, dedicando un apartado a
cada una de las materias fundamentales del mismo. Por un lado, una introducción
al lenguaje de programación con el que se ha modelado y simulado la librerı́a, por
otro, una visión actual del panorama de tecnologı́as de simulación, y por último una
introducción a la farmacocinética ya que ésta impone las bases cientı́ficas sobre las
que se desarrolla la librerı́a.
Dentro del primer apartado se destacan tres subapartados relacionados con los
lenguajes de modelado orientado a objetos, tratamiento matemático del modelo y
conexiones del programa con otros softwares. Dentro del segundo apartado se hace
una distinción entre los lenguajes de simulación de sistemas continuos y discretos. En el apartado sobre farmacocinética, se explican la evolución temporal de los
fármacos en el organismo (procesos LADME) y las premisas del modelado cinético
compartimental.
1.1.
Programación en EcosimPro
Ecosimpro es una herramienta de simulación de origen español, desarrollada por
Empresarios Agrupados International S.A. para el modelado de procesos fı́sicos simples y complejos. Se trata de una herramienta reciente, la versión draft 3.0.3 es de
Junio de 1999, y la última versión 4.8 ha salido recientemente.
EcosimPro corre en las distintas plataformas de Windows y usa su propio entorno
gráfico para el diseño de modelos.
El modelado de componentes fı́sicos se basa en el EcosimPro Language (EL),
el cual es un lenguaje especı́fico para modelado de sistemas. Tiene la ventaja de
proporcionar un enfoque hı́brido, de manera que está orientado a sistemas continuos
con la posibilidad de tratar las discontinuidades gobernadas por eventos discretos.
EcosimPro presenta tres modos de vista para el modelador:
Code view: permite introducir, leer, modificar, etc., el código de los componentes
elaborados.
Schematic view: permite crear componentes por agregación de otros más básicos,
pero utilizando un entorno gráfico.
1
1 Introducción
Simulation view: se trata de la vista de simulación, a la que se accede cuando
ya se ha creado el componente mediante alguna de las opciones que el entorno
permite (a partir de componentes textuales o a partir de componentes gráficos).
De esta forma, EcosimPro distingue dos facetas del arte de la simulación. Por un
lado se crea el modelo, de la forma que sea, y por otra se realizan experimentos con
él, o lo que es lo mismo, se simula.
1.1.1.
Lenguajes de modelado orientado a objetos (MOO)
Los lenguajes de simulación han evolucionado desde la emulación de las calculadoras analógicas hacia la simulación digital, que dio comienzo con la resolución
numérica de conjuntos de ecuaciones diferenciales, EDO1 . La mayorı́a de los algoritmos de integración numérica se diseñaron para resolver este tipo de problema de
variables de estado.
Posteriormente se reconoció que la misma ecuación podı́a reaparecer en varias
ecuaciones de estado, y que serı́a más eficiente, desde un punto de vista computacional, reasignar estas expresiones a variables algebraicas auxiliares. Surge ası́ un
nuevo grupo de ecuaciones conocidas como EDA, 2 que definen la forma natural de
los sistemas de parámetros concentrados.
Además, se dotó a algunos lenguajes de “ordenadores de ecuaciones”que permitı́an
al usuario especificar el conjunto de ecuaciones en una secuencia arbritraria. Esto
dio paso a una evolución de los entornos de simulación que trataron de incluir
cierta “inteligencia”de forma que se evitara tener que escribir el modelo mediante
un conunto de ecuaciones con la causalidad asignada de antemano, y de forma
que dichas ecuaciones sean lo más parecidas posible al planteamiento natural del
problema. De esta forma surgió el paradigma del Modelado Orientado a Objetos
(MOO). Esta metodologı́a se apoyó en avances de diferentes materias: el tratamiento
simbólico de ecuaciones, la resolución numérica de EDA y, cómo no, en el desarrollo
de los lenguajes de programación orientados a objetos.
El concepto del modelado orientado a objetos es relativamente reciente, surgiendo
practicamente en la década de los noventa. Las ventajas de utilizar esta metodologı́a
en la programación clásica para resolver problemas de media y alta complejidad están
más que demostradas. EcosimPro es un ejemplo de herramienta de programación
orientada a objetos.
Los entornos orientados a objetos presentan ciertas caracterı́sticas propias, debidas
a su nueva filosofı́a de trabajo que se resumen en la figura 1.1.
1
2
2
Ecuaciones Diferenciales Ordinarias
Ecuaciones Diferenciales Algebraicas
1.1 Programación en EcosimPro
En primer lugar, los MOO han heredado las caracterı́sticas propias de los lenguajes
de programación orientados a objetos (POO), en los cuales se basan, de forma que
ha impuesto una nueva visión en la creación de modelos, con una sintaxis que les
permite ser más estructurados, más flexibles, estar basados en los principios de
parametrización, reutilización, instanciación, encapsulación, etc.
Figura 1.1: Diagrama de bloques explicativo de la filosofı́a del MOO.
Una vez escrito un modelo, utilizando componentes nuevos, de librerı́as de texto,
de librerı́as gráficas o heredando propiedades de otros ya implementados, es necesario
obtener un conjunto de ecuaciones que representen la dinámica del sistema.
Todos los apartados en que se descompone la tarea de modelado y simulación en
un entorno de MOO no son independientes, por lo que cada uno de ellos debe resolver
la problemática propia y además “preparar el terreno”para resolver problemas de
fases posteriores.
La simulación y el modelado orientados a objetos proporcionan las caracterı́sticas
suficientes para aumentar la complejidad sin afectar al exteior (encapsulación),
3
1 Introducción
habilitan la reutilización de modelos (herencia y agregación), y permiten crear modelos independientes que sean fáciles de mantener. Además, el desarrollo modular
permite a un sistema ser modelado desde abajo hacia arriba (bottom-up), programando primero los componentes más básicos para, a partir de ellos, ir desarrollando
otros más complejos.
Las librerı́as básicas de componentes se pueden combinar para crear componentes
cada vez más complejos utilizando dos métodos:
Extensión por herencia, a partir de componentes existentes.
Instanciación y conexión de componentes existentes.
Estas ideas se aplican para crear componentes que representen un sistema completo. Los componentes intermedios pueden ser también simulados. Esto reduce ampliamente los tiempos de mantenimiento y desarrollo.
Uno de los objetivos del modelado es encapsular la complejidad. Dicha encapsulación consiste en separar los aspectos externos de los objetos, a los cuales pueden
acceder otros objetos, de los detalles internos de la implementación del mismo, que
quedan ocultos a los demás.
El modelado orientado a objetos hace más fácil la tarea del modelador gracias
a la capacidad de abstracción y encapsulación de datos y comportamientos. Sus
elementos principales son los componentes y las librerı́as. Éstas encapsulan todos
los elementos implicados en una disciplina particular, y pueden ser utilizadas por
otras librerı́as. Entre la terminologı́a habitual se encuentran los siguientes conceptos:
Una clase o componente, es una descripción teórica de una estructura y un comportamiento de un componente fı́sico. Un objeto es una instanciación de un componente. La interfaz de un componente está compuesta por los puertos, o conexiones,
los parámetros y los datos. Estos elementos son únicos y son visibles desde fuera,
reforzando ası́ la idea de la encapsulación y favoreciendo la reutilización de los componentes. La herencia es lo que le da a los lenguajes de modelado orientado a bloques
su capacidad para compartir interfaces y comportamientos. Los lenguajes de MOO
pueden reunir datos y ecuaciones comunes en unos componentes padres, que serán
heredadas por los componentes hijos. La herencia es un mecanismo de compartición
de información entre componentes mediante la especialización (Fig. 1.2).
Generalmente los lenguajes de MOO consideran que si los valores de los atributos
de un componente entran en contradicción con los heredados de su supercomponente, prevalecen en la clase los valores locales. Esta propiedad es una forma de
parametrización, ya que supone la modificación de algunas de las propiedades para adaptar el modelo a sus diferentes aplicaciones. Para facilitar este mecanismo
en algunos entornos existen las denominadas ecuaciones virtuales, que pueden ser
modificadas por el subcomponente sin que se produzcan conflictos.
Cuando un componente sólo puede tener un único supercomponente se habla de
herencia simple. En caso de que puedan heredar más de uno, se denomina herencia
4
1.1 Programación en EcosimPro
múltiple. Para el caso de EcosimPro existe la herencia múltiple, lo cual permite la
creación de nuevos componentes reutilizando partes de otros previamente creados.
Figura 1.2: Diagrama explicativo del mecanismo de herencia.
El polimorfismo es un concepto ligado estrechamente a la reutilización de modelos.
Modelos polimórficos son aquellos que tienen interfaces con estructuras equivalentes
y que, además, tienen los mismos grados de libertad, con lo cual pueden ser usados
en el mismo contexto e intercambiados sin necesidad de alterar el resto del sistema.
Frecuentemente los modelos polimórficos poseen un mismo supercomponente común:
aquél en el que se define la interfaz.
La agregación es una forma fuerte de asociación en la cual el objeto está formado por componentes. Un componente puede heredar de otro u otros y puede tener
múltiples instancias o copias de otros internamente. Este hecho refuerza la caracterı́stica de la reutilización. Este paradigma se aplica de forma iterativa y sin lı́mites
de manera que la complejidad de un componente final puede estar oculta por esta
agregación de instancias internas a otros componentes ya comprobados.
La abstracción consiste en centrarse en los aspectos esenciales inherentes a una
entidad e ignorar sus propiedades accidentales. En el desarrollo de un modelo esto
significa centrarse en sus caracterı́sticas, lo que es y lo que hace, antes de decidir
cómo deberı́a implementarse. La abstracción es un modo de afrontar el problema de
la complejidad de los sistemas de grandes proporciones, posibilitando que varios especialistas puedan trabajar sobre distintas partes de un mismo modelo sin tener que
5
1 Introducción
conocer todos los detalles del resto del mismo. Una forma de facilitar la abstracción
consiste en diferenciar, en cada parte del modelo, entre la interfaz y la descripción
interna.
Las librerı́as son los elementos básicos con los que los lenguajes de MOO organizan
la información que manipulan. El propósito básico de una librerı́a es almacenar
un conjunto de elementos relacionados entre sı́. EcosimPro incluye varias librerı́as
básicas que pueden ser modificadas por el usuario. La potencia de un entorno está en
el número y la calidad de sus librerı́as. Además de mantener la tarea de modelado
bien organizada, las librerı́as proporcionan al entorno de modelado otros servicios
como:
Comprobar elementos obsoletos (componentes, puertos, datos, etc.) que deben
recompilarse.
Encapsular los elementos, permitiendo a diferentes librerı́as contener elementos
con el mismo nombre.
En referencia a las librerı́as básicas de EcosimPro, se muestra en la siguiente figura
1.3 un esquema de un circuito eléctrico básico creado a partir del modelado previo de
sus elementos individuales. En concreto el circuito está compuesto por: una fuente
de tensión senoidal (VAC1), un condensador (C1), una resistencia (R1), un elemento
tierra (G1) y dos puertos del tipo eléctrico que permiten la conexión del modelo con
otro, u otros, componentes.
Figura 1.3: Diagrama EcosimPro de un circuito eléctrico básico
6
1.1 Programación en EcosimPro
Ası́, en una primera fase deben modelarse y validarse los elementos individuales
(fuente de tensión, resistencia, condensador, etc.), hasta llegar a la elaboración del
componente final que serı́a el circuito. Los componentes pueden ser modelados a
partir de sus ecuaciones constitutivas o a partir de sus curvas de comportamiento.
Los lenguajes de modelado orientados a objetos deben proporcionar sentencias que
permitan modelar dos mundos: el continuo y el discreto. Con el modelado continuo,
el usuario expresa el modelo fı́sico con unas ecuaciones matemáticas concretas. Estas
ecuaciones pueden ser algebraicas o diferenciales con respecto al tiempo.
Pero los lenguajes de MOO no sólo deben permitir una formulación continua.
Cualquier modelo fı́sico que se construya con ecuaciones continuas en algún instante tendrá un comportamiento discreto. Cada tipo de comportamiento continuo
está asociado a una serie de eventos que se están comprobando continuamente. Cuando ocurre uno de ellos se ejecutan una serie de acciones asociadas. Esto significa que
los componentes se modelan utilizando ambos métodos de modelado: continuos y
discretos. Es tarea del entorno el ocuparse de que ambas partes del modelo se ejecuten de forma coordinada.
Figura 1.4: Algoritmo del tratamiento de eventos.
7
1 Introducción
Los lenguajes orientados a objetos permiten tres tipos de sentencias: las continuas,
las discretas y las secuenciales. Las continuas son las que se repiten en cada instante
de integración y sufren la mayor parte del preprocesamiento, como la ordenación de
las ecuaciones, la detección de los lazos algebraicos, etc. Las discretas deberán estar
en su propia sección y se ejecutan ante determinados eventos. Las secuenciales son
aquellas que se ejecutan cada una a continuación de la precedente. La sintaxis de
EcosimPro permite secciones para cada una de este tipo de sentencias.
Finalmente se resumen a continuación las ventajas principales de la metodologı́a
de MOO:
El modelador encapsula los datos y el comportamiento en componentes individuales.
Un componente oculta su complejidad haciendo públicas sólo parte de sus
caracterı́sticas.
La interfaz pública comprende parámetros, puertos y datos. Las variables locales, eventos discretos y ecuaciones son privadas.
Los componentes pueden reutilizarse.
Un componente puede contener ecuaciones que pueden insertarse en tiempo de
simulación o no, dependiendo de los parámetros que se pasen al componente.
El formato de una ecuación es declarativo: los algoritmos las transforman para
resolverlas de la mejor forma posible.
Además, se puede añadir una consideración más a la revolución que supone el MOO:
el modelado es no-causal, o acausal. En otras palabras, cuando se modela un componente, la causalidad de las ecuaciones no está dada. Esta causalidad tendrá que
ser resuelta antes de pasar a la fase de simulación. EcosimPro se encarga de esto
de forma automática. Las librerı́as contienen componentes reusables y genéricos que
pueden utilizarse en cualquier situación.
1.1.2.
Tratamiento matemático del modelo en EcosimPro
A la hora de realizar una simulación, EcosimPro no codifica las ecuaciones tal
y como las escribe el usuario, sino que realiza una serie de transformaciones para
escribir el sistema de una forma más conveniente.
Una vez generadas las ecuaciones, el siguiente paso es decidir en qué orden se
resuelven las variables del modelo. Aunque desde el punto de vista del usuario final
EcosimPro es un lenguaje acausal, está claro que para realizar cualquier simulación
8
1.1 Programación en EcosimPro
con un modelo es necesario convertir el conjunto de ecuaciones escritas por el usuario en otro conjunto de ecuaciones escritas de forma secuencial, donde cada lı́nea
contenga variables que hayan sido previamente calculadas. EcosimPro implementa
estas ecuaciones en un lenguaje causal, en este caso C++. Este proceso se denomina
asignación de la causalidad. En EcosimPro se describe el sistema por medio de
ecuaciones, posteriormente el compilador decide cuál es el orden adecuado para cada
ecuación y la variable que resuelve.
En cuanto a las variables, existen los siguientes tipos:
Las variables tipo dato (DATA VAR) son aquellas que se han definido en la
sección DATA de los componentes, han sido inicializadas antes de crear la
partición y por tanto su valor no necesita ser calculado en tiempo de simulación
debido a que permanecen constantes a lo largo del tiempo.
Las variables explı́citas (EXPLICIT) necesitan obtenerse a partir de las ecuaciones de los componentes, y por tanto las ecuaciones deben ordenarse de tal
forma que todas ellas sean calculadas por una y solo una ecuación.
Las variables de estado (DYNAMIC) son variables que en algún momento
aparecen derivadas en el modelo y su valor se obtiene integrando el mismo por
un algoritmo de integración.
Las variables derivadas (DERIVATIVE) son las complementarias de las variables de estado y expresan la derivada respecto a la variable independiente
del sistema (normalmente el tiempo). Estas variables se calcularán de forma
explı́cita.
Las variables algebraicas (ALGEBRAIC) son variables que no han podido ser
calculadas por métodos explı́citos y se resuelven por un resolvedor implı́cito de
forma iterativa. Aparecen en todos los lazos algebraicos no lineales del modelo
y se calculan de forma implı́cita.
Las variables de contorno (BOUNDARY) son variables continuas (tipo REAL)
que el usuario ha decidido que serán condiciones de contorno y no son calculadas iternamente. La diferencia con los datos es que pueden ser dadas como
variables dependientes del tiempo y no sólo como una constante.
Las variables discretas (DISCRETE) son todas las variables que no sean de tipo REAL (es decir son INTEGER, BOOLEAN, STRING O FILEPATH) y las
etiquetadas como DISCR REAL. Son variables que EcosimPro no tratará de
calcularlas nunca del sistema de ecuaciones y son responsabilidad del modelador cambiarlas de forma discreta en el modelo (tı́picamente en los bloques
INIT y DISCRETE).
9
1 Introducción
Parámetros de construcción. Son parámetros usados en componentes y puertos
en el momento de su instanciación. Son usados para dimensionar arrays o conjuntos de ecuaciones y no pueden ser modificados en ningún momento después.
Los datos (DATA VAR) aunque permanecen constantes durante los cálculos,
pueden ser modificados entre dos cálculos, los parámetros de construcción no.
Los métodos numéricos para integrar el modelo calculan los valores de las variables de estado (DYNAMIC) y algebraicas. Para que la integración numérica pueda
llevarse a cabo es necesario dar al integrador el valor inicial de las variables de estado y algebraicas. Las ecuaciones de residuos que guı́an al integrador son generedas
automáticamente por EcosimPro en base a transformaciones simbólicas del bloque
de ecuaciones global.
Cabe destacar el hecho de que no siempre se pueden despejar las variables de forma
explı́cita. Cuando esto ocurre, se dice que en el sistema existe un lazo algebraico
lineal o no lineal. Los lazos algebraicos no lineales son más costosos en tiempo de
cómputo que los lineales y además necesitan procedimientos más complejos.
A modo de resumen, se puede decir que el tratamiento matemático del modelo
de EcosimPro sólo necesita despejar las variables que sean de alguno de estos dos
tipos: explı́citas o derivadas, mientras que las demás o no intenta calcularlas o se
calculan con un resolvedor.
Por otra parte, y siguiendo con las variables en EL, éstas tienen tres tipos de
alcance que se explican a continuación:
1. Alcance local: La variable se referencia usando como identificacdor su propio
nombre dentro de cada componente, puerto, función o experimento.
2. Alcance global: El identificador se declara como global dentro de la librerı́a. Se
referencia usando el nombre de la variable, pero si el nombre se declara más de
una vez (por ejemplo, si dos librerı́as usan el mismo nombre para la variable
global) se debe añadir el prefijo de la librerı́a a la variable.
3. Alcance de expresión: Un identificador usado en expresiones SUM, EXPAND
o bucles FOR sólo tiene alcance en esa expresión. Una vez que la expresión ha
sido evaluada el nombre ya no es válido, esto permite a expresiones sucesivas
usar el mismo identificador. Si un identificador interno entra en conflicto con
otro con el mismo nombre en otro componente, se usa siempre el identificador
interno.
Habitualmente los sistemas de simulación presentan sistemas de ecuaciones que
tienen que ser resueltos en poco tiempo. Otras veces, no es posible obtener la solución
exacta. La aplicación de métodos numéricos subsana estos dos problemas.
10
1.1 Programación en EcosimPro
Para la resolución de sistemas lineales se emplea el método de factorización LU.
Para la resolución de sistemas no lineales se emplea el método de Newton-Raphson
basado en iteraciones que partiendo de un punto anterior calculan el siguiente. El
punto de inicio debe darse cerca de la solución para que ésta converja.
Por su parte los métodos de integración tienen como propósito, dado un problema
de valor inicial, calcular una aproximación de la solución en una serie de puntos, de
tal forma que la función quede suficientemente determinada para el estudio que se
pretende.
Un método de integración numérico devuelve una serie de tuplas que son una
aproximación a la solución real de la ecuación diferencial en t= ti . A la diferencia
ti+1 - ti se le denomina paso de integración y se suele representar como hi+1 . Los
métodos de integración se pueden clasificar como:
De paso constante, si hi siempre toma el mismo valor, en cuyo caso ti = i·h+t0 .
De paso variable, si hi no es constante.
El método de integración más clásico para resolver ecuaciones diferenciales ordinarias (EDO) es el Runge-Kutta. El método DASSL es más moderno y está orientado a
la resolución de sistemas de ecuaciones algebraico-diferenciales (EDA). A diferencia
del Runge-Kutta, en el que la derivada tenı́a que estar de forma explı́cita, en este
método no es necesario. El sistema puede estar escrito de forma más general.
Los métodos de integración más utilizados en EcosimPro son: Runge-Kutta de
orden 4 y DASSL. Por defecto el método de integración es DASSL, pero se puede
seleccionar cualquier otro por medio de la variable IMETHOD asignándole el nombre
del método de integración.
Los pasos en el procesado matemático de EcosimPro son:
1. Solución simbólica de ecuaciones lineales de coeficientes constantes.
2. Detección y corrección de problemas de alto ı́ndice. Estos problemas surjen
cuando aparecen variables de estado (DYNAMIC) emparejadas o relacionadas
entre sı́. El resolvedor matemático está diseñado, normalmente, para calcular
el valor de las variables de estado integrando su derivada, asumiendo que estas
variables son independientes unas de otras.
Existen distintas técnicas para resolver problemas de alto ı́ndice que van desde
la manipulación simbólica hasta el uso de resolvedores especiales. EcosimPro
usa dos tipos diferentes de algoritmos de manipulación simbólica: solución por
eliminación de los impedimentos lineales o solución por derivación de ecuaciones.
3. Selección de las variables de contorno. Para ello se clasifican primero las variables en conocidas y no conocidas.
11
1 Introducción
4. Aplicación del máximo algoritmo transversal y clasificación de las ecuaciones.
El propósito de este algoritmo consiste en encontrar una variable que pueda
ser calculada en cada ecuación. En el campo de las matrices, el problema es
conocido como “encuentra el máximo número de no-nulos en la diagonal de la
matriz”, mientras que en la teorı́a de grafos bipartitos se conoce como “perfect
matching.”
El objetivo de la clasificación de ecuaciones es permitir a EcosimPro calcular
las variables de forma secuencial.
5. Solución de lazos algebraicos, lineales y no lineales.
6. Resolución numérica de sistemas diferenciales y algebraicos. Finalmente, después de todos los pasos preliminares, el problema se formula como un sistema
de ecuaciones algébrico-diferenciales o EDA. La mayorı́a de las aplicaciones de
simulación formulan el problema como un sistema de ecuaciones diferenciales
ordinarias o EDO. La ventajas de usar EDAs es que las ecuaciones originadas
de forma natural cuando se modela un sistema fı́sico son EDAs y no EDOs.
Las ecuaciones diferenciales ordinarias y los sistemas de ecuaciones algebraicos
pueden ser considerados como casos especiales de EDAs. Por lo tanto una EDO
puede ser escrita de forma explı́cita como una EDA de la siguiente forma:
y 0 (t)–f [t, y(t)] = 0
Como ya se ha mencionado, EcosimPro utiliza el método DASSL para esta
resolución.
1.1.3.
Conexión con otro software
Se describen a continuación las posibilidades que EcosimPro pone al alcance del
usuario para su conexión con lenguajes de programación de propósito general o aplicaciones externas. Esto permite que pueda usarse toda la potencia que proporciona
la herramienta sin necesidad de emplear el entorno de simulación y que pueda incluirse su funcionalidad en aplicaciones independientes desarrolladas por el usuario.
Se detallan los siguientes ejemplos:
Aplicaciones DECK. Un DECK es una aplicación ejecutable independiente que
puede ser lanzada fuera del entorno de simulación y que puede disponer o no
de entorno gráfico (Fig.1.5). Se trata de un programa que permite al diseñador
distribuir simulaciones a clientes de forma rápida e independiente del entorno
principal.
12
1.1 Programación en EcosimPro
Conexión con C++. Dado que el entorno de simulación de EcosimPro traduce
de lenguaje EL a lenguaje C++, es evidente que la integración con este lenguaje
se lleve a cabo de forma natural. De este modo, el usuario puede diseñar una
aplicación a medida usando toda la potencia que proporciona EcosimPro.
Las aplicaciones de esta posibilidad son numerosas, por resaltar algunas:
- Creación de un interfaz gráfico para visualizar las variables de simulación.
- Reducción de fallos de los modelos C++.
- Conexión con otras clases C++.
- Conexión con un entorno de simulación en tiempo real.
- Conexión del modelo con programas de ordenador escritos por el usuario.
- Conexión con otras herramientas de simulación.
Figura 1.5: DECK generation wizard que basado en un experimento dado ayuda al
desarrollador a crear una aplicación independiente.
Conexión con Microsoft Excel. EcosimPro proporciona dos maneras diferentes
de Interactuar con Microsoft Excel: usando VBA (Visual Basic for Applications) o empleando una barra de herramientas especı́ficamente diseñada para
la conexión con esta aplicación (SimulationAddIn Toolbar ). La primera de las
alternativas se explicará en el siguiente punto. La segunda requiere la adición
de una nueva barra de herramientas a Excel. Esta barra permite ejecutar la
simulación de un experimento (con la posibilidad de crear una representación
gráfica del modelo) cargando los valores de las variables en una nueva hoja de
13
1 Introducción
cálculo dentro del mismo libro. A partir de esta hoja se puede obtener una
representación gráfica de las variables que se consideren oportunas.
Conexión con Microsoft Visual Basic. El procedimiento de conexión es válido
para cualquier aplicación que soporte VBA, como puede ser Microsoft Excel.
De este modo , supone un procedimiento alternativo a la barra de herramientas
SimulationAddIn.
Conexión con Matlab/Simulink. EcosimPro proporciona una librerı́a de funciones para interactuar con Matlab y Simulink (llamada ecoToolBox ). Los únicos
requisitos de partida son que exista la DLL ya compilada del experimento que
se desea simular y que la versión de Matlab que se emplee sea posterior a la
R13 con el Service Pack 1 instalado.
1.2.
Estado del Arte de las tecnologı́as de simulación
A continuación se describen los entornos de simulación de sistemas (simples o
complejos) más relevantes en la actualidad.
Se puede hacer una primera división de estos entornos según su capacidad de
simulación de sistemas continuos y discretos, aunque la mayorı́a de entornos de
simulación continua también tiene capacidad de simulación de eventos discretos.
1.2.1.
Simulación de sistemas continuos
Dentro de este aparatado se explican algunas de las tecnologı́as de simulación de
sistemas continuos más significativas en la actualidad.
EcosimPro
Se trata de un entorno de simulación multidisciplinar, con una metodologı́a modelado orientado a objetos. Permite un desarrollo modular de sistemas, lo que facilita
la reusabilidad, garantizando a la vez el mantenimiento de la dinámica propia del
sistema completo. Además, permite cierta abstracción en la descripción del modelo,
por ejemplo, no se requiere establecer cuáles son las entradas y cuáles las salidas.
Ecosim es una herramienta de simulación general y flexible directamente aplicable
a la simulación de Environment Control and Life Support Systems (ECLSS) and
Thermal Control Systems (TCS), los cuales han sido desarrollados por la Agencia
Espacial Europea (ESA.
Tiene una serie de ventajas sobre otros sistemas, tales como soporte para simulaciones multidisciplinares de TCS y ECLSS, extensas librerı́as de componentes
reusables para construcción de modelos que pueden ser ampliadas por los usuarios
14
1.2 Estado del Arte de las tecnologı́as de simulación
y un potente motor de simulación basado en una mezcla de procesado simbólico y
análisis numérico.
Estas caracterı́sticas ponen de manifiesto la gran potencia de EcosimPro, por la
cual, ésta ha sido escogida como la herramienta para el desarrollo de la librerı́a
farmacocinética.
ACSL
ACSL es el predecesor del actual acslX, el cual, es un lenguaje de modelado y
simulación de sistemas y procesos dinámicos continuos, basado en el estándar CSSL.
Ha sido mejorado mediante el desarrollo de paquetes auxiliares, que se explicarán a
continuación, que lo convierten en un verdadero entorno de simulación.
Es un lenguaje fácil de aprender y de usar, que ofrece un entorno intuitivo para
usuarios de todos los niveles lo suficientemente potente como para resolver problemas
de determinada complejidad.
Se trata de un lenguaje de modelado no orientado a objetos, en el que las secciones
de descripción del modelo y de experimentación están claramente separadas. La
sección de descripción del modelo se divide en varias zonas principales, encabezadas
por las palabras claves: INITIAL, DYNAMIC, DERIVATIVE y DISCRETE.
El resolvedor de ACSL es capaz de ordenar las ecuaciones del modelo de manera
que permite su correcta resolución. El compilador, traduce el modelo a Fortran, lo
que permite enlazar tanto con Fortran como con otros lenguajes de simulación.
Es importante destacar los siguientes paquetes adicionales:
1. Graphic Modeller. Interfaz gráfico para la construcción de modelos mediante
FlowChart.
2. API. Se desarrolla un interfaz de programa que permite acceder al núcleo de la
simulación a través de un programa externo desarrollado por el usuario. Para
ello, el modelo es convertido en una librerı́a dinámica (DLL) a la que se puede
acceder de distintas maneras.
3. Conversor a lenguaje C.
4. Real Time. Incluido para dotar al sistema de posibilidad de ejecución en tiempo
real.
5. acslX-PK/PK. Paquete farmacéutico que permite llevar a cabo un modelado
farmacocinético clásico (PK), con base fisiológica (PBPK) y farmacodinámico (PD), ofreciendo la herramienta adecuada en cada etapa del proceso de
evolución del fármaco.
15
1 Introducción
Por la relación del punto cinco con este proyecto, parece relevante explicar de forma más detallada el alcance del paquete farmacéutico. Éste ofrece una herramienta
de modelado farmacocinético flexible que predice la dispersión del fármaco y los
niveles residuales del mismo para análisis de toxicidad y de umbral terapéutico.
acslX se basa tanto en modelos clásicos como compartimentales de manera que
no hay lı́mite en la simplicidad o complejidad del mismo. Los estudios son rápidos y
fiables porque la herramienta ofrece un interfaz intuitivo para el usuario junto con un
desarrollo robusto del modelo y capacidades de análisis y ejecución. Además permite
a los usuarios añadir o aplicar continuamente nueva información para reestablecer
modelos o crear otros nuevos para nuevos productos farmacéuticos.
El software acslX’s Optimum, permite a los investigadores llevar el modelado y
simulación a un nivel superior. Optimum está completamente integrado con acslX y
proporciona potentes capacidades analı́ticas que incluyen: estimación de parámetros,
optimización de modelos, análisis de sensibilidad y análisis Montecarlo. También
existen wizards que simplifican la programación y eliminan la necesidad de declarar
comandos.
Un ejemplo del modelado con esta herramienta se muestra en la figura 1.6.
Figura 1.6: Apariencia gráfica del modelado con el paquete PK/PD.
El alcance del paquete acslX PK/PD comprende:
1. Modelos PBPK lineales y no lineales de varios órganos.
16
1.2 Estado del Arte de las tecnologı́as de simulación
2. Modelos estándar de flujo sanguı́neo basados en el peso corporal y la respuesta
cardı́aca.
3. Modelos de exposición por inhalación ası́ como exposición oral y dérmica.
4. Funciones matemáticas para estudios de sensibilidad de parámetros.
5. Modelos PD para una respuesta de tejidos debida a una exposición quı́mica
concentrada.
6. Ejemplos de modelos: modelos con uno y dos compartimentos y multicompartimentales; clásico PBPK de cloroformo en humanos; modelo PBPK/PBPD de
dioxina en hembras de rata.
Modelica
Modelica es un lenguaje para el modelado de sistemas fı́sicos orientado a objetos,
con estructura jerárquica, capacidad de reuso y evolución. Las ecuaciones en Modelica no describen una asignación a las variables, sino una igualdad. Se trata por
tanto de un lenguaje de modelado libre de causalidad matemática.
Existen gran cantidad de publicaciones y documentación disponibles sobre este
lenguaje. Un ejemplo de ello es [?] en el que se hace referencia al gran problema
de la interoperabilidad entre modelos y entornos de simulación, aclarando que los
entornos gráficos, aún cuando facilitan la labor, no son precisamente la solución a
este problema y en la práctica suelen especializarse cada vez más a un determinado
entorno.
Se destacan dos conceptos importantes en relación al problema de la interoperabilidad:
1. Lenguajes de modelado orientados a objetos, los cuales han dado resultados
muy satisfactorios en la implementación de estructuras jerárquicas y evolución,
independientemente de su dominio de aplicación.
2. Modelado acausal, demuestra que la tradicional abstracción empleada en simulación (el bloque con entradas/salidas) puede ser generalizada relajando las
restricciones de causalidad, es decir, no dando a cada puerto una definición de
entrada o salida.
En términos estrictos Modelica es una especificación que arranca en el proyecto
ESPRIT : Simulation in Europe Basic Research Working Group SiE-WG, el cual
operaba en 1999 como el comité tecnico 1 de EuroSim y un area técnica de Modelica
en la SCS International.
17
1 Introducción
El lenguaje está orientado para trabajar en múltiples dominios (eléctrico, hidráulico, termodinámico, multi-body, etc) y con varios formalismos, por ejemplo, para trabajar con sistemas representados por ODE, DAE, bond graphs (diagramas causales),
autómata de estados finitos y redes de Petri.
La versión 1.1 de Modelica (Diciembre 1998) corresponde a un lenguaje de modelado de propósito general, multidominio y multi-formalismo, con capacidad para
modelar sistemas continuos y que incluye además el tratamiento de eventos discretos,
como las discontinuidades.
Modelica aprovecha la experiencia obtenida con muchos lenguajes de simulación
anteriores. La gran mayorı́a de los lenguajes previos, están orientados a bloques
con entradas y salidas. De esta forma, los modelos matemáticos hay que orientarlos
a algoritmos preparados para su cómputo (necesitan de la transformación de las
ecuaciones fı́sicas, en este sentido). Normalmente los lenguajes han considerado la
existencia de conectores entre modelos, pero a un nivel de jerarquı́a mayor.
Ejemplos representativos de herramientas que soportan Modelica son: MathModelica (de MathCore); Scicos, cuya versión 4.4.1 ha sido lanzada en abril de 2011
o Dymola, el cual es un entorno de modelado y simulación basado en el lenguaje de modelado Modelica que está disponible como producto autónomo, ası́ como
integrado en CATIA Systems V6.
Matlab/ Simulink
Matlab3 es un entorno de computación integrado para cálculo numérico y un
lenguaje de programación de cuarta generación 4 . Tuvo su origen como software
de acceso a las librerı́as de cálculo numérico y matricial: LINPACK y ESIPACK
(actualmente muy importantes), de ello, que el elemento básico de trabajo sean las
matrices.
Básicamente se puede entender Matlab como un entorno de computación numérica
procedimental e interactivo, con un lenguaje de programación propio. Con él se
pueden crear scripts y funciones (ficheros .M) que pueden ser llamados desde la
ventana de Matlab. Este esquema de trabajo ha permitido el desarrollo de toolboxes
especializados en diferentes áreas.
Matlab se compone de 5 partes:
1. Lenguaje de programación, orientado a objetos.
2. Entorno de trabajo, con debugger y profiler. En la versión 6 (noviembre del
2000) se mejora el entorno, pasando al estilo de entornos de desarrollo tales
3
4
Matrix Laboratory.
Lenguaje de programación diseñado con un propósito especı́fico siguiendo al 3GL en una tendencia hacia una mayor abstracción.
18
1.2 Estado del Arte de las tecnologı́as de simulación
como Visual Basic o Delphi. El lenguaje Matlab se ejecuta mediante interprete
de manera natural, aunque puede compilarse para producir un Matlab Executable (MEX), conocido normalmente como fichero MEX, para incrementar la
velocidad. Las rutinas C y Fortran se pueden acoplar con Matlab en runtime,
mediante los ficheros MEX.
3. Sistema gráfico, para visualización 2D y 3D, permitiendo la programación de
un GUI5 .
4. Librerı́a de funciones matemáticas. Se incorpora en la versión 6 la librerı́a
LAPACK (que reenplaza a LINPACK Y EISPACK).
5. API que permite llamar a rutinas C y Fortran desde código Matlab y usar
Matlab como un motor de computación
Simulink es un entorno gráfico de simulación basado en Matlab. Un modelo en
Simulink se describe mediante blocks caracterizados básicamente por unas entradas,
unas salidas y unas variables de estado (continuas y discretas). Es decir un modelo
se describe mediante diagramas de bloques.
Entre sus ventajas:
Definición de subsistemas para poder ser usados como nuevos bloques, permitiendo una descripción jerárquica sin lı́mites.
Librerı́as de bloques built-in.
Bloques personalizables, no solo en su comportamiento, sino también en sus
cuadros de diálogo, de parametrización, etc. Éstos pueden ser añadidos a las
librerı́as.
S-Functions o funciones del sistema. Código creado para describir el comportamiento de un bloque Simulink. Puede desarrollarse en Fortran, C, Ada o
Matlab. Simulink suministra modelos de funciones para su preparación. Sobre
C y Matlab es posible que estos bloques creados sean multipuerto y multimuestreo (multirate) o intervalos de muestreo diferentes en diferentes bloques
discretos. El editor de mascaras permite preparar un diálogo para cualquier
bloque de S-function.
La fundamental limitación de Simulink es su orientación a la simulación de sistemas de control, lo que le lleva a la descripción de los modelos sólo como diagramas
de bloques que son ejecutados según un modelo secuencial. Esta estructura secuencial sigue el paradigma de modelado causal, vigente en la mayorı́a de los sistemas
comerciales y académicos, y ha obtenido muy buenos resultados. Sin embargo el
5
Graphic User Interface.
19
1 Introducción
modelado no causal que rige la nueva especificación en Modelica, aporta ventajas
a la hora de modelar sistemas fı́sicos permitiendo una discretización del espacio de
simulación que realmente consigue los objetivos de reusabilidad e interoperabilidad.
Una buena descripción de la forma de trabajo de Simulink se puede ver en [?].
1.2.2.
Simulación de eventos discretos
Al igual que el apartado anterior, muchos de los entornos de simulación discreta
tienen ciertas capacidades para modelar sistemas continuos, aunque su objetivo no
sea ese.
Como se puede comprobar a continuación, el área de simulación de eventos discretos sı́ ha desarrollado una gran cantidad de entornos basados en Web, especialmente
sobre Java. Asimismo, las arquitecturas distribuidas, como HLA6 , parecen mejor
preparadas para este tipo de sistemas.
Esto puede ser debido en principio, al tipo de simulaciones en las que el DoD7
está interesado, lo que ha supuesto un ”tirón” en las tecnologı́as en ese campo, pero
no en los simuladores basados en modelos de sistemas continuos.
JSIM
Es un entorno de simulación y animación de sistemas de eventos discretos (Colas)
basado en Java. Es un entorno de simulación para pruebas e investigación de acceso
libre (incluyendo a su fuente, etc).
Los aspectos principales en los que se centra JSim son fisiologı́a y biomedicina,
aunque su motor computacional es bastante general y aplicable a un amplio rango de
dominios cientı́ficos. Los modelos de Jsim mezclan ODEs, PDEs, ecuaciones implı́citas, integrales, sumatorios, eventos discretos y código de procedimiento apropiado.
Permite la construcción de un modelo mediante:
Un paquete de eventos: paradigma de conducción por eventos.
Un paquete de procesos: paradigma de interacción entre procesos.
Además cuenta con un paquete jmodel que permite construir de manera gráfica
modelos basados en procesos. El paquete qds (query driven simulation) permite
controlar la ejecución de modelos de simulación como Java beans.
Es importante comentar que en las lı́neas de investigación futura sobre entornos
de simulación basados en componentes, se encuentra el uso de los nuevos API de
Java, Java 3D y Enterprise Java Beans (EJB), Java IDL (CORBA).
Ha sido considerado en el Proyecto de investigación de Mitre-DoD y en el proyecto
Physiome.
6
7
High Level Assembly, ensambladores de alto nivel.
Departamento de defensa de los Estados Unidos.
20
1.3 Introducción a la Farmacocinética
1.3.
Introducción a la Farmacocinética
A lo largo de muchos siglos, la terapéutica se basó en la prescripción de medicamentos a dosis empı́ricas hasta que, a principios del Positivismo8 , toma cuerpo el
concepto de interacción fármaco-organismo.
Si la interacción del fármaco sobre el organismo constituı́a el objetivo de la Farmacodinámica, ciencia ya antigua, precursora de la Farmacologı́a actual, su referente
pasivo, es decir, la acción del organismo sobre el fármaco, ha constituido en época mucho más reciente el objetivo de la Farmacocinética, que surge hace alrededor
de 75 años, pero cuya aplicación práctica data de algo menos de 50. Esta nueva
disciplina podrı́a definirse, en términos generales, como el estudio de la evolución
temporal de los niveles de fármaco en el organismo tras la admisnistración de una
dosis determinada, lo que incluye su absorción o entrada en el torrente circulatorio, su distribución a los diferentes tejidos y órganos -en algún punto de los cuales
se encuentra en biofase o lugar de acción- y su eliminación del organismo, sea por
excreción directa o por metabolismo, que da origen a derivados más polares y más
fácilmente excretables que su precursor. Las relaciones entre ambas disciplinas son
obvias: todos los procesos farmacocinéticos influyen en el comienzo, la intensidad
y la duración de las respuestas farmacodinámicas e incluso pueden actuar como
factores limitantes de las mismas.
Hoy en dı́a la Farmacocinética constituye una herramienta imprescindible para el
uso eficaz y seguro de los fármacos en determinados grupos de pacientes a través de
la Farmacocinética Clı́nica 9 . La monitorización de fármacos con escaso margen de
seguridad constituye un magnı́fico ejemplo de la aplicación de los principios farmacocinéticos a la práctica rutinaria de la terapéutica. Paralelamente la Farmacocinética
se proyecta con fuerza sobre el diseño de fármacos y profármacos, ası́ como en el
desarrollo de nuevas formulaciones tecnológicas a través de la Biofarmacia, lo que
permite asegurar a nivel básico, fisicoquı́mico o, más frecuentemente, tecnológico, la
biodisponibilidad óptima de un fármaco en sus respectivas formas farmacéuticas o, si
se quiere, obtener de él el máximo rendimiento terapéutico. Las bases farmacocinéticas aplicables a los campos de la Farmacocinética Clı́nica y de la Biofarmacia son
análogas, pero la forma en que se aplican es muy distinta. De los nuevos contextos
cientı́ficos, la Biofarmacia podrı́a considerarse como el motivador, la Farmacocinética como el dinamizador, y la moderna Tecnologı́a Farmacéutica como la concreción
práctica.
8
El Positivismo es una corriente o escuela filosófica que afirma que el único conocimiento auténtico
es el conocimiento cientı́fico. Deriva de la epistemologı́a que surge en Francia a principios del
siglo XIX.
9
La Farmacocinética Clı́nica se ocupa principalmente del ajustado individual de la posologı́a en
distintos grupos poblacionales.
21
1 Introducción
Los conceptos de “biodisponibilidad” y “bioequivalencia” dieron origen al nacimiento y desarrollo de la nueva ciencia farmacéutica que se conoce con el nombre de
Biofarmacia. Dicha ciencia ha sido definida como la ciencia que estudia la biodisponibilidad de los fármacos en sus formas farmacéuticas y el modo de alcanzar su
óptimo a través del estudio de las interacciones fármaco-forma farmacéutica-sustrato
biológico.
Para el desarrollo de la Biofarmacia, es necesario un conocimiento profundo de las
propiedades fisicoquı́micas y biológicas del fármaco objeto de estudio y de las caracterı́sticas de la forma farmacéutica que constituye su soporte. Todos estos factores
deberı́an encauzarse hacia la liberación del fármaco en el lugar preciso para su óptimo aprovechamiento, garantizando ası́ su correcta absorción, tras la cual, el fármaco
sufrirá el proceso de distribución a los diferentes fluidos, tejidos y órganos (en algún
punto de los cuales accederá a su biofase o lugar de acción) y, simultáneamente,
será eliminado por metabolismo y/o excreción directa.
El problema de la liberación del fármaco y de su modulación puede resolverse a
nivel fı́sico, quı́mico o tecnológico. Los restantes procesos constituyen, en cambio,
el objeto de la Farmacocinética general o básica, que se define como el estudio y
caracterización de la evolución temporal de los fármacos y de sus metabolitos en
el organismo, a través del análisis cinético de las curvas concentración/tiempo o
cantidad/tiempo obtenidas a partir de muestras de fluidos orgánicos. La Farmacocinética, que habı́a iniciado su andadura a finales del primer cuarto de nuestro siglo,
se consideraba poco menos que una curiosidad de labortorio hasta la irrupción en
escena de la Biofarmacia. A partir de ese momento deja de ser pura especulación y
encuentra su primera aplicación práctica importante al resolver, matemáticamente,
el problema de la evaluación de la biodisponibilidad mediante la integración de todos
los procesos de evolución temporal del fármaco en una magnitud concreta que se
identifica, en muchos casos, con el área bajo las curvas concentración/tiempo y con
su velocidad de incorporación expresada por una constante cinética fundamental.
1.3.1.
Evolución temporal de los fármacos en el organismo
La administración de un fármaco en una forma farmacéutica a un organismo
humano o animal somete a las moléculas del fármaco a una serie de procesos que se
pueden sintetizar en: liberación (L), absorción (A), distribución (D), metabolismo
(M) y excreción (E). Esta evolución temporal de los fármacos en el organismo se
conoce como procesos LADME y se muestra en la figura 1.7.
Tomando como ejemplo la administración por vı́a oral de una forma agregada,
la liberación es el primer proceso que debe sufrir el fármaco o principio activo,
finalizando dicho proceso con la disolución del mismo. En el caso de la administración
de una solución, este proceso no existe.
Posteriormente a la liberación, tiene lugar la absorción, proceso mediante el cual
las moléculas del fármaco alcanzan la circulación sanguı́nea. Este proceso no existe
22
1.3 Introducción a la Farmacocinética
Figura 1.7: Secuencia de procesos LADME, [?]
en el caso de la admininistración parenteral intravenosa, aunque sı́ cuando se trata
de una administración parenteral extravasal, como la intramuscular o la subcutánea.
Una vez que las moléculas del fármaco han alcanzado la circulación sanguı́nea
tiene lugar su distribución por el organismo, llegando a un estado de equilibrio en la
distribución. El tiempo necesario para que se logre dicho equilibrio es muy variable
para los distintos fármacos, de modo que su mayor o menor rapidez va a condicionar
el modelo cinético.
Desde el momento de su llegada a la circulación sanguı́nea, y al mismo tiempo
que la distribución, tiene lugar la eliminación del fármaco, que puede ser mediante
metabolismo y/o excreción como fármaco inalterado por orina o bilis mayoritariamente.
Como ya se ha indicado, el metabolismo y la excreción constituyen la eliminación. Por otra parte, la distribución y la eliminación componen, en su conjunto, la
disposición del fármaco.
Los procesos LADME se pueden describir mediante tres posibles cinéticas caracterizadas por el orden de reacción: orden uno, orden cero y orden mixto, también
conocida como cinética de Michaelis-Menten.
La cinética de orden uno (o primer orden) presenta la siguiente ecuación de
velocidad:
dQ
= −k · Q
dt
(1.1)
23
1 Introducción
donde Q representa la cantidad (en unidades de masa) de fármaco en un momento
determinado, k es la constante de primer orden (tiempo) y dQ/dt representa la
velocidad de desaparición del fármaco desde el lugar considerado.
Resolviendo la ecuación diferencial anterior se obtiene una expresión de Q en
función del tiempo:
Q = Q0 · e−k·t
(1.2)
expresión en la que Q0 es la cantidad inicial de fármaco (a tiempo cero) y t es el
tiempo transcurrido.
La ecuación 1.2 puede transformarse en la ecuación de una recta si se toman
logaritmos neperianos en ambos miembros de la igualdad:
lnQ = lnQ0 − k · t
(1.3)
De esta forma, para procesos con cinética de primer orden la representación de la
curva cantidad de fármaco (en logaritmo neperiano) frente al tiempo da lugar a una
recta.
La cinética de orden cero tiene ecuaciones equivalente a las anteriores, tal y
como se muestra a continuación:
dQ
= −k0
dt
(1.4)
Q = Q0 − k0 · t
(1.5)
en las que k0 es la constante de orden cero, en unidades de masa/tiempo. En este
caso, a diferencia de la cinética de orden 1, la representación de la ecuación 1.5 da
como resultado una recta sin necesidad de transformación alguna de la ecuación.
La cinética de Michaelis-Menten, o de orden mixto, presenta la siguiente ecuación de velocidad:
Vm · Q
dQ
=−
dt
Km + Q
(1.6)
en la que Vm representa la velocidad máxima del proceso y Km se corresponde
con la cantidad de fármaco relativa a una velocidad que es la mitad de la velocidad
máxima (Vm /2).
La forma integrada de la ecuación 1.6 se corresponde con:
t=
24
1
Q0
(Q0 − Q + Km · ln )
Vm
Q
(1.7)
1.3 Introducción a la Farmacocinética
No se ha encontrado una solución integrada de la ecuación de Michaelis-Menten
en la que Q aparezca de forma explı́cita. Se toman por tanto dos situaciones lı́mite
que permiten la simplificación y resolución de la ecuación anterior.
Situación 1: Cantidad de fármaco muy inferior al valor de Km .
Q Km
En este caso puede despreciarse Q frente a Km en la ecuación 1.6, con lo que se
obtiene:
Vm · Q
dQ
≈−
= −k · Q
dt
Km
(1.8)
Esta ecuación se asemeja a una cinética de primer orden en la que k es igual al
cociente de Vm y Km .
Situación 2: Cantidad de fármaco muy superior al valor de Km .
Q Km
En este caso puede despreciarse Km frente a Q en la ecuación 1.6, con lo que se
obtiene:
dQ
Vm · Q
≈−
= −k0
dt
Q
(1.9)
Esta ecuación se asemeja a una cinética de orden cero, siendo el valor de k0 igual
al valor de Vm .
Los procesos de liberación-absorción suelen presentarse, en su conjunto como
un proceso de orden uno o pseudoorden uno, por lo que la cinética con la que el
fármaco accede a la sangre puede representarse mediante la ecuación 1.8. Aunque
esta ecuación puede emplearse para describir la velocidad de absorción de la mayorı́a
de los fármacos, en ocasiones la absorción propiamente dicha puede tener lugar de
acuerdo con una cinética de Michaelis- Menten, ecuación 1.6.
Por otra parte, las caracterı́sticas de la forma farmacéutica pueden ocasionar que
la desaparición del fármaco desde el lugar de absorción discurra según una cinética
aparente de orden cero, como sucede frecuentemente cuando se utilizan sistemas de
liberación sostenida, ecuación 1.9.
La distribución de los fármacos responde, en general, a una cinética de primer
orden.
El metabolismo es un proceso que intrı́nsicamente se corresponde a una cinética
de Michaelis-Menten. No obstante, si las concentraciones de fármaco en plasma no
25
1 Introducción
son muy elevadas, dicho proceso puede aproximarse mediante una cinética de orden
uno, como se ha indicado anteriormente.
La excreción por vı́a renal puede tener lugar a través de diversos mecanismos.
Ası́, la filtración glomerular y reabsorción tubular son procesos de primer orden,
mientras que la secreción tubular activa es un proceso con cinética de MichaelisMenten, aunque al igual que se ha indicado para el metabolismo, si la concentración
del fármaco no es muy elevada, puede presentarse como un proceso de primer orden
aparente.
En los procesos del LADME se aprecia la existencia de una interdependencia entre
ellos, presentándose algunos de estos procesos de modo consecutivo. En el caso de
procesos consecutivos, como pueden ser los de liberación y absorción, si el primero
(liberación) es más lento que el segundo (absorción), la velocidad, e incluso el orden
del segundo, quedan supeditados a los del primero. Se dice, en este caso, que la
liberación es factor limitativo de la absorción.
El estudio del LADME en humanos, más limitado que en animales de experimentación, se lleva a cabo mediante muestras de orina y sangre. Por ello, dicho estudio
se aborda mediante dos tipos de datos: las concentraciones plasmáticas y las cantidades excretadas en la orina de fármaco inalterado, obtenidas a distintos tiempos
tras la administración.
La representación frente al tiempo de los datos anteriores configura:
Las curvas de nivel plasmático.
Las curvas de excreción urinaria: distributivas o acumulativas.
1.3.2.
Modelado farmacocinético compartimental
La Farmacocinética posee una base matemática clara, ya que describe los fenómenos de transferencia de las concentraciones de fármaco, regidos por constantes cinéticas de velocidad, sea desde el lugar de absorción hacia el plasma, de intercambio
entre los distintos sectores o compartimentos orgánicos, o de eliminación y acumulación en los lugares de excreción del fármaco. Esencialmente, para instaurar una
terapeútica racional, es tan importante conocer las caracterı́sticas farmacodinámicas
de un medicamento como su comportamiento farmacocinético.
Un sistema farmacocinético está orientado a la descripción de los procesos LADME en los organismos y no considera la biofase o lugar y mecanismos fisicoquı́micos
que provocan el efecto terapéutico.
Con el fin de lograr una adecuada descripción de la evolución temporal de los niveles del fármaco, se recurre a modelos en los que se expresan matemáticamente las
velocidades de los procesos de absorción, distribución y eliminación, que finalmente
llevan a ecuaciones que permiten describir y predecir las cantidades o concentraciones
26
1.3 Introducción a la Farmacocinética
del fármaco en el cuerpo en función del tiempo. La comparación de las predicciones
del modelo con los datos que pueden obtenerse experimentalmente permite constrastar las hipótesis de partida utilizadas en la elaboración del mismo, ası́ como nuevas
hipótesis.
Una de las caracterı́sticas más interesantes de los sistemas farmacocinéticos es que
pueden ser considerados modelos fisiológicos simplificados. La adición de caracterı́sticas anatómicas y de transporte mecánico (presiones hidráulicas, rutas metabólicas,
etc.) permite su extensión para considerar dominios fisiológicos, aprovechando las
ventajas y éxito demostrado de la farmacocinética.
Este éxito parte de los principales componentes que describen un modelo farmacocinético compartimental: pools bien agitados y membranas. Ambos componentes
están distribuidos siguiendo una primera división anatómica, para sustituir en una
fase posterior varios de los subsistemas farmacocinéticos por modelos fisiológicos
acoplados, con niveles de descripción diferentes.
Los modelos compartimentales son los más utilizados en farmacocinética. Un compartimento representa una fracción de material biológico en el que el fármaco se supone uniformemente distribuido y en el que presenta las mismas propiedades cinéticas.
Ası́ pues, un compartimento tiende a agrupar zonas orgánicas afines, pero en
realidad se trata de un concepto meramente cinético, cuya entidad no es necesariamente fisiológica en sentido estricto, aunque sı́ abarca zonas con constantes cinéticas
semejantes.
Un compartimento viene definido por sectores acuosos que ocupan un volumen
determinado (V) y que contienen una cantidad determinada de fármaco (Q). Por
tanto, la concentración de fármaco (C) en el compartimento vendrá dada por el
cociente entre Q y V.
El organismo es muy complejo y teóricamente podrı́a dividirse en un gran número
de compartimentos (uno por cada tejido diferente, por ejemplo). Sin embargo, ello
llevarı́a a un tratamiento matemático muy complejo de los procesos cinéticos a los
que se halları́a sometido el fármaco en cada uno de dichos compartimentos.
En la práctica se recurre a una simplificación drástica y se considera al organismo
constituido por el mı́nimo número posible de compartimentos, siempre que con ello
se pueda lograr una adecuada descripción farmacocinética.
Otro aspecto importante a tener en cuenta en la elaboración de un modelo farmacocinético es si se trata de un modelo cinético lineal o no lineal. Definiéndose la
linealidad cinética como una proporcionalidad directa entre velocidades de transferencia y concentraciones. Por tanto, un modelo farmacocinético lineal es aquél en
el que los procesos responden a una cinética de primer orden (proporcionalidad directa entre velocidad y concentración, o velocidad y cantidad si no hay variación de
volumen).
27
Descargar