Вы находитесь на странице: 1из 23

Arquitectura de software

dirigida por modelos


METAMODELADO
METAMODELOS
Los lenguajes de programacin basados en
texto se describen por gramticas (BNF).
Los lenguajes de modelamiento como UML
tienen, en general, una sintaxis grfica que
requiere otro tipo de descripcin

Metamodelado
Modelos, Lenguajes, Metamodelos y
Metalenguajes
Un metamodelo es un modelo que define el lenguaje
para expresar un modelo.

Un modelo se expresa en un lenguaje.

Un lenguaje se define por un metamodelo.

Un metamodelo se expresa en un metalenguaje.

BNF es un metalenguaje?
Modelos, Lenguajes, Metamodelos y
Metalenguajes
El metamodelo de un lenguaje es una descripcin de
todos los conceptos que pueden usarse en el mismo.
Por ejemplo,
los conceptos de package, clase , atributo y operaciones
aparecen en UML;
los conceptos de mtodos, constructores e interfaces en JAVA;
los conceptos de tabla, columna, clave son parte de SQL
Cada elemento de un modelo es una instancia de una metaclase
en el metamodelo.
Una clase define a sus objetos y una metaclase define a los
elementos del modelo
Modelos, Lenguajes, Metamodelos y
Metalenguajes
Metamodelos basados en
Entidades
Relaciones
Sistemas

Modelos estticos UML


Clases
Asociaciones binarias
Tipos de datos
Package

Especificaciones OCL
Un ejemplo de metamodelo UML
Ejemplo- Metamodelo SQL
simplificado
Modelos, Lenguajes, Metamodelos y
Metalenguajes
Un metalenguaje es un lenguaje y puede ser
definido por un metamodelo
Metalenguaje Meta-metamodelo
Meta-meta lenguaje Meta-meta- metamodelo
.......
(meta)i metalenguaje (meta)i metamodelo

El estndar definido por OMG usa 4 niveles


Arquitectura de 4 niveles
OMG usa una arquitectura de 4 niveles para sus
estndares:

MO: Modelo de instancias


M1: Modelo del sistema
M2: Metamodelo
M3: Meta-metamodelo
Arquitectura de 4 niveles
Meta Object facility (MOF)
MOF captura la diversidad de estndares de
modelamiento para integrar diferentes tipos de
modelos y metadatos e intercambiarlos entre
diferentes herramientas.
.
MOF

MOF usa un framework de modelamiento que es


un subconjunto del ncleo de UML. Los 4
construcciones de modelamiento son:

Clases, que modelan metaobjetos MOF.


Asociaciones que modelan relaciones binarias entre
metaobjetos.
Tipos de datos, que modelan otros datos (por ejemplo
tipos primitivos, tipos externos, etc).
Packages, que modularizan los modelos.
Especificacin de UML 2.0
La especificacin de UML 2.0 est organizada en
dos documentos:
UML 2.0 Infrastructure
Define las construcciones de lenguaje fundacionales
requeridas por UML 2.0. Es un ncleo de metalenguaje
que puede ser reusado para definir otros metamodelos y
mecanismos de extensin para UML
UML 2.0 Superstructure
Complementa a UML 2.0 Infrastructure. Define construcciones a
nivel de usuario requeridas por UML 2.0
Especificacin de UML 2.0
La infraestructura de UML se define en
Infrastructure Library:
Define un ncleo de metalenguaje que puede ser
reusado para definir variedad de metamodelos, como
MOF, UML, CWM.
Especificacin de UML 2.0
Alinea arquitecturalmente a UML, MOF y
XMI
Permite la creacin de dialectos a travs de
profiles y de nuevos lenguajes(familias de
lenguajes) basados en el ncleo del
metalenguaje.
UML 2.0 Superstructure
La superestructura de UML est especificada en
el package PACKAGE que est dividido en un
nmero de packages que especifican modelos
estructurales y de comportamiento.
El metamodelo de UML
Packages - Estructura
El metamodelo de UML
Packages - Classes
El metamodelo de UML
Kernel-Operaciones

Una operacin es un feature de comportamiento


que especifica nombre, parmetros y constraints
para invocar un comportamiento asociado.
La relacin entre los metamodelos de
UML y OCL
Una expresin OCL en los metamodelos
referencia a elementos de un modelo UML.
Los elementos referenciados son instancias de
metaclases
La relacin entre los metamodelos de
UML y OCL
La relacin entre los metamodelos de
UML y OCL

Вам также может понравиться