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.

Changes between Version 9 and Version 10 of Dif0.6


Ignore:
Timestamp:
Jul 14, 2010, 7:14:41 AM (15 years ago)
Author:
Pedro Gea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Dif0.6

    v9 v10  
    22
    33== Diferencias generales ==
     4
     5=== El paquete MMS ===
     6
     7La diferencia más evidente de MMS_0.6 respecto a MMS_0.5 es su implementación
     8en forma de paquete TOL: MMS pasa a ser un NameBlock que contiene todas
     9las clases y funciones definidas anteriormente como globales.
     10
     11==== Clases ====
     12
     13Las clases en MMS_0.6 pierden el prefijo "MMS." que las caracterizaba y que
     14ahora se sustituye con la llamada via el NameBlock del paquete.
     15
     16En general las clases pasan de: {{{@MMS.[ClassName]}}} a: {{{MMS::@[ClassName]}}}.
     17
     18Nótese que localmente (en el código interno de desarrollo del paquete) estas llamadas
     19no van precedidas de {{{MMS::}}}.
     20
     21==== Contenedor principal ====
     22
     23El contenedor principal que en MMS_0.5 se denominaba {{{MMS}}}, ahora pasa a
     24llamarse {{{Container}}} de modo que su llamada global pasa a ser: {{{MMS::Container}}}.
    425
    526=== Jerarquía entre objetos ===
     
    1435
    1536Desde el punto de vista de la implementación esto puede apreciarse
    16 en el atributo _parent_ de las clases o en el argumento parent de
     37en el atributo {{{_parent_}}} de las clases o en el argumento {{{parent}}} de
    1738sus constructores.
    1839
     
    2748La existencia de referencias de la clase principal entre las clases hijas
    2849los objetos creados así son idecompilables, para evitar esto se crea
    29 un par @MMS.Object - @MMS.ObjectKernel para cada clase principal
     50un par MMS::@[Object] - MMS::@[Object]Kernel para cada clase principal
    3051de acuerdo al tique [https://www.tol-project.org/ticket/863 #863] de TOLProject.
    3152
     
    4162
    4263En la versión 0.6, el módulo se amplía con un objeto contenedor
    43 de variables denominado "conjunto de datos" (@MMS.DataSet) que
     64de variables denominado "conjunto de datos" (MMS::@DataSet) que
    4465agrupa en torno a sí un conjunto de variables entre las que pueden
    4566existir dependencias.
    46 Desaparecen las clases derivadas de @MMS.Variable según la gramática
     67Desaparecen las clases derivadas de MMS::@Variable según la gramática
    4768y aparece una clase derivada para las variables calculadas a partir
    4869de otras variables.
    4970También aparece una nueva clase para la definición de variables
    50 virtuales según el escenario: @MMS.BaseVariable.
    51 
    52   * @MMS.DataSet
    53   * @MMS.DataSetKernel
    54   * @MMS.Variable
    55     * @MMS.VariableCalculated
    56   * @MMS.BaseVariable
     71virtuales según el escenario: MMS::@BaseVariable.
     72
     73  * MMS::@DataSet
     74  * MMS::@DataSetKernel
     75  * MMS::@Variable
     76    * MMS::@VariableCalculated
     77  * MMS::@BaseVariable
    5778
    5879La jerarquía de objetos queda como sigue:
    5980 
    60   * @MMS.DataSet [@MMS.DataSetKernel]
    61     * @MMS.Variable
    62     * @MMS.BaseVariable
    63 
    64 === Diferencias en @MMS.Variable ===
     81  * MMS::@DataSet [MMS::@DataSetKernel]
     82    * MMS::@Variable
     83    * MMS::@BaseVariable
     84
     85=== Diferencias en MMS::@Variable ===
    6586
    6687'''Atributo Source'''
     
    162183Las clases en la versión 0.6 son:
    163184
    164  * @MMS.Model
    165  * @MMS.ModelKernel
    166  * @MMS.MVariable
    167    * @MMS.Output (?)
    168    * @MMS.Input (?)
    169  * @MMS.Transformation (abstracta)
    170    * @MMS.Transformation.BoxCox
    171  * @MMS.MNode (abstracta)
    172    * @MMS.Submodel
    173    * @MMS.Hierarchy
    174  * @MMS.HierarchyTerm
    175  * @MMS.Noise (abstracta)
    176    * @MMS.NoiseNormal
    177    * @MMS.NoiseARIMA
    178  * @MMS.NoiseARIMABlock
    179  * @MMS.MElement
    180    * @MMS.Parameter (abstracta)
    181      * @MMS.ParameterLinear
    182      * @MMS.ParameterNonLinear
    183      * @MMS.ParameterHyper
    184      * @MMS.ParameterMissing
    185      * @MMS.ParameterARIMA
    186      * @MMS.ParameterSigma2
    187    * @MMS.BaseParameter (abstracta)
    188      * @MMS.BaseParameterMissing
    189    * @MMS.MCombination
    190  * @MMS.Constraint
    191  * @MMS.Prior
    192  * @MMS.ExpTerm (abstracta)
    193    * @MMS.ExpTermLinear
    194    * @MMS.ExpTermOmega
    195    * @MMS.ExpTermRatio
    196    * @MMS.ExpTermNonLinear
     185 * MMS::@Model
     186 * MMS::@ModelKernel
     187 * MMS::@MVariable
     188 * MMS::@Transformation (abstracta)
     189   * MMS::@Transformation.BoxCox
     190 * MMS::@MNode (abstracta)
     191   * MMS::@Submodel
     192   * MMS::@Hierarchy
     193 * MMS::@HierarchyTerm
     194 * MMS::@Noise (abstracta)
     195   * MMS::@NoiseNormal
     196   * MMS::@NoiseARIMA
     197 * MMS::@NoiseARIMABlock
     198 * MMS::@MElement
     199   * MMS::@Parameter (abstracta)
     200     * MMS::@ParameterLinear
     201     * MMS::@ParameterNonLinear
     202     * MMS::@ParameterHyper
     203     * MMS::@ParameterMissing
     204     * MMS::@ParameterARIMA
     205     * MMS::@ParameterSigma2
     206   * MMS::@BaseParameter (abstracta)
     207     * MMS::@BaseParameterMissing
     208   * MMS::@MCombination
     209   * MMS::@MEquivalence
     210 * MMS::@Constraint
     211 * MMS::@Prior
     212 * MMS::@ExpTerm (abstracta)
     213   * MMS::@ExpTermLinear
     214   * MMS::@ExpTermOmega
     215   * MMS::@ExpTermRatio
     216   * MMS::@ExpTermNonLinear
    197217
    198218Creando una jerarquía de objetos como la siguiente:
    199219
    200  * @MMS.Model [@MMS.ModelKernel]
    201    * [@MMS.DataSet]
    202    * @MMS.MVariable
    203      * @MMS.ParameterMissing : @MMS.MElement
    204      * @MMS.BaseParameterMissing : @MMS.MElement
    205    * @MMS.Submodel : @MMS.MNode
    206      * @MMS.ExpTerm
    207        * @MMS.ParameterLinear : @MMS.MElement
    208        * @MMS.ParameterNonLinear : @MMS.MElement
    209    * @MMS.MCombination : @MMS.MElement
    210    * @MMS.Hierarchy : @MMS.MNode
    211      * @MMS.HierarchyTerm
    212        * @MMS.ParameterHyper : @MMS.MElement
    213 
    214 donde las clases derivadas de @MMS.MNode y @MMS.MElement se amplían con las estructuras:
    215 
    216  * @MMS.MNode
    217    * @MMS.Noise (@MMS.NoiseNormal | @MMS.NoiseARIMA)
    218      * @MMS.ParameterSigma2 : @MMS.MElement
    219      * @MMS.NoiseARIMABlock
    220        * @MMS.ParameterARIMA : @MMS.MElement
    221 
    222  * @MMS.MElement
    223    * @MMS.Prior
    224    * @MMS.Constraint
     220 * MMS::@Model [MMS::@ModelKernel]
     221   * [MMS::@DataSet]
     222   * MMS::@MVariable
     223     * MMS::@ParameterMissing : MMS::@MElement
     224     * MMS::@BaseParameterMissing : MMS::@MElement
     225   * MMS::@Submodel : MMS::@MNode
     226     * MMS::@ExpTerm
     227       * MMS::@ParameterLinear : MMS::@MElement
     228       * MMS::@ParameterNonLinear : MMS::@MElement
     229   * MMS::@MCombination : MMS::@MElement
     230   * MMS::@Hierarchy : MMS::@MNode
     231     * MMS::@HierarchyTerm
     232       * MMS::@ParameterHyper : MMS::@MElement
     233   * MMS::@MEquivalence : MMS::@MElement
     234
     235donde las clases derivadas de MMS::@MNode y MMS::@MElement se amplían con las estructuras:
     236
     237 * MMS::@MNode
     238   * MMS::@Noise (MMS::@NoiseNormal | MMS::@NoiseARIMA)
     239     * MMS::@ParameterSigma2 : MMS::@MElement
     240     * MMS::@NoiseARIMABlock
     241       * MMS::@ParameterARIMA : MMS::@MElement
     242
     243 * MMS::@MElement
     244   * MMS::@Prior
     245   * MMS::@Constraint
    225246
    226247Nótense los siguientes aspectos:
    227  a. Las variables del modelo (@MMS.MVariable) son contenidas como elementos
     248 a. Las variables del modelo (MMS::@MVariable) son contenidas como elementos
    228249    del modelo, desaparece una diferencia clara entre outputs e inputs.
    229250 a. La información de los outputs como modelos de observaciones está recogida
    230     en una nueva clase submodelo: @MMS.Submodel.
    231  a. Los términos explicativos pasan a ser elementos de un submodelo. De modo
    232     que desaparece naturalmente la posibilidad de tener parámetros de término
    233     explicativo internodales. Para ello sería conveniente crear un nuevo tipo
    234     de relación.
     251    en una nueva clase submodelo: MMS::@Submodel.
     252 a. Los términos explicativos pasan a ser elementos de un submodelo, de modo
     253    que estrictamente desaparece la posibilidad de definir parámetros que pertenezcan
     254    simultáneamente a distintos submodelos (parámetros internodales). Sin embargo,
     255    pueden definirse relaciones de equivalencia entre parámetros (MMS::@MEquivalence)
     256    en las que se indica que dos o más parámetros han de estimarse (de ser posible)
     257    como uno solo.
    235258 a. Desaparecen los términos explicativos base, aunque podrían volver a crearse
    236259    como plantillas generadoras de términos explicativos.
    237260 a. Las restricciones y las distribuciones a priori de los parámetros o combinaciones
    238261    (elementos del modelo) son internas a ellos, les pertenecen.
    239  a. La estructura de la información ARIMA es recogida por la nueva clase @MMS.NoiseARIMA
    240     como un tipo de ruido (@MMS.Noise) de un nodo o segmento del modelo (@MMS.MNode).
     262 a. La estructura de la información ARIMA es recogida por la nueva clase MMS::@NoiseARIMA
     263    como un tipo de ruido (MMS::@Noise) de un nodo o segmento del modelo (MMS::@MNode).
    241264 a. El manejo de las transformaciones cambia, las transformaciones no se construyen
    242265    según los criterios del usuario, sino que ha de escogerse alguna de las familias
     
    244267 a. Aparecen nuevas clases abstractas encargadas de aunar en torno a sí, distintos
    245268    tipos de objetos que comparten naturaleza o cualidades:
    246      * @MMS.Submodel, @MMS.Hierarchy -> @MMS.MNode
    247      * @MMS.Parameter, @MMS.BaseParameter, @MMS.MCombination -> @MMS.MElement
    248      * @MMS.NoiseARIMA, @MMS.NoiseNormal -> @MMS.Noise
     269     * MMS::@Submodel, MMS::@Hierarchy -> MMS::@MNode
     270     * MMS::@Parameter, MMS::@BaseParameter, MMS::@MCombination, MMS::@MEquivalence -> MMS::@MElement
     271     * MMS::@NoiseARIMA, MMS::@NoiseNormal -> MMS::@Noise