DCaseLP
Descrizione in Italiano
Scroll down for the English version!
Scarica da
qui
la breve presentazione (formato PowerPoint, in italiano) che descrive DCaseLP.
Scarica da
qui
il technical report DISI-TR-05-20 (formato PDF, in inglese) che descrive DCaseLP.
DCaseLP è un ambiente multilinguale per la modellazione e la prototipazione rapida di Sistemi Multi-Agente. Il suo scopo è di fornire un supporto allo sviluppatore di sistemi aperti, distribuiti, dinamici ed eterogenei quali i sistemi Multi-Agente sono, offrendo una metodologia di ingegneria del software "agent-oriented" e strumenti per la realizzazione delle varie fasi previste dalla metodologia. In particolare, la metodologia guida lo sviluppatore dalla analisi dei requisiti alla validazione del prototipo finale e offre strumenti per implementare il prototipo semi-automaticamente a partire dalle specifiche descritte nel linguaggio grafico UML o in un linguaggio testuale basato su XML. I linguaggi con cui lo sviluppatore può scegliere di implementare gli agenti sono Java, Jess (un linguaggio a regole implementato in Java) e tuProlog (una implementazione leggera e portabile del linguaggio logico Prolog), integrati nella piattaforma esistente JADE (sviluppata da TiLAB), che offre il "middleware" per la comunicazione tra agenti e per il loro monitoraggio e tracciamento. Nel caso in cui la scelta ricada su Jess, lo "scheletro" del codice degli agenti può essere generato automaticamente a partire dalle descrizione ad alto livello (in UML o XML) che descrivono la architettura del sistema e le interazioni tra gli agenti. Sarà compito dello sviluppatore integrare nello "scheletro" di codice le condizioni aggiuntive che in fase di modellazione non erano state definite.
Il contesto di utilizzo di DcaseLP è quello della ingegnerizzazione di sistemi multi-agente mediante prototipazione rapida.
La corretta ingegnerizzazione di sistemi aperti, distribuiti, dinamici ed eterogenei quali i sistemi Multi-Agente sono, è attualmente una delle sfide tecnologiche più impegnative, poiché la maggior parte dei moderni sistemi distribuiti, dalle applicazioni di Grid Computing a quelle su Web, dai sistemi peer-to-peer ai sofisticati sistemi di controllo della produzione, presentano tali caratteristiche di dinamicità, eterogeneità, apertura.
La mancanza di metodologie e strumenti consolidati per la ingegnerizzazione di tali sistemi rappresenta un significativo fattore di rischio. Poiché la complessità dei sistemi in oggetto spesso non consente la adozione di approcci formali alla loro progettazione e verifica, un approccio che consenta la realizzazione di un prototipo in tempi rapidi e a basso costo, può rivelarsi alquanto utile per avere un rapido "feedback" sulle caratteristiche del sistema che si vuole realizzare e sul suo funzionamento. La scelta dei linguaggi con cui modellare il sistema e con cui implementare il prototipo non può essere imposta allo sviluppatore in quanto l'utilizzo forzato di un linguaggio poco noto porta ad un aumento del tempo di sviluppo e dei rischi di errori. Offrire allo sviluppatore del prototipo la possibilità di scegliere, tra una rosa di linguaggi, quello più noto o più adatto al dominio in cui si colloca il sistema da prototipare, consente invece di risparmiare tempo e di ottenere risultati migliori. È in questo contesto che DCaseLP si colloca.
Il software e tutta la documentazione tecnica (requisiti per la installazione, tutorial e manuali) sono descritti in inglese e scaricabili da questa pagina, nella sezione seguente.
Description in English
DCaseLP is a multilingual environment
for modelling and prototyping Multi-Agent Systems (MASs).
DCaseLP provides an Agent-Oriented Software Engineering (AOSE)
methodology which guides the MAS developer from the late requirement analysis
stage to the prototype validation stage and offers a set of languages and tools both for modelling agents, and for developing
a prototype of the MAS in a semi-automatic way. The support
for validating the MAS model by running
the prototype is offered by the JADE platform, upon which DCaseLP builds.
DCaseLP consists of three Java packages:
- tuPInJADE , that allows the integration of
tuProlog agents into JADE
- jessInJADE , that allows the integration of
Jess agents into JADE
- UMLInJADE , that allows the translation of both architecture and agent diagrams defined using
ArgoUML and exported into
XMI , and interaction protocols described using an ad-hoc XML-based intermediate format, into Jess agents that can be integrated into JADE .
DCaseLP has been used to develop an
e-commerce application , thus demonstrating the advantages of
rapid prototyping in AOSE. It has also been used to implement Prolog agents that adhere to an agent interaction protocol specified in
AUML and then translated into WS-BPEL (see the
AUML2WS-BPEL home page).
Requirements for using DCaseLP
In order to exploit all the functionalities of DCaseLP, you should download and install:
-
JDK (if you have an old JDK installed on your computer, and you want to keep using it, you might need to install an XSL processor, for example, xalan ).
- JADE
- TuProlog
- Jess
- ArgoUML
Download
- Download
DCaseLP .
- Once downloaded, you should unzip the DCaseLP.zip file somewhere in your file system; the DCaseLP.zip file expands into the DCaseLP directory, that contains the three subdirectories tuPInJADE, jessInJADE and UMLInJADE.
- All these directories contain a textual readme file ( tuPInJADE-readme , jessInJADE-readme and UMLInJADE-readme , respectively), plus subdirectories named Manual and Tutorial, containing the manuals ( tuPInJADE-Manual.pdf , jessInJADE-Manual.pdf and UMLInJADE-Manual.pdf , respectively) and quick tutorials tuPInJADE-Tutorial.pdf , jessInJADE-Tutorial.pdf and UMLInJADE-Tutorial.pdf , respectively) for each package.
-
In order to use DCaseLP, you must install the software upon which DCaseLP is based, namely JADE, Jess, and tuProlog, and update the classpath system variable. Carefully read the "readme" files in the tuPInJADE, jessInJADE and UMLInJADE subdirectories to see exactly what to do.
-
The easiest way to learn how to use DCaseLP is by following the three quick tutorials (no matter in which order).
-
After completing the tutorials, you may read the manuals in order to know the technical details not addressed by them.
- Download the
DISI technical report DISI-TR-05-20 that overviewes DCaseLP.
- Download the
master thesis (in English) that describes the integration of tuProlog in JADE.
- Download the
e-commerce application of DCaseLP and the
master thesis (in English) that describes it.
Credits
- The main effort in the design of DCaseLP and in its testing has been made by
Viviana Mascardi , with suggestions coming from
Maurizio Martelli and
Floriano Zini .
- Most of the software contained in the DCaseLP packages has been developed by Ivana Gungui, as part of her
Master Thesis (in English).
- The work of Ivana was sometimes based on previous software developed by Stefano Miglia, as part of his
Master Thesis (in Italian).
- The e-commerce application has been developed by Davide Roggero, as part of his
Master Thesis (in English).
Premio Perotto 2005
|
Sezione singoli e gruppi di persone Individual participants and groups of persons
Vincitori/Winners: Viviana Mascardi e Ivana Gungui
Progetto/Project: DCaseLP: Distributed Complex Application Specification Environment based on Logic Programming |
|
Premio speciale BJ-Liguria Business Journal: "La donna e l'innovazione" Special prize BJ-Liguria Business Journal: "Woman and innovation"
Vincitori/Winners: Viviana Mascardi e Ivana Gungui
Progetto/Project: DCaseLP: Distributed Complex Application Specification Environment based on Logic Programming |
Please send suggestions and comments to:
Viviana Mascardi viviana.mascardi@unige.it
Last Updated: April, 2013