= Actualización a MMS_0.6 = == Paquete y nueva nomenclatura == En la versión 0.6 hemos optado por dotar a MMS de una estructura más modular y convertir la herramienta en un paquete TOL que puede utilizarse simplemente solicitándolo mediante una sentencia: {{{ #Require MMS }}} El paquete '''MMS''' consiste en un nameblock que contiene todas las funcionalidades y definiciones del sistema. === Clases === Las clases de MMS se renombran para evitar redundancia. Mientras en MMS_0.5 las clases eran globales y mostraban un prefijo que indicaban su pertenencia a MMS: {{{ @MMS. }}} en MMS_0.6 el prefijo se elimina y las clases que ahora son locales al nameblock {{{MMS}}} se acceden mediante: {{{ MMS::@ }}} === Funciones de uso general === Las funciones de uso general creadas junto al desarrollo de MMS, forman parte de un paquete TOL distinto '''LibraryMMS''' que puede ser publicado ({{{UsingNameBlock}}}) sin problemas al tratarse únicamente de un conjunto de funciones. Esta librería de funciones se cargará junto a MMS aunque el objetivo final es que todas o al menos algunas de ellas pasen a formar parte de la StdLib o de otras librerias de índole general de acuerdo a la nueva modularización de TOL. De este modo, las funciones serán accesibles como funciones globales, sin tener que localizarlas anteponiendo el nombre del nameblock donde se definieron. === El contenedor de MMS === En MMS_0.5 el contenedor principal, encargado de albergar el conjunto de objetos construidos, se llamaba {{{MMS}}}, sin embargo como hemos visto en MMS_0.6 éste es el nombre del paquete, el nombre actual del contenedor es: {{{MMS::Container}}}. Nótese que durante un tiempo, mientras se desarrollaba la estructura modular de MMS_0.6 el contenedor principal se denominaba {{{MMS.C}}}. Ya no. == Otros cambios generales == A continuación se citan otras diferencias entre las versiones 0.5 y 0.6 de MMS. === Métodos constructores === Las instancias de los nuevos objetos se crean llamando métodos constructores ({{{::Create}}}) de un objeto superior. Estos métodos en MMS_0.5 devolvían un número indicando si la acción había tenido éxito o no. En MMS_0.6 sin embargo devuelven la instancia creada. Este cambio se introduce para facilitar la obtención de la nueva instancia sobre la que podrían realizarse nuevas acciones. '''Código en MMS_0.5''' {{{ Real parent::Create([[ Text _.name = ; ... ]]); @MMS. object = parent::Get(); }}} '''Código en MMS_0.6''' {{{ MMS::@ object = parent::Create([[ Text _.name = ; ... ]]); }}} === Nombres y versiones === En MMS_0.6 los objetos principales ({{{MMS::@DataSet}}}, {{{MMS::@Model}}}, {{{MMS::@Estimation}}}, ...) se identifican según un nombre y una versión. El atributo versión intenta recuperar su diseño original e itera a partir de un objeto guardado al hacerle cambios. El texto que representa a la versión del modelo ha de acabar en un número entero (que es el que se iterará) precedido por un '.'.