UML fue propuesto de forma paralela a MOF, debido a que la OMG, una organizacion que define estándares, publicó una solicitud halla por los noventa.
La solicitud fue para dos cosas, un lenguaje para definir estructuras( ver metalenguaje), y un lenguaje de modelado de propoósito general.
La repuesta para ambos fue UML, desde IBM, Rational , y un par de decenas de compañias.
UML en si es un lenguaje, por tanto puede interpretarse y validarse, la contraparte fue MOF, un "lenguaje" para definir estructuras u otros lenguajes, que a su vez esta definido en UML, en el UML Profile for MOF.
Ahora, que tal si quiero programar en MOF o sobre UML(no modelar UML, sino programar con UML), hace poco la solucion a esto era implementar MOF o UML( que son muy similares).
Esto era lento y propenso a errores, entonces la OMG publico una libreria que contiene la definicion completa de UML en Java, utilizando las potentes interfaces.
Esta libreria define lo que cada elemento dentro de UML deberia poder hacer, sus herencias, características y métodos. Entonces solamente debemos implementar estas interfaces, pero esto tambien es tedioso; la solucion a todos nuestros problemas es MDR(Metadata Repository) de Netbeans, que es un repositorio de datos que puede realizar la implementacion de metamodelos, que cosa no?.
Continuara...
Showing posts with label metamodelo. Show all posts
Showing posts with label metamodelo. Show all posts
November 7, 2008
September 12, 2008
Metamodelo UML - 1
Como avance dentro de un proyecto de grado, me encuentro con UML(Unified Modelling Language), este famoso y conocidísimo lenguaje de modelado definido por los grandes de los procesos de desarrollo del software.
Pero, ¿qué es UML?, UML es una convención para modelar( visualizar, diseñar, especificar, documentar) algun elemento del mundo real, esa es la definicion de modelado, UML esta orientado hacia el desarrollo de software, aunque eso no quiera decir que solo se pueda usar para esto.
Perfecto entonces, es algo que me permite modelar, ¿pero como?.
UML define un conjunto de elementos que permiten el modelado, llamados diagramas. Existen diagramas de todo tipo, que tienen un objetivo específico y diferentes características propias.
Ahora mi problema es que debía definir UML en un lenguaje de programación, es decir, crear la estructura para modelor. Esto es algo interesante, ya que UML esta definido en UML !!.
Algo extraño, no?. Esto es llamado metamodelo, un metamodelo es un modelo de un modelo, son datos de datos, son esquemas de esquemas.
El metamodelo de UML se vería algo así:
Semejante cosa es posible gracias "MOF Meta-Object_Facility", que es otra norma para definir esquemas o arquitecturas, fué creado específicamente para UML, pero sus beneficios son numerosos.
Ahora como solo me interesan los diagramas de clase, una pequeña porción del UML, cada uno de estos elementos define la estructura del diagrama, sus elementos, operaciones y atributos.
Entonces la solución es utilizar MDR Meta-Data Repository, un proyecto iniciado por Netbeans que maneja una implementación del metamodelo de UML, aunque eso por supuesto no es todo lo que puede hacer.
Hasta aqui este post, más adelante seguiremos con este tema.
Pero, ¿qué es UML?, UML es una convención para modelar( visualizar, diseñar, especificar, documentar) algun elemento del mundo real, esa es la definicion de modelado, UML esta orientado hacia el desarrollo de software, aunque eso no quiera decir que solo se pueda usar para esto.
Perfecto entonces, es algo que me permite modelar, ¿pero como?.
UML define un conjunto de elementos que permiten el modelado, llamados diagramas. Existen diagramas de todo tipo, que tienen un objetivo específico y diferentes características propias.
Ahora mi problema es que debía definir UML en un lenguaje de programación, es decir, crear la estructura para modelor. Esto es algo interesante, ya que UML esta definido en UML !!.
Algo extraño, no?. Esto es llamado metamodelo, un metamodelo es un modelo de un modelo, son datos de datos, son esquemas de esquemas.
El metamodelo de UML se vería algo así:
Semejante cosa es posible gracias "MOF Meta-Object_Facility", que es otra norma para definir esquemas o arquitecturas, fué creado específicamente para UML, pero sus beneficios son numerosos.Ahora como solo me interesan los diagramas de clase, una pequeña porción del UML, cada uno de estos elementos define la estructura del diagrama, sus elementos, operaciones y atributos.
Entonces la solución es utilizar MDR Meta-Data Repository, un proyecto iniciado por Netbeans que maneja una implementación del metamodelo de UML, aunque eso por supuesto no es todo lo que puede hacer.
Hasta aqui este post, más adelante seguiremos con este tema.
Subscribe to:
Posts (Atom)