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 Initial Version and Version 1 of Dif0.6


Ignore:
Timestamp:
Apr 14, 2010, 8:23:22 AM (15 years ago)
Author:
Pedro Gea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Dif0.6

    v1 v1  
     1= Diferencias entre las versiones MMS 0.5 y MMS 0.6 =
     2
     3== Diferencias generales ==
     4
     5=== Jerarquía entre objetos ===
     6
     7Las clases en la 0.6 siguen una jerarquía, de modo que naturalmente
     8un objeto necesita de otro superior para existir y poder definirse.
     9Esto da naturalidad a las relaciones padre-hijo implementadas en
     10el módulo de modelos en 0.5 con las clases @MMS.Parent y @MMS.Child.
     11Asimismo impide la creación aislada de objetos no principales (los primeros
     12en la jerarquía) y hace más comprensible la comunicación entre los objetos
     13dentro de la jerarquía.
     14
     15Desde el punto de vista de la implementación esto puede apreciarse
     16en el atributo _parent_ de las clases o en el argumento parent de
     17sus constructores.
     18
     19=== Referencias y Objetos dentro de objetos ===
     20
     21Se detectó un problema de eficiencia grave en TOL al introducir NameBlocks
     22dentro de NameBlocks, de modo que toda estas relaciones se implementan
     23interponiendo un Set entre ellos.
     24Esto facilita además la redefinición de estos atributos y su tratamiento
     25como referencias.
     26
     27La existencia de referencias de la clase principal entre las clases hijas
     28los objetos creados así son idecompilables, para evitar esto se crea
     29un par @MMS.Object - @MMS.ObjectKernel para cada clase principal
     30de acuerdo al tique #863 de TOLProject.
     31
     32== Diferencias en el Módulo de Variables ==
     33
     34La estructura de clases del módulo de variables en 0.5 está formada
     35por un único tipo de clase (@MMS.Variable) que representa a una
     36variable con dos clases derivadas según la gramática de la variable.
     37 
     38  * @MMS.Variable (abstracta)
     39    * @MMS.VariableSerie
     40    * @MMS.VariableMatrix
     41
     42En la versión 0.6, el módulo se amplía con un objeto contenedor
     43de variables denominado "conjunto de datos" (@MMS.DataSet) que
     44agrupa en torno a sí un conjunto de variables entre las que pueden
     45existir dependencias.
     46Desaparecen las clases derivadas de @MMS.Variable según la gramática
     47y aparece una clase derivada para las variables calculadas a partir
     48de otras variables.
     49También aparece una nueva clase para la definición de variables
     50virtuales según el escenario: @MMS.BaseVariable.
     51
     52  * @MMS.DataSet
     53  * @MMS.Variable
     54    * @MMS.VariableCalculated
     55  * @MMS.BaseVariable
     56
     57La jerarquía de objetos queda como sigue:
     58 
     59  + @MMS.DataSet
     60    + @MMS.Variable
     61    + @MMS.BaseVariable
     62
     63=== Diferencias en @MMS.Variable ===
     64
     65'''Atributo Source'''
     66
     67Desaparece el atributo "_.source" al no tener clara su utilidad.
     68Según el ejemplo de "Matriculación de Vehículos" ésta se utiliza
     69para indicar de dónde se obtuvieron los datos.
     70Este tipo de información debería indicarse en el campo descripción
     71que es lo bastante general para indicar todo lo que se necesite.
     72
     73Otro tipo de atributo "source" podría definirse en el momento
     74en el que MMS tuviera un cierto control sobre la procedencia de los
     75datos y ésta pudiera ser una base de datos, por ejemplo.