Assistent a la Modelització Conceptual (CMA)

Introducció

 

El nostre Assistent a la Modelització Conceptual (CMA) és una peça de programari que s'executa sobre una eina de modelat existent. El seu objectiu és assistir als modeladors conceptuals durant la creació i edició d'esquemes conceptuals. Hem definit el prototipus com una extensió d'Eclipse, el qual és un IDE de codi obert.En instaŀlar una extensió anomenada UML2Tools, Eclipse pot ser utilitzat com a un entorn de modelatge UML.

Eclipse és, com ja hem dit, una eina de codi obert que va ser llançada per Borland, IBM, MERANT, QNX Software Systems, Rational Software, Red Hat, SuSE, TogetherSoft i Webgaint. El seu objectiu és oferir una plataforma integra de desenvolupament d'alt nivell. Bàsicament, consisteix en un nucli que integra diferents extensions (plugins). A través d'aquestes extensions, Eclipse pot mutar i donar suport a diferents eines, metodologies i entorns de desenvolupament. Atès que Eclipse està implementat en Java, es tracta d'una eina multiplataforma amb implementacions per a Linux, OSX i Windows.

La figura anterior mostra l'arquitectura d'Eclipse. L'element bàsic és el plugin. Quan un desenvolupador vol afegir una nova funcionalitat, simplement ha de crear un plugin que la implementi i incloure-la a Eclipse. El motor d'execució (Platform Runtime Engine) és l'encarregat de veure quins plugins hi ha disponibles i executar-los. Tal i com es d'esperar, un plugin inclou tot allò que necessita per funcionar (codi Java, imatges, traduccions de la interfície d'usuari, ...) així com un fitxer "MANIFEST" que descriu el plugin (entre altre coses, indica quines dependències té d'altres plugins i com pot ser, alhora, extés). El que és interessant d'aquesta arquitectura és que els plugins es poden extendre els uns als ltres, facilitant i promovent la creació d'eines molt potents a través de la reutilització del treball d'altri.

La figura que hi ha sobre aquestes línies mostra l'arquitectura del nostre prototipus. Podem veure que el CMA consisteix en dues parts. Per una banda, hi ha un servidor remot que hostatja el catàleg d'issues de qualitat que hem definit utilitzant fitxers XML. Per altra banda, hi ha un plugin d'Eclipse que és l'encarregat de carregar aquest catàleg remot dins l'eina i d'avaluar l'esquema conceptual en desenvolupament.

El plugin està dividit conceptualment en els següents tres components:

  • El gestor d'Issue Types.És l'encarregat de baixar-se les definicions d'issue types que hi ha al servidor remot.
  • El processador d'Issues.És l'encarregat d'avaluar l'esquema conceptual i detectar els issues concrets que conté, tenint en compte els tipus d'issues que s'ha baixat del catàleg.
  • La vista.Mostra els issues de l'esquema a una vista d'Eclipse, per tal que el modelador els vegi i els pugui corregir.

 

Principals funcionalitats del nostre assistent a la modelització conceptual (CMA)

  • Basat en una eina de modelat real.En concret, està basat en Eclipse, un entorn de desenvolupament integrat (IDE) àmpliament conegut i utilitzat. Aquest pot convertir-se en una eina de modelat molt potent mitjançant els plugin UML2Tools i l'intèrpret d'OCL ecore.
  • La seva arquitectura facilita l'addició de nous tipus d'issues de qualitat.El nostre prototipus no inclou cap issue de qualitat, sinó que se'n descarrega la definició d'un repositori extern. Això assegura que els usuaris del CMA gaudeixin sempre de la darrera versió de tots els issues disponibles.
  • Els issues es poden definir en simple OCL o Java.La manera més senzilla de definir nous issues de qualitat és expressant-los en OCL. No obstant, però, també és possible extendre l'eina a través de nous plugins d'Eclipse que implementin issues mitjançant codi Java.
  • Informació rellevant sense molèsties.Una variant del nostre CMA (basada en MosKITT, una eina de modelat que també es basa en Eclipse) ofereix un suport experimental (i incomplet) a l'avaluació incremental d'issues de qualitat. Aquesta avaluació ha demostrat ser molt eficient i retorna resultats immediats.

Instal·lació

 

Requisits

El plugin del CMA té els següents requisits mínims per funcionar:

Instructions d'instaŀlació

Tenint en compte que el CMA és, senzillament, un plugin d'Eclipes, només cal que:

  1. Baixeu el plugin d'aquí.
  2. Descomprimiu el fitxer al directori ${ECLIPSE_INSTALL_DIR}/eclipse/plugins
  3. Reinicieu Eclipse.

I ja està! Vegeu les nostres instruccions d'ús per aprendre ràpidament com usar-lo.

Ús

In the following we show the main steps you should follow to use our Conceptual Modeling Assistant in Eclipse.

Disclaimer:Please note this is a prototype tool, and there are some functionalities that do not work as expected. In particular, you'll have to restart Eclipse every time you want to edit a new conceptual schema. Also, you might encounter other issues when using our tool.

 

How to Browse our Catalog of Quality Issue Types

The catalog of quality issue types has been published in a public HTML server. Internally, it is defined as a set of XML files. Using XSLT stylesheet transiformations, these XML files can be browsed using a web browser in a user-friendly manner. In order to determine the path from which issues will be downloaded, you have to create a file called catalog-location.txt in the following path: $HOME/.config/cma/. By default, the server our plugin will use is: http://www.essi.upc.edu/~mpi/phds/daguilera/catalog/issues.php.

 

Showing the CMA views

The CMA plug-in is designed to work as an Eclipse view. Therefore, the first thing to be done is setup Eclipse in a way such that it shows the corresponding views.

To show the CMA views, go to: WindowShow > View > Other and select under CMA - Model Improvements the Issue List view. The Fact List view is used for unchecking (or reconsidering) previously checked (or accepted) issue instances.

Once Eclipse is property setup, and assuming you're currently editing a UML conceptual schema, you should note the following view is now visible: 

Configuring which Issue Types should be loaded

In order to use our plugin, you have to create a file called issues.txt in the following path:$HOME/.config/cma/. The contents of this file are the list of quality issue types you want to load. In particular, it contains a list of IDs such that BEST-PRACTICE-class-identifiable or NAMING-name-class-not-noun-phrase. If you want to temporary disable one issue type, simply comment it using a double slash //. For instance, //BEST-PRACTICE-class-identifiable.

 

Using the CMA

Using the CMA is completely straightforward. Start editing your conceptual schema normally. Whenever you want to know which issue instances are in your schema, simply press the Detect Issues button and the issues will be presented in the aforementioned Issue List view:

This prototype tool does only implement the functionality of detecting quality issue instances. If you want to solve those issue instances, and you don't know how you can do it, you'll have to access the catalog using a web browser and check which issue actions are listed there.

Quant a

Documentació

 

Presentació (defensa de la tesi)

Publicacions

Contacte

Per a qualsevol dubte o suggeriment, envieu un correu electrònic a daguilera@essi.upc.edu

Treball Futur

A continuació proposem algunes idees de treball futur que es poden dur a terme per millorar l'eina:

  • Validació amb usuaris reals. Cal comprovar si el flux de treball (com els usuaris perceben l'aparició d'issues a la vista d'Eclipse i com els corregeixen) funciona correctament o es pot millorar d'alguna manera. Estudiar, també, com incloure les operacions correctores.
  • Extendre el catàleg d'issue types i, potser, millorar-ne la gestió quan n'hi ha molts (gestió de conflictes?).
  • Crear una interfície d'usuari amigable que permeti l'addició de nous tipus d'issue al catàleg.
  • Estudiar la integració amb altres tècniques de millora de la qualitat com, per exemple, el testing.
  • Implementar completament una avaluació incremental (i per tant eficient) d'issues sobre una plataforma com MosKITT o Eclipse.

Suggeriments