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 plugin del CMA té els següents requisits mínims per funcionar:
Tenint en compte que el CMA és, senzillament, un plugin d'Eclipes, només cal que:
I ja està! Vegeu les nostres instruccions d'ús per aprendre ràpidament com usar-lo.
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.
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.
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:
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 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.
Per a qualsevol dubte o suggeriment, envieu un correu electrònic a daguilera@essi.upc.edu
A continuació proposem algunes idees de treball futur que es poden dur a terme per millorar l'eina: