Sistema para Centro de Formación OnLine – implementación de metamodelado
Enviado por trilcito1 • 9 de Abril de 2023 • Documentos de Investigación • 1.180 Palabras (5 Páginas) • 33 Visitas
ACTIVIDAD DE EVALUACIÓN CONTINUA – METAMODELADO
Nombre del estudiante: Richard Martinez Lizares
Herramienta seleccionada: StarUML
SISTEMA PARA CENTRO DE FORMACIÓN ONLINE – IMPLEMENTACIÓN DE METAMODELADO
Enunciado: Un centro de formación on line imparte cursos a sus alumnos. Los alumnos sólo pueden estar matriculados en un curso. Cada curso consta de varias asignaturas, si bien una misma asignatura se puede impartir en más de un curso. El número de plazas por curso es limitado y cada curso se imparte en unas fechas fijas.
Cada asignatura la imparte sólo un profesor, aunque cada profesor puede impartir más de una asignatura. El proceso de matriculación es el siguiente: a través de la web del centro de formación, un potencial alumno solicita la matriculación en un curso. El sistema verifica que el curso se va a impartir y que hay plazas disponibles. Si la matriculación es posible, se le solicitan los datos personales al alumno (nombre, apellidos, domicilio y teléfono) y se le reserva la plaza. Cuando el alumno paga a través de internet, la reserva desaparece y se le adjudica la plaza en el curso.
Si transcurridos 5 días no ha efectuado la reserva, se desestima y la plaza queda vacante.
Utilizando cualquiera de las herramientas StarUML:
- Generar en dicha herramienta los diagramas que mejor modelan el sistema planteado.
- Metamodelo (PIM):
[pic 1]
- Modelo específico de plataforma Java (PSM)
[pic 2]
[pic 3]
- Estudiar la posibilidad de transformaciones entre los distintos tipos de diagramas con dicha herramienta, y – si fuera posible-- mostrar evidencias de las transformaciones:
Se ha analizado StarUML, no se tuvo posibilidad de realizar las tareas de transformación Model to Model. A continuación se muestra el sustento:
- Entendemos que la pregunta espera que se realice lo siguiente:
[pic 4]
Es decir poder tener configuración en base a MDA que permita transformar un modelo independiente de plataforma (PIM) en un modelo específico de alguna plataforma (PSM), a esto se le llama transformaciones modelo a modelo (Model-To-Model transformation)
- En la documentación indica lo siguiente (inicio de la guía de usuario):
[pic 5]
- Se investigó por ende la capacidad de usar UML Profiles, y así poder conseguir la transformación de la que habla mucho MDA, que es hacer un ModelToModel, es decir, iniciar en un MetaModelo (PIM) y llegar a un modelo orientado a una tecnología (PSM).
- Lo que se encontró fue lo siguiente (capítulo 7 de la guía de desarrollo):
[pic 6]
Lo que indica que no se puede realizar transformaciones modelo a modelo (Model-to-Model) debido a que solo se centran en crear nuevos estereotipos, restricciones, definiciones de marcas y valores marcados para extender la semántica o enriquecer el modelado, pero no para realizar transformaciones.
- Finalmente, la guía de usuario en la sección de soporte MDA indica lo siguiente:
[pic 7]
Lo que indica es que el centro de StarUML es permitir creación de modelos independientes de plataforma y desde allí exportar a plantillas de documentos o código dependiente de plataforma, pero no el intermedio de tener un modelo específico de plataforma.
- Concluimos que StarUML no permite realizar transformaciones modelo a modelo (Model-To-Model) desde un metamodelo a un modelo específico de plataforma, pero sí es capaz de interpretar un modelo independiente de plataforma y en base a este generar código específico de plataforma.
También se ha indicado que el soporte de profiles está ligado a extender y enriquecer el modelado, no para permitir realizar procesos de transformación.
- Estudiar si la herramienta permite generar código y en ese caso generar el código asociado a dicho diseño. ¿En qué lenguajes / middlewares / entornos es posible generar código con dicha herramienta? ¿Es posible manipular o parametrizar las transformaciones? ¿Existe trazabilidad en las mismas?
- La herramienta sí permite generar código, los lenguajes soportados son:
[pic 8]
- Generando el código:
- C++
[pic 9]
[pic 10]
[pic 11]
[pic 12]
[pic 13]
- C#: Son los mismos pasos, se mostrará el resultado final:
[pic 14]
[pic 15]
- Java: Son los mismos pasos, se mostrará el resultado final:
[pic 16]
[pic 17]
- ¿Es posible manipular o parametrizar las transformaciones?
- Lo que se ha notado es que se puede configurar la forma como se realizará la generación de código, por ejemplo:
[pic 18]
- Pero con respecto a poner algún parámetro que cambie drásticamente la generación de código. No.
- ¿Existe trazabilidad en las mismas?
La trazabilidad no está demarcada, ya que al realizar cambios al modelo, se perderá automáticamente la versión de modelo y código anterior, es decir, se sobre-escribirá todo.
- Estudiar si dicha herramienta permite validar los modelos PIM y PSM
La herramienta permite realizar procesos de validación, pero en general a nivel de modelo a través de aplicar regulaciones UML, no existe validación de al momento de realizar transformaciones Model-To-Model (PIM -> PSM) por ejemplo a alguna restricción, ya que esta funcionalidad no está soportada por la herramienta. Así que la única validación que se tiene es la siguiente:
...