close Warning: Can't synchronize with repository "(default)" (/var/svn/mms does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 15 years ago

Closed 15 years ago

#28 closed doubt (fixed)

Tipo de parámetro en @MMS.ResultingParameter

Reported by: atorre Owned by: Pedro Gea
Priority: minor Milestone: Estimation 0.5
Component: Parameters Keywords: parámetros, resultados
Cc:

Description

Hola MMS,
¿Cómo se puede saber el tipo de parámetro para la clase
@MMS.ResultingParameter? En general, si queremos saber cosas del
parámetro, ¿cómo podemos saber a qué parámetro hace referencia? ¿No podría
esta clase tener una copia del parámetro? ¿o un puntero al parámetro? Mi
duda en este caso sería a qué parámetro, debería ser al de la copia del
modelo de @MMS.Estimation, ¿no?

Change History (4)

comment:1 Changed 15 years ago by atorre

Status: newaccepted

Hola,
me cuesta comprender bien, cual es la situación que lleva a querer conocer
la información de un parámetro a partir de un ResultingParameter.

La estimación tiene ciertamente una copia del modelo sobre la que trabajar
y ella tiene parámetros. Sin embargo, la estimación trabaja sobre el
adaptador de modelos, y para los parámetros concretamente sobre el
adaptador de parámetros (clase ParameterAdapter). El adaptador de un
parámetros nos devuelve toda la información que necesitemos sobre un
parámetro.

Por ejemplo para conocer los parámetros lineales de un determinado output
(o submodelo) se puede hacer:

Set
estimation::GetModel(?)::GetSubmodel("Veh.Tur.Mat")::GetParametersLinear(?);

y obtendremos un Set de adaptadores de parámetros con un atributo _.info
que contiene información sobre la definición del parámetro.

Un ResultingParameter surge como una alternativa a un Real que nos
permite llevar en un único objeto la información del resultado de un
parámetro más allá de su valor esperado (que sí podría representarse por
un Real). Ahora mismo lleva dos reales, una media y una sigma, y la
suposición de que se distribuye normalmente conforme a esos parámetros.

Como indicaba al comienzo, no soy capaz de imaginar la situación en la que
aparecen esas necesidades. Si pudieras esbozarla un poco quizá podríamos
daros algunas indicaciones de cual es la manera más acorde al diseño de
MMS para actuar.

comment:2 Changed 15 years ago by atorre

Priority: majortrivial

comment:3 Changed 15 years ago by atorre

Priority: trivialminor

comment:4 Changed 15 years ago by atorre

Resolution: fixed
Status: acceptedclosed

La mejor manera de saber algo de un parámetro es obtenerlo, preguntando
por él al modelo que lo contiene.

Por ejemplo, usando el modelo de matriculación de vehículos:

// Con esto pedimos al modelo que encuentre el parámetro
// con ese nombre único o "index"
@MMS.Parameter parameter =
model::GetParameter("Veh.Tur.Mat__Pib.es.Men.Deg0.Coef");

// Luego podemos conocer de que clase derivada de @MMS.Parameter es:
Text class = ClassOf(parameter);

// O incluso podemos crearle un adaptador que nos permite recolectar
// información del parámetro:
@MMS.ParameterAdapter parameterA =
@MMS.ParameterAdapter::Default(parameter);
Set info = parameterA::GetInfo(?);
Note: See TracTickets for help on using tickets.