Abstract: An informal description is given of five JADE Multiagent platform micro-utilities. These micro-utilities have been developed in Java Language and they have two main functions: the first one to facilitate the deployment of complex agents or complex-agent communities that belong to the replicas of a distributed application; the second one to allow the configuration, adaptation and subsequent debugging of agents at runtime. This set of micro-utilities is named dpsFramework.

Keywords: Multiagent Systems, Complex-Agents JADE Platform, Java, CLIPS, Jess, Prolog


(Draft…)


1. Introduction

  The work environment named dpsFramework consists of a set of micro-utilities developed in the Java1 Language. These micro-utilities have been created with two main functions: the first one, to facilitate the deployment of complex agents or complex-agent communities that belong to the replicas of a distributed application; the second one, to allow the configuration, adaptation and subsequent debugging of agents at runtime. The framework, launcher, generate and shell belong to first group of dpsFramework utility set. All of them are executed from the command-line of a terminal. This first group of utilities has the mission of creating the directory infrastructure of the replicas of the distributed application. In those replicas the knowledge of the agents of the application is stored. Each replica created with dpsFramework can be deployed on one or more Containers managed by the JADE2 multi-agent platform on different servers. The properties incorporated by dpsFramework to these replicas of the application allow the movement of complex-agent; including their accumulated knowledge and their inference and problem solving capabilities. With that capacity, the replicas of the application allow developers and architects to distribute processes in specialized agents or, to distribute the calculation loads generated by the heaviest reasoning.

  The second group of dpsFramework utilities consists of an agent with a graphical interface enriched by Java SWING components and third-party components. This micro-utility has been called the stage-node agent. It is intended to adhere to complex-agents under study and facilitate the editing of agent properties. With the agent stage-node it is also possible to have access to the interpreters of the Java compiler, the JADE libraries and the inference engines of the agent under study.

  • Agent Oriented Programming (AOP)3
  • FIPA4
  • Multiagent Technology5
  • Universidad de León (Spain)6
  • _(.OWL)7
  • Ontologies Reasoner8
  • C++9
  • Java1
  • Expert System Software Tool10
  • Rule-based programming language Expert System Tool CLIPS11
  • Prolog12
  • JADE2
  • Hyper-Sonic SQL Engine13
  • Raspbian-Pi Operating Systems14
  • Java BeanShell15
  • Yellow Page JADE Service16
  • Ontologies Rule-Based Reasoner8
  • Java Third-party RSyntaxTextArea17


1.1 Creating replicas of the distributed application with dpsFramework


1.2 The Stage-node Agent from dpsFramework

  • Stage-Node Stage-node agent.


References

  1. ORACLE Java. Java(TM) Platform Standard and JDK, versions: 7. and 8. API Spec. http://www.oracle.com/technetwork/java/javase/downloads/index.html (2017).  2

  2. JADE Platform. http://jade.tilab.com/. CSELT, S. & TILab, S. (2017). Jade - java agent development framework. is a framework to develop multi-agent systems in compliance with the fipa specifications. jade 4.5.0 - revision 6825 of 23-05-2017 10:06:04. Open Source, under LGPL restrictions.  2

  3. Agent Oriented Programming. Shoham, Y. (2005). Agent oriented programming: An overview of the framework and summary of recent research. https://link.springer.com/chapter/10.1007/3-540-58095-6_9 

  4. FIPA IP. [FIPA00025] FIPA Interaction Protocol Library Specification. Foundation for Intelligent Physical Agents, 2002. http://www.fipa.org/specs/fipa00025/ 

  5. Multi-Agent Systems. [1] Wooldridge, M. (2002). An Introduction to Multi-Agent Systems. John Wiley & Sons Ltd. [2] Ishida, T. (1994). Parallel, distributed and multiagent production systems. Springer-Verlag Berlin. [3] Ishida, T. (1995). Parallel, distributed and multi-agent production systems: a research foundation for distributed artificial intelligence. In ICMAS (pp. 416–422). [4] Mas, Ana. (2005). Agentes Software y Sistemas Multiagente. Conceptos, Arquitecturas y Aplicaciones. Prentice Hall. 

  6. Leon University (SPAIN). http://www.unileon.es

  7. Protégé software. [1] Protégé Community, D. T. & Stanford University, S. o. M. (2014). Protégé,A free, open-source ontology editor and framework for building intelligent systems. Stanford Center for Biomedical Informatics Research (BMIR), Stanford University. Stanford, California 94305. [2] Eriksson, H. (2003). Using jesstab to integrate protégé and jess. IEEE Intelligent Systems, 18(2), 43–50. [3] Hoffman, O., Bellifemine, F., & Friedman-Hill, E. (2001). Software: Jadejessprotege, package example for closer integration of jade with jess, optionally also with protege. Available in: https://jade.tilab.com/documentation/examples/jadejessprotege 

  8. Ontologies Reasoner. [1] Luger, G. & Chakrabarti, C. (2011). Knowledge-based probabilistic reasoning from expert systems to graphical models: Report https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.157.9652. [2] Meditskos, G. & Bassiliades, N. (2011). Clips–owl: A framework for providing object-oriented extensional ontology queries in a production rule engine. Data & Knowledge Engineering, 70(7), 661–681. Report https://www.sciencedirect.com/science/article/pii/S0169023X11000577 [3] Meditskos, G. & Bassiliades, N. (2008). A rule-based object-oriented owl reasoner. Knowledge and Data Engineering, IEEE Transactions on, 20(3), 397–410. Report https://ieeexplore.ieee.org/document/4378372 2

  9. The C++ Programming Language. Bjarne Stroustrup (2000). 3rd Addison-Wesley Longman Publishing Co., Inc. Boston, MA, USA. https://dl.acm.org/citation.cfm?id=518791

  10. JESS. [1]Friedman-Hill, E.: JESS, Expert System Software Tool (8.0a1 (alfa)). Sandia National Laboratories. https://www.jessrules.com/ (2016). [2] Friedman-Hill, E. (2003). JESS in Action. Manning Greenwich, CT. [3] Cardoso, H. L. (2007). Integrating jade and jess. available in: https://jade.tilab.com/documentation/examples/jess/

  11. CLIPS. [1] Giarratano, J. C. P. (2014). CLIPS User’s Guide. Version 6.30. CLIPS. [2] Riley, G. (2016). Clips rule based programming language expert system tool clips (6.31) and CLIPSJNI (0.5), clips rule based programming language web site. Available in: https://sourceforge.net/projects/clipsrules/

  12. Prolog Language. [1] Merritt, D. (2012). Building expert systems in Prolog. Springer Science & Business Media. [2] SWI-Prolog https://www.swi-prolog.org/. [3] Fred Dushin and J. Wielemaker. University of Amsterdam. JPL.pl Java Interface. A Java interface for SWI-Prolog. 

  13. HyperSQL: HSQLDB - 100% Java Database. http://hsqldb.org/ 

  14. Raspbian-Pi Operating Systems. [1] Molloy, Derek. http://exploringrpi.com/: Exploring Raspberry Pi. John Wiley Sons, Inc. (2016). [2] Raspbian OS for Raspberry-Pi (2018) https://www.raspberrypi.org/downloads/raspbian/ 

  15. BeanShell. [1] Niemeyer, P.: Lightweight Scripting for Java. http://www.beanshell.org/ (2014). [2] Nick Lombard, BeanShell at GitHub https://github.com/beanshell/beanshell

  16. Yellow pages JADE Service. [1] Bellifemine, F.L., Caire, G., Greenwood, D.: Developing Multi-Agent Systems with JADE. Wiley Series in Agent Technology. (2007). [2] Cancedda, P. & Caire, G. (2010). JADE Tutorial Creating Ontologies by means of the Bean-Ontology Class, volume 15-April-2010 - JADE 4.0. Telecom Italia S.p.A. [3] Yellow Pages examples: https://jade.tilab.com/documentation/examples/yellow-pages/ 

  17. RSyntaxTexArea. A syntax highlighting, code folding text editor for Java Swing applications. . https://github.com/bobbylight/RSyntaxTextArea/ (2017).