{scrollbar} |
Para comprender cabalmente los procesos de desarrollo en Ideasoft O3 Planner descritos, es necesario tener presentes algunas definiciones
|
Otros conceptos relevantes, referidos a simulación, se pueden encontrar en el diccionario que se proporciona a continuación:
Para trabajar con la aplicación web, el procedimiento es el siguiente:
Que la aplicación sea web implica que está instalada en un único servidor y se accede a ella a través de un navegador web. Para su acceso es necesario contar con acceso a una red.
La simulación se estructura en componentes
Dichos componentes se nutren unos de otros a través de las dependencias.
En Zona de menú >> dependencias se puede observar un mapa de dependencia como el que se muestra en la siguiente figura.
Este es un ejemplo de un mapa de dependencias desarrollado para un modelo específico
Cada uno de los nodos de este mapa representa un componente, mientras que las flechas indican la toma de información. Por ejemplo, el componente Resultados toma para sus proyecciones los resultados de los componentes Ingresos, Costos y Gastos.
Un componente es la unidad básica de un modelo de simulación.
Consiste de:
(1) los elementos a simular
(2) el tiempo de la simulación
(3) las variables de simulación
Asimismo, una vez calculada la simulación, los atributos estarán presentes para permitir la revisión y análisis del resultado de la simulación. Puede verse en un gráfico, calcularse el crecimiento estimado mes a mes, disgregarse por alguna dimensión, etc.
El simulador extraerá de las fuentes de datos los elementos a simular para realizar los cálculos.
En el contexto de un escenario, un componente tiene asignado en todo momento un estado de cálculo y un estado de cierre.
Considerando el aspecto de cálculo, los estados posibles son: Calculado, No calculado y Necesita recálculo. El estado inicial es No calculado.
Los íconos de calculado, no calculado y necesita recálculo, se pueden apreciar en el menú, junto con la lista de componentes, o en la propia descripción del componente.
Considerando el aspecto de cierre, los estados posibles son: Abierto y Cerrado. El estado inicial es Abierto.
Para cerrar un componente es necesario primero calcularlo, o sea que no es posible cerrar un componente no calculado.
El ícono que representa que el componente está cerrado es un candado.
Un componente calculado tiene asociado un data mart conteniendo el resultado de la simulación.
Dimensiones: fecha, escenario y una dimensión por cada atributo de los elementos que se simularon.
Medidas = variables del componente
Este data mart puede ser manipulado desde un navegador (Internet Explorer, Mozilla Firefox) por lo que se puede trabajar conectándose desde cualquier ubicación.
Un modelo de simulación está definido por un conjunto de componentes, con dependencias de cálculo de unos a otros.
El presupuesto dará distintos resultados según los datos de entrada que tome.
Cada combinación de datos de entrada distinta dará lugar a un escenario distinto del estado de resultados.
En otras palabras, un escenario es un posible estado de resultados futuro.
El usuario puede definir tantos escenarios como desee, la estructura del modelo (fórmulas, parámetros, variables, dependencias) será siempre la misma, mientras que los datos de entrada y los resultados irán variando para cada escenario.
En esta imágen se pueden apreciar dos escenarios, ambos respetan la misma estructura, pero difieren al menos en una versión de sus datos, por lo que sus salidas serán distintas.
Un escenario refiere a la ejecución de una simulación, una vez definidos todos los otros componentes podemos decir que se ha definido un escenario de simulación, si alteramos alguna de sus hipótesis, estamos generando otro escenario.
Los escenarios son usados para anticiparse al futuro respondiendo preguntas como: ¿Que pasará con mis resultados si el precio por minuto saliente a fijo sube en agosto un ...%? ¿Cómo cambiarán los ingresos y egresos si se incorpora el servicio de terminales aseguradas?, etc.
En resumen, permite obtener conclusiones a preguntas del tipo What If...?
Permite también plantearse distintos escenarios, oficial, optimista, pesimista, etc.
Un escenario tiene asignado en todo momento un estado de cálculo y un estado de aprobación.
Estados de aprobación: Borrador, Tentativo, Aprobado y Archivado. El estado inicial es Borrador.
Cuando el escenario se encuentra en estado borrador o tentativo, sus componentes pueden estar calculados o no.
Para aprobar el escenario es necesario que todos sus componentes estén calculados. Al aprobarlo se podrán ver candados en todos sus componentes y en todas las versiones de datos que éste toma.
Una fuente de datos puede ser no versionada o versionada.
Por su parte, una fuente de datos versionada permite que los datos que contiene pueden agruparse en distintas versiones. Un ejemplo de fuente de datos versionada puede ser el IPC. Las fuentes de datos versionadas pueden ser agrupadas en los llamados grupos. Este concepto permite controlar el nivel de complejidad que puede producirse al trabajar con: (1) una gran cantidad de fuentes de datos versionables y (2) una gran cantidad de escenarios para realizar simulaciones. Ver Grupo y Escenario.
¿Cómo se conforma un escenario?
Cada escenario utiliza todas las tablas de datos. Lo que puede variar es la información contenida en las mismas.
Para facilitar el manejo de las hipótesis se introduce el concepto de grupos de datos: engloban conjuntos de tablas que evolucionan de manera interrelacionada.
En lugar de versionar las tablas cada una por separado, se versiona el grupo. Es decir, el escenario X se compone de la versión a para el grupo 1 (en lugar de indicar que el escenario X se compone de la versión i para la tabla x, de la versión j para la tabla y, etc.)
Un escenario define las versiones de los datos fuentes de una simulación. Las versiones de los datos de una simulación están definidas por la versión de cada uno de los grupos usados por los componentes del simulador.
Un grupo es un conjunto de fuentes de datos versionables. La versión de un grupo es un número y un nombre. Un grupo puede tener definido varias versiones. Eligiendo las versiones de los grupos se conforman distintos escenarios.
Un grupo es un conjunto de fuentes de datos versionables. La versión de un grupo es un número y un nombre. Un grupo puede tener definidas varias versiones. Eligiendo las versiones de los grupos se conforman distintos escenarios.
El concepto de versión es definido a nivel de un grupo. La versión de un grupo tiene un impacto hacia todas las fuentes de datos del grupo. Por un lado, los datos de esas fuentes de datos deben asociarse necesariamente a alguna de las versiones definidas para el grupo al cual la fuente pertenece. Por otro lado, al definir un escenario se indica solamente la versión del grupo. Esto significa que el cálculo de la simulación para ese escenario se hará tomando como datos aquellos de dicha versión.
El criterio de agrupamiento debe tener en cuenta este comportamiento para facilitar el manejo de versiones. Por un lado, definir un grupo conteniendo varias fuentes hace que la versión del grupo sea la versión de todas sus fuentes (evitando la referencia a la versión de cada fuente de datos). En el otro extremo, definir un grupo conteniendo una fuentes hace que todas las fuentes se versionen diferente (permitiendo que cada fuente de datos evolucione independientemente). La búsqueda del equilibrio entre ambos extremos es un tema de diseño que depende de la aplicación en particular.
Una versión de un grupo tiene asignado en todo momento un estado de cierre siendo los estados posibles: Abierto y Cerrado. El estado inicial es Abierto.
Las fuentes versionables se encuentran en los grupos de datos, puesto que lo que se versiona son los propios grupos. Las fuentes no versionables, por definición, no están asociados a ningun grupo.
(También llamada Fórmula de simulación, Expresión de cálculo, Expresión de simulación)
Una fórmula usada en un componente puede contener constantes, variables de simulación del componente, atributos de los elementos del componente, atributos de la dimensión tiempo, parámetros, funciones (e.g. matemáticas y manejo de fechas) y funciones específicas (Parameter y Variable).
Las fórmulas:
La notación es la misma si se encuentra en el modelo o si está definida en datos.
Algunas de las expresiones de cálculo que se pueden observar son:
La simulación en el tiempo de una variable está definida por dos fórmulas: la fórmula inicial y la fórmula de paso.
Por ejemplo, considerando la variable "ingreso" del componente Otros Ingresos, para el concepto Multas, Recargos e Intereses:
En este ejemplo la fórmula inicial es:
Parameter("ResultadoInicial", "year", AnioBase)*IPC
Va a buscar el dato de resultado inicial del rubro, ingresado como dato para el año base y lo multiplica por "IPC" que es el factor de crecimiento del IPC.
y la fórmula de paso:
Ingreso * IPC
Busca el resultado de la variable ingreso para el mes anterior (si no se indica período toma el cálculo de 1 mes hacia atrás)
En otros casos, los cálculos de un mes no dependen de los resultados del mes anterior, como es el caso de P*Q, por lo tanto, la fórmula de inicialización y la de paso será la misma (tanto la fórmula inicial como la de paso puede ser definida por "cantidad * precio", donde "cantidad" y "precio" son parámetros que, dados el producto y una fecha, devuelven la cantidad y precio, respectivamente)
Una fórmula usada en un componente puede contener
Función parameter: se busca el valor de un parámetro únicamente para un concepto, rubro, elemento, ... determinado.
El parámetro refiere a datos ingresados en el modelo o a resultados de otros componentes
Referencias directas a parámetros: En algunos casos se escribe directamente el nombre del parámetro. Por ejemplo, en el porcentaje de cargas sociales: se carga el dato en un campo para todo el año a simular, por lo que basta con escribir el nombre del parámetro - CargasSociales-
Función Variable: se busca el valor de una variable únicamente para un concepto, rubro, elemento, ... determinado.
La variable es el resultado de otro cálculo anterir del mismo componente.
Como se puede apreciar en la definición de las funciones, la diferencia entre la función parameter y la función variable es la ubicación del dato que se busca.
Parameter: Fuentes de datos, variables de otros componentes
Variable: variables del mismo componente
La notación básica de las funciones parameter y variable se ilustra en la siguiente imágen.
En la descripción de cada componente se puede apreciar
Los parámetros intervienen en la definición de las fórmulas.
Un parámetro se utiliza para representar y referenciar dentro del modelo de simulación las 2 situaciones siguientes:
En el primer caso se habla simplemente de parámetro mientras que en el segundo caso se habla de parámetro de componente.
Un ejemplo de la primera situación son los parámetros que representan índices económicos tales como el IPC (índice de precios al consumo) y el IMS (índice medio de salarios) Un ejemplo de la segunda situación es un parámetro "CantidadVenta" que ofrece a un componente "Ingresos P*Q" la cantidad estimada de los productos calculada en otro componente.
Los parámetros se hacen corresponder con las fuentes de datos o componentes de donde el simulador extraerá valores para realizar los cálculos. En esta correspondencia se indican los argumentos y el atributo de retorno. Para ello se usa el concepto de alcance.
|
En el momento del cálculo de una variable de un componente cuya fórmula contiene un parámetro, la evaluación del parámetro se realiza mediante los pasos siguientes:
Del primer paso anterior pueden surgir situaciones de borde:
En cuanto a la resolución de parámetros es necesario puntualizar que los distintos alcances se recorren en el orden en que fueron definidos y la primer alternativa que se satisfaga será el valor retornado. Para que un alcance sea satisfecho deben ocurrir dos aspectos:
1. Todas las "dimensiones" deben tener un valor de forma de poder "armar la consulta"
2. La sentencia debe retornar algún valor y el mismo no puede ser nulo.
Todo parámetro debe, por lo menos, tener un alcance para estar bien definido.
La noción de alcances de un parámetro permite simplificar las fórmulas en caso que la fórmula a aplicar en un paso dependa del elemento siendo simulado. En este caso y sin contar con este mecanismo de alcances implicaría que la fórmula refleje explícitamente la discriminación necesaria. Adicionalmente, la aparición de nuevos casos implicaría modificar la fórmula que contiene los discriminantes aumentando las posibilidades de error.
Un simulador es una aplicación de software definida con O3 Planner que permite gestionar simulaciones incluyendo mecanismos de seguridad, análisis de los resultados y vinculación de objetos de análisis tales como cubos, vistas, dashboards y scorecards. A grandes rasgos, un simulador se define en 2 grandes pasos que consisten en:
Dado un escenario, el estado del simulador para ese escenario está dado por el estado de sus componentes.
Dado un simulador s y un escenario e, una simulación es el resultado del cálculo o ejecución del modelo de simulación de s usando como datos fuentes aquellos correspondientes a las versiones definidas en e según la dimensión tiempo definida en el modelo de simulación.
Dicho cálculo tiene incluído como efecto el cálculo de todos los objetos de análisis asociados a los componentes del modelo de simulación.
El estado de la simulación está dado por el estado del escenario y por el estado de cada uno de los componentes del modelo de simulación del simulador.
O3 Planner es un conjunto de herramientas de software que permite la generación de sistemas de simulación o simuladores. Está compuesto de un servidor java y una aplicación desktop java. La aplicación desktop provee editores que permiten definir el modelo (esquema) de las fuentes de datos y el modelo de simulación (a este conjunto de editores se le denomina el diseñador). A su vez provee la funcionalidad de publicar los modelos definidos en el servidor generando así el simulador. El simulador generado es accesible mediante un navegador de internet (por ejemplo, IE o Mozilla) por medio de una aplicación web.
{scrollbar} |