Mos kitt

22

Transcript of Mos kitt

Page 1: Mos kitt
Page 2: Mos kitt

¿QUÉ ES MOSKITT?

Modeling Software KIT (MOSKitt) es una herramienta CASELIBRE, basada en Eclipse que está siendo desarrollada por laConselleria de Infraestructuras y Transporte (CIT) para darsoporte a la metodología gvMétrica (una adaptación deMétrica III a sus propias necesidades). gvMétrica utilizatécnicas basadas en el lenguaje de modelado UML.

Su arquitectura de plugins la convierte no sólo en unaHerramienta CASE sino en toda una Plataforma de Modeladoen Software Libre para la construcción de este tipo deherramientas.

MOSKitt se desarrolla en el marco del proyecto gvCASE, unode los proyectos integrados en gvPontis, el proyecto global dela CIT para la migración de todo su entorno tecnológico aSoftware Libre.

Page 3: Mos kitt

EL PROYECTO MOSKITT

PRINCIPIOS BÁSICOS

MOSKitt está siendo desarrollada siguiendo los siguientes principios básicos:

MOSKitt es una solución en Software Libre cuyo desarrollo actual y futuro debe mantener esta misma filosofía.

MOSKitt pretende construir un marco para contribuir a las comunidades del software libre utilizando estándares siempre que sea posible, facilitando la interoperabilidad con otras herramientas además de ser una solución multiplataforma.

MOSKitt está diseñada siguiendo una arquitectura modular para que pueda ser fácilmente extendida y/o adaptada en un futuro.

MOSKitt se está desarrollando siguiendo gvMétrica.

Page 4: Mos kitt

FUNCIONALIDADES CLAVE

Para dar soporte a gvMétrica se sigue un enfoque dirigido por modelos,

de forma que las tareas principales a las que debe dar soporte MOSKitt

son las siguientes:

Edición gráfica de modelos.

Soporte a la persistencia.

Soporte al Trabajo colaborativo y versionado de modelos.

Transformación, Trazabilidad y Sincronización de modelos.

Generación de Documentación y de Código DDL a partir de modelos.

Soporte al Proceso de Desarrollo definido por gvMétrica, guiando a

los usuarios en los distintos pasos que deben realizar para llevar a cabo

sus tareas.

Page 5: Mos kitt

ARQUITECTURA

La Arquitectura de MOSKitt consta de tres capas bien definidas:

• Una capa de Infraestructura Tecnológica que permite procesar,

manipular y gestionar los modelos editados a través de la capa de

Herramientas.

• Una capa de Herramientas que proporciona los diferentes Editores

(gráficos y textuales) incluidosen los Módulos funcionales de MOSKitt

propiamente dichos.

• Una capa de Soporte al Proceso en MOSKitt le proporciona la capacidad

de automatizar los diferentes procesos de desarrollo de software.

Page 6: Mos kitt

GRAFICO DE ARQUITECTURA

Page 7: Mos kitt

MODULOS

MÓDULOS DE SOPORTE AL PROCESO

Inicialmente en el desarrollo de MOSKitt se incluirá el soporte al proceso de desarrollo de software propuesto por gvMétrica para la automatización de Procesos Administrativos a través de su módulo:

MOSKitt-gvMétrica: Soporte al proceso de desarrollo definido por gvMétrica. MOSkitt asiste a los distintos participantes en el proceso de desarrollo durante la generación de cada uno de los productos definidos por la metodología. Este módulo definirá

la semántica de los enlaces entre los modelos definidos a través de los distintos modeladores proporcionados por la herramienta. Soporte a la definición y ejecución de los procesos de desarrollo permitiendo tanto la invocación de los diferentes módulos para la elaboración de los recursos a producir en cada una de las tareas como para la generación automática de algunos de ellos. Definición del proceso establecido por gvMétrica.

No obstante, la arquitectura de MOSKitt permitirá que en proyectos futuros se extienda para asistir cualquier otro modelo de proceso.

Page 8: Mos kitt

MODULOS

MÓDULOS DE INFRAESTRUCTURA

Los plugins que permiten procesar, manipular y gestionar modelos son los siguientes:

MOSKitt-TrManager: El módulo gestor de transformaciones proporciona mecanismos para declarar e invocar transformaciones en el entorno Eclipse. Este módulo, utilizado en MOSKitt para gestionar las transformaciones de modelos, define tanto (1) una interfaz programática (API) para listar y ejecutar transformaciones como (2) un explorador de transformaciones y un asistente gráfico para interactuar con los usuarios que deseen ejecutar transformaciones.

MOSKitt-ModelSync: El módulo de soporte a la sincronización de modelos implementa infraestructura para definir la sincronización entre modelos que han sido transformados y trazados. Cuando un modelo trazado es modificado, este módulo explota la información de las trazas para notificar a los sincronizadores registrados de la necesidad de actualizar los modelos relacionados. De esta manera es posible, por ejemplo, mantener la consistencia entre modelos tras su transformación inicial.

Page 9: Mos kitt

MODULOS

MÓDULOS DE INFRAESTRUCTURA (Cont)

MOSKitt-MDT Common: Este módulo proporciona infraestructura adicional y plantillas de generación para los editores gráficos de modelos basados en GMF. Entre la funcionalidad proporcionada se puede destacar:

• Soporte al almacenamiento de múltiples diagramas en un único archivo y la navegación entre ellos.

• Soporte a las vistas parciales (filtrado) de los elementos mostrados en los diagramas.

• Soporte al “copiar y pegar” entre compartimentos.

• Soporte al “drag&drop”.

• Actualización de referencias en los diagramas al modificar el nombre de un archivo de modelo EMF.

MOSKitt-IDE: Este módulo proporciona dos grupos de funcionalidades. Por una parte define vistas basadas en el Common Navigation Framework (CNF) de Eclipse para (1) la exploración y manipulación de modelos basados en EMF y (2) la exploración y manipulación de los recursos del espacio de trabajo. Por otra parte implementa infraestructura basada en el mecanismo de ayuda de Eclipse para asociar descripciones cuando se seleccionan algún elemento de modelado, incluso desde editores gráficos basados en GMF.

Page 10: Mos kitt

MODULOS

MÓDULOS FUNCIONALES (HERRAMIENTAS)

Siguiendo una arquitectura modular, MOSKitt está compuesto por los siguientes módulos funcionales:

MOSKitt-UML2: Modelador de UML 2.0 con soporte a la edición de Diagramas de Clases, de Casos de Uso, de Secuencia, de Actividad, de Estados y de Perfiles.

MOSKitt-DB:Modelador de Esquemas de Bases de Datos Relacionales: edición gráfica de los esquemas de bases de datos relacionales, con soporte a los niveles lógico y físico, generación de código DDL e ingeniería inversa a partir de esquemas Postgresql 8.X, MySql 5, Oracle 8i y Oracle 10.

MOSKitt-EIU: Modelador de Interfaces de Usuario con la posibilidad de utilizar Patrones ya predefinidos. Generación de prototipos no funcionales.

MOSKitt-MPR: Módulo para Modelado de Procesos, incluye editor BPMN. Extensión para especificación de Procedimientos Administrativos de la Administración Pública Valenciana.

Page 11: Mos kitt

MODULOS

MÓDULOS FUNCIONALES (HERRAMIENTAS) (Cont)

MOSKitt-REQ: Modelador de Requisitos para la generación y mantenimiento de un catálogo de requisitos, enlace de requisitos con los modelos, jerarquía entre requisitos, trazabilidad entre requisitos y casos de uso, generación de matrices de trazabilidad.

MOSKitt-WBS: Editor de EDT, (Estructura de Descomposición de Trabajo o Estructura de Desglose del Trabajo, en inglés Work Breakdown Structure, WBS). Es una estructura exhaustiva, jerárquica y descendente formada por los entregables y las tareas necesarias para completar un proyecto.

MOSKitt-RMP: Repositorio con soporte para el trabajo colaborativo: concurrencia, seguridad basada en roles, almacenamiento, mantenimiento y versionado tanto de modelos como de otro tipo de productos propuestos por la metodología.

MOSKitt-Interop: Módulo de Interoperabilidad que permitirá a MOSKittinteroperar con otras herramientas comenzando por aquellas actualmente utilizadas por la CIT, en este sentido ya ha sido implementada la importación de modelos UML definidos con PowerDesigner.

Page 12: Mos kitt

TECNOLOGÍA EMPLEADA

MOSKitt se ha desarrollado sobre la plataforma Eclipse siendo su amplio ecosistema de plug-ins uno de los grandes valores que han sido potenciados en el proyecto. Algunos de los proyectos de Eclipse que se han utilizado (o se planea utilizar) durante la construcción de la herramienta MOSKitt son:

Principalmente (que no exclusivamente) los plug-ins del proyecto Eclipse Modeling Project (EMP):

Los editores gráficos de la herramienta se han desarrollado utilizando las posibilidades ofrecidas por Graphical Modeling Framework (GMF). En aquellos casos en los que no se ha podido contar con la base de un metamodelo existente, han sido desarrollados nuevos metamodeloshaciendo uso de Eclipse Modeling Framework (EMF). Graphical EditingFramework (GEF) es otro plug-in de Eclipse Modeling Project (EMP) muy utilizado en la construcción de MOSKitt donde los editores gráficos generados por GMF/GEF son modificados para satisfacer las necesidades del proyecto. También se ha sido utilizado el ValidationFramework para la construcción de las restricciones del modelo.

Page 13: Mos kitt

TECNOLOGÍA EMPLEADA

UML2 Tools:

Se han adaptado los editores gráficos de UML2 proporcionados por este proyecto para construir los de MOSKitt y se han construido con GMF nuevos editores gráficos de UML2 como es el caso del Editor de Diagramas de Casos de Uso y el de Secuencia. Por supuesto se ha utilizado también el proyecto UML2 (una implementación del metamodelo estándar de UML 2.0) el cual ha sido enriquecido con nuevas validaciones del metamodelo.

Model to Model (M2M) and Model to Text (M2T) Transformations:

Para manipular los modelos se han utilizado los lenguajes y herramientas proporcionados por estos proyectos. Aunque nuestra intención es proporcionar un Servidor de Transformaciones que proporcione a la herramienta independencia respecto del lenguaje de transformación utilizado, actualmente se está empleando Atlas Transformation Language (ATL) para implementar las transformaciones Modelo a Modelo y Xpand2 para implementar las transformaciones Modelo a Texto.

Data Tools Platform Project (DTP):

Se ha desarrolado un editor gráfico basado en GMF utilizando como base el metamodelo del proyecto DTP para especifidar esquemas de bases de datos relacionales. La herramienta también da soporte a la generación de estos esquemas y a la ingeniería inversa de los mismos.

Page 14: Mos kitt

TECNOLOGÍA EMPLEADA

TOPCASED:

Del proyecto TOPCASED se han reutilizado las pestañas de propiedades

de los elementos de UML2, las cuales han sido adaptadas para que

puedan ejecutarse con diagramas basados en GMF.

Tecnología EMF:

Se emplan proyectos como EMF Compare para comparar modelos EMF,

EMF Search para lanzar consultas sobre Modelos basados en EMF y

AMW (Atlas Model Weawer) que permite establecer relacionones entre

modelos.

The Common Navigator Framework (CNF):

CNF, proporciona un visor de propósito general y extensible que ha sido

empleado en el desarrollo del Navegador de Modelos de MOSKitt.

Page 15: Mos kitt

TECNOLOGÍA EMPLEADA

SOA Tools Platform (STP):

MOSKitt utiliza BPMN, un subproyecto dentro de STP el cual proporciona un editor de BPMN basado en GMF y un conjunto de herramientas para modelar procesos de negocio utilizando la notación BPMN.

Se han utilizado exclusivamente plug-ins con licencias que permiten su uso libre (principalmente EPL) potenciando en MOSKitt los siguientes aspectos:

la reutilización de determinados proyectos Eclipse.

la adaptación de algunos de sus plug-ins para ajustarlos a las necesidades del proyecto.

la creación de proyectos satélite para extender la funcionalidad de los ya existentes.

Siguiendo con este esquema, se prevee la creación de futuros proyectos para extender la funcionalidad de la propia herramienta MOSKitt.

En este marco, la CIT se ha convertido en Miembro Asociado de la Fundación Eclipse para lo cual se le exige aportar un valor añadido a este Ecosistema.

Page 16: Mos kitt

CAPTURA DE PANTALLAS

Page 17: Mos kitt

DIAGRAMA DE BASE DE DATOS

Page 18: Mos kitt

DIAGRAMA DE ACTIVIDAD

Page 19: Mos kitt

DIAGRAMA DE CLASES

Page 20: Mos kitt

DIAGRAMA DE SECUENCIA

Page 21: Mos kitt

DIAGRAMA DE MAQUINA DE ESTADOS

Page 22: Mos kitt

DIAGRAMA DE CASOS DE USO