Conceptual Modeling Assistant (CMA)

Introducció

Nuestro Asistente de Modelado Conceptual (CMA) es un complemento de software que se ejecuta sobre una herramienta de modelado existente. Su objetivo es ayudar a los modeladores conceptuales en la creación y edición de esquemas conceptuales. El prototipo ha sido definido como una extensión de Eclipse. Eclipse es un IDE de código abierto. Al instalar el complemento UML2Tools, Eclipse se puede utilizar como un entorno de modelado UML.

Eclipse es, como ya hemos mencionado, una herramienta de código abierto lanzada por Borland, IBM, MERANT, QNX Software Systems, Rational Software, Red Hat, SuSE, TogetherSoft y Webgaint. Su objetivo es ofrecer una plataforma completa para el desarrollo de alto nivel. Básicamente, consiste en un núcleo que integra varias extensiones o complementos. Al utilizar estas extensiones, Eclipse puede cambiar y admitir diferentes herramientas, metodologías y entornos de desarrollo. Como Eclipse está escrito en Java, es una herramienta multiplataforma con implementaciones de Linux, OSX y Windows.

La figura anterior muestra la arquitectura de Eclipse. El plugin es el elemento básico. Cuando un desarrollador desea agregar una nueva funcionalidad, simplemente tiene que crear un complemento que lo implemente e incluirlo en Eclipse. El motor en ejecución (Platform Runtime Engine) está a cargo de obtener los complementos disponibles y ejecutarlos. Como era de esperar, un complemento incluye todo lo que necesita para funcionar (código Java, imágenes, traducciones de la interfaz de usuario, ...) y un archivo "MANIFEST" que describe el complemento (entre otros, indica sus dependencias en otros complementos y cómo puede ser). extendido). Lo interesante de esta arquitectura es que los complementos pueden extenderse entre sí, facilitando y promoviendo la creación de herramientas poderosas al reutilizar el trabajo de otras personas.

La figura de arriba muestra la arquitectura de nuestro prototipo. Como se muestra en la figura, CMA se compone de dos partes. Por un lado, hay un servidor remoto que aloja el catálogo de problemas de calidad que hemos definido utilizando archivos XML. Por otro lado, hay un complemento de Eclipse que se encarga de cargar este catálogo remoto en la herramienta y evaluar el esquema conceptual que se está desarrollando.

El plugin se divide conceptualmente en estos tres componentes:

  • Gestor de tipos de problemas. Se encarga de descargar la definición de los tipos de problemas alojados en el servidor remoto.
  • Procesador de problemas. Es responsable de evaluar el esquema conceptual y detectar sus problemas, teniendo en cuenta los tipos de problemas que se han descargado del catálogo.
  • El espectador. Los problemas del esquema se muestran en un visor de Eclipse, de modo que el modelador puede verlos y corregirlos.

Principales funcionalidades de nuestro Conceptual Modeling Assistant (CMA)

  • Basado en una herramienta de modelado real. Más específicamente, se basa en Eclipse, un entorno de desarrollo integrado (IDE), ampliamente conocido y utilizado. Al usar los complementos UML2Tools y el intérprete de OCL, CMA puede convertirse en una herramienta de modelado muy poderosa.
  • Su arquitectura facilita la incorporación de nuevos tipos de problemas de calidad. Nuestro prototipo no incluye ningún problema de calidad; en cambio, su definición se descarga desde un repositorio externo. Esto garantiza que los usuarios de CMA siempre tengan la última definición de problemas disponible.
  • Los problemas se pueden definir en OCL simple o Java. La forma más fácil de definir nuevos problemas de calidad es mediante el uso de OCL. Sin embargo, también es posible ampliar la herramienta utilizando otros complementos de Elcipse que implementan problemas mediante el uso de código Java.
  • Información relevante sin molestias. Una variante de CMA (basada en MosKITT, una herramienta de modelado que también se basa en Eclipse) ofrece soporte experimental (e incompleto) para evaluar de manera incremental los problemas de calidad. Esta evaluación ha demostrado ser muy eficiente y arroja resultados inmediatos.

Instal·lació

 

Requerimientos 

El complemento CMA requiere los siguientes requisitos mínimos del sistema:

Instrucciones de instalación 

Teniendo en cuenta que CMA es, simplemente, un complemento de Eclipse, solo es necesario:

  1. Descargar el plugin desde here.
  2. Descomprimir el archivo al directorio ${ECLIPSE_INSTALL_DIR}/eclipse/plugins
  3. Reinicia Eclipse.

Eso es todo! Mira las instrucciones aquí: instructions para aprender a usarlo.

Ús

A continuación le mostramos los pasos principales que debe seguir para usar nuestro Asistente de modelado conceptual en Eclipse.

Desclaimer: tenga en cuenta que esta es una herramienta prototipo, y hay algunas funcionalidades que no funcionan como se espera. En particular, deberá reiniciar Eclipse cada vez que desee editar un nuevo esquema conceptual. Además, puede encontrar otros problemas al utilizar nuestra herramienta.

 

Cómo navegar por nuestro catálogo de tipos de problemas de calidad

El catalog of quality issue types ha sido publicado en un servidor HTML público. Internamente, se define como un conjunto de archivos XML. Al usar las transformaciones de la hoja de estilo XSLT, estos archivos XML se pueden explorar usando un navegador web de una manera fácil para el usuario. Para determinar la ruta desde la que se descargarán los problemas, debe crear un archivo llamado catalog-location.txt en la siguiente ruta: $HOME/.config/cma/. Por defecto, el servidor que utilizará nuestro plugin es: http://www.essi.upc.edu/~mpi/phds/daguilera/catalog/issues.php.

 

Mostrando las vistas del CMA 

El complemento CMA está diseñado para funcionar como una vista de Eclipse. Por lo tanto, lo primero que se debe hacer es configurar Eclipse de tal manera que muestre las vistas correspondientes.

Para mostrar las vistas CMA, ve a: WindowShow > View > Other and select under CMA - Model Improvements the Issue List view. El Fact List view se usa para desmarcar (o reconsiderar), antes habiendo chequeado (o aceptado) instancias emitidas.

Una vez que Eclipse haya configurado la propiedad, y asumiendo que actualmente está editando un esquema conceptual UML, debe tener en cuenta que ahora se ve la siguiente vista:

Configuración de los Issue Types que deben cargarse

Para utilizar nuestro complemento, debe crear un archivo llamado issues.txt en la siguiente ruta: $ HOME / .config / cma /. El contenido de este archivo es la lista de tipos de problemas de calidad que desea cargar. En particular, contiene una lista de IDs tal que BEST-PRACTICE-class-identifiableNAMING-name-class-not-noun-phrase. Si desea deshabilitar temporalmente un tipo de problema, simplemente coméntelo con una barra doble //. Por ejemplo, //BEST-PRACTICE-class-identifiable.

 

Usando el CMA

Usar el CMA es completamente sencillo. Comience a editar su esquema conceptual normalmente. Cuando quiera saber qué instancias de problemas hay en su esquema, simplemente presione el botón Detect Issues y los temas serán presentados en el mencionado. Issue List view:

Esta herramienta de prototipo solo implementa la funcionalidad de detección de instancias de problemas de calidad. Si desea resolver esas instancias de problemas y no sabe cómo hacerlo, tendrá que acceder al catálogo access the catalog utilizando un navegador web y compruebe qué acciones de problemas se enumeran allí.

Quant a

Documentació

 

Presentation (thesis defense)

Publicaciones

Contacte

Para cualquier duda o sugerencia, puede enviar un correo electrónico a daguilera@essi.upc.edu

Treball Futur

A continuación presentamos algunas ideas para mejorar la herramienta en el futuro:

  • Validación con usuarios reales. Compruebe si el flujo de trabajo (es decir, cómo los usuarios perciben los problemas en el visor de Eclipse y cómo se corrigen los problemas) fluye correctamente o si puede mejorarse de alguna manera. Analizar cómo incluir las operaciones correctivas.
  • Amplíe el catálogo de tipos de problemas y, si es necesario, mejore su gestión cuando haya muchos tipos de problemas (¿gestión de conflictos?)
  • Cree una interfaz fácil de usar que permita agregar nuevos tipos de problemas al catálogo.
  • Estudie la integración con otras técnicas que mejoren la calidad, como las pruebas.
  • Implemente completamente una evaluación incremental (por lo tanto, eficiente) de problemas en la parte superior de una plataforma como MosKITT o Eclipse.

Suggeriments