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 14 years ago

Closed 13 years ago

#503 closed defect (fixed)

Nombres largos y BSR

Reported by: Pedro Gea Owned by: Pedro Gea
Priority: blocker Milestone: Release 0.6
Component: StrategyBSR Keywords:
Cc:

Description

Se encuentran problemas con el uso de nombres largos en los objetos MMS (estimaciones, submodelos y jerarquías) y la estrategia de estimación BSR.

Change History (18)

comment:1 Changed 14 years ago by Pedro Gea

Véanse los cambios [2181] y [2185]

comment:2 Changed 14 years ago by Pedro Gea

(In [2190]) Se modifica el nombre de los segmentos de BSR (los import) para evitar problemas relacionados con la longitud del nombre del archivo.
Refs #503

comment:3 Changed 14 years ago by Pedro Gea

(In [2209]) Se corrige un bug que impide encontrar los parámetros ARIMA en BSR causado por los cambios llevados a cabo para tratar #503.
Habría que revisar con cuidado todos estos cambios y sus consecuencias.
Refs #503

comment:4 Changed 14 years ago by Pedro Gea

(In [2236]) Revísese la línea 25 del archivo fun_bsr_adapter.tol.
Refs #119, #387, #503

comment:5 Changed 14 years ago by Pedro Gea

Owner: set to Pedro Gea
Status: newaccepted

Se ha de determinar la longitud máxima del nombre completo de archivo a partir del cual se producen errores en el guardado y así elegir adecuadamente los parámetros de los mecanismos "ShortenIdentifier".

comment:6 Changed 14 years ago by Pedro Gea

Véase TOL#1091

comment:7 Changed 14 years ago by Pedro Gea

(In [2295]) Se revisan los problemas debidos a la longitud excesiva de los nombres.
Se admite que se no habrá problema cambiar el nombre del archivo OZA del bloque de filtros no lineales de BSR.
Se establece una configuración MMS para la ruta local del paquete.
La configuración relativePath de las estrategias queda obsoleta.
Desaparecen los métodos GetSession y GetPath por defecto de las estrategias
Se modifican los métodos ShortenIdentifier* en el que se añade la longitud máxima.
Se recuperan los nombres completos para los objetos en BSR.
Se controla la longitud de las rutas en los métodos GetPath de las clases adaptadoras a BSR.
Refs #503

comment:8 Changed 14 years ago by Pedro Gea

Nótese que la nueva ruta donde se localizan los ascii de BSR tiene la forma:

%AppData%/tol/MMS/BSR/<estimacion>__<version>/YYYY.MM.DD_HH.MM.SS/

en lugar de la anterior:

%AppData%/tol/tmp/MMS/BSR/Model.at.<estimacion>__<version>/yYYYYmMMdDDhHHiIIsSS.SS/

Los nombres en estos archivos se recortarán convenientemente para evitar errores.

La ruta de MMS por defecto: %AppData%/tol/MMS/ puede modificarse a traves de la configuración de MMS "LocalPath" (ubicada en MMS::Settings).

comment:9 Changed 14 years ago by Pedro Gea

Solo queda una dificultad en cuanto al nombre de los objetos debida a

  • la limitación TOL en la longitud de los objetos a 255 y
  • el hecho de que BSR cree objetos basados en ese nombre añadiendole extensiones como: ".BSR.CodaSummary".

Se sugiere impedir nombres en MMS superiores a una longitud por defecto, menor que 255, claro.

comment:10 Changed 14 years ago by lmperez

Buenas, en el bsrlayer se evitaba este problema sustituyendo las cadenas largas por un identificador que fuese:
modelo, nodo observacional, id_session, entrada, salida = "I"+contador
y se guardaba en un registro (que era una tabla, ahora debería ser otro objeto), de forma que luego se deshacía el cambio al finalizar las estimaciones. Si querçeis os paso el código por si os da una idea.

comment:11 Changed 14 years ago by Pedro Gea

Gracias Luis, aunque el problema actual es algo más amplio, ya que ahora excede las limitaciones en BSR (éstas ya están prácticamente solucionadas) y se debe a la longitud máxima para el nombre de un objeto o variable TOL cualquiera.

Por ejemplo, si el nombre de un submodelo tiene 150 caracteres y uno de sus términos explicativos también, el identificador del término (submodelName__expTermName) excederá los 255 caracteres máximos y provocará errores.

Se sugiere utilizar una limitación de unos 100 caracteres para los nombres de los objetos en MMS. En mi opinión esta longitud es más que suficiente para identificar un objeto, otra información descripriva que desee añadirse al objeto debería ubicarse en otros atributos más adecuados.

comment:12 Changed 14 years ago by Pedro Gea

(In [2299]) Se amplían los mecanismos para la aceptación de nombres y versiones.
Se crea una limitación en la longitud de los nombres configurable (por defecto en 96).
Se revisan los nombres de los objetos suplementarios y la información de éstos utilizada en BSR.
Véase también el cambio [2279]
Refs #314, #503

comment:13 Changed 14 years ago by Pedro Gea

El tique se puede dar por cerrado, porque con los mecanismos implementados se pueden prevenir errores por la longitud del nombre.

Sin embargo no se da respuesta a cómo tratar o manejar objetos anteriores almacenados ya con nombres más largos que el valor máximo configurado.

comment:14 Changed 14 years ago by Pedro Gea

Resolution: fixed
Status: acceptedclosed

Salvo que se solicite de otro modo, MMS será incompatible por defecto con objetos almacenados con nombres demasiados extensos.
Para poder cargarlos bastaría con modificar, al menos temporalmente, la configuración: Real MMS::Settings::TolName.MaxLength asignándole un valor mayor y luego proceder a renombrar los objetos convenientemente, para una futura carga.

comment:15 Changed 14 years ago by Pedro Gea

Véase la nota sobre el Control de nombres?.

comment:16 Changed 13 years ago by cgarcia

Resolution: fixed
sensitive: 0
Status: closedreopened

Yo aún tengo problemas a la hora de estimar con BSR y objetos de nombres largos. Dejo un ejemplo de estimación que me está dando problemas en B: con un nombre de logitud 75 ( menor que el máximo especificado y recomendado).

Gracias de antemano.

comment:17 Changed 13 years ago by Pedro Gea

Status: reopenedaccepted

Véase: TOL#1395

comment:18 Changed 13 years ago by Pedro Gea

Resolution: fixed
Status: acceptedclosed
Note: See TracTickets for help on using tickets.