SlideShare a Scribd company logo
1 of 24
JACK® Intelligent Agents
- a framework overview -




           Pedro Valente
      AOP course@TEK Faculty
            12/12/2011
PART I - Introduction
1.   Background;
2.   Concepts;
3.   JACK components;
4.   Agent language;
5.   Agent Template;




                                   2
1.Background
•JACK™ Intelligent Agents (JACK) is an Agent Oriented
development environment built on top of and integrated
with the Java programming language.
•JACK Intelligent Agents was built by Agent Oriented Software
Pty. Ltd. (AOS), develop initially in 1997. Commercial system.
•Includes all components of the Java development
environment as well as offering specific extensions to
implement agent behavior.
•JACK has been developed to provide agent-oriented
extensions to the Java programming language.
•JACK source code is first compiled into regular Java code
before being executed.

                                                                 3
1.1 JACK Attributes
                      • JACK applications are proactive, responsive, social and
   Autonomous           distributes. They adapt to dynamically changing
                        environments, without the need for human intervention.


                      • JACK is built on a lightweight, cross-platform foundation
Compact/Efficient       that can run thousands of agents, even on low-spec
                        hardware such as PDAs.


                      • JACK applications are resilient to unexpected events, and
     Resilient          can consider multiple alternatives solutions to a problem
                        that is unfolding in real time.


                      • JACK’s development environment allows analysts to
Rapid Specification     specify procedures by dragging /dropping graphical
                        elements onto a canvas.

                                                                                    4
1.2 JACK major design goals
•To provide developers with a robust, stable, light-weight product;
•To satisfy a variety of practical application needs;
•To ease technology transfer from research to industry;
•Enable further applied research

Benefits:
•Agents can coexist in legacy software systems as simple another
object by non-agent software;
•Conversely, Agents can access any other component of a system;
•JACK Agents are not bound to any specific agent communication
language;


                                                                      5
2 Agent models
                                Agents: Act in environments
Agents provide a very
effective way of building
applications for dynamic and
complex environments
              +                  Agents: Act to achieve goals

Develop agents based on
Belief-Desire-Intention
agent metaphor, i.e. develop
software components as if
they have beliefs and goals,      Agents: Represent environment
act to achieve these goals,
and are able to interact with
their environment and other
agents.

                                                                  6
2.1 Agent Oriented Concepts
A Jack agent can exhibit reasoning behavior both
proactively and reactively. It has:

•A set of beliefs(ideas) about the world (its belief set)
•A set of events(happenings) that it may respond to
•A set of goals that it may desire to achieve as a consequence
of an event
•A set of plans that describe how it can handle the goals or
events that may arise.



                                                                 7
2.2 Agent workflow
•Agent instantiation;
•Waits until its given a goal or event trigger;
•When such a goal or event arises, it determines what course of action it
will take:
     • If the agent already believes that the goal or event has been handled (do
        nothing);
     • Otherwise, it looks through its plans to find those that are relevant to the
        request and applicable to the situation.
     • If it has any problems executing this plan, it looks for others that might
        apply.
•In terms of Plans, agent follow Procedures Manual (set of plans) which
contains a set of steps.
•Models human logic behavior following plans:
     • Goal-directed focus
     • Real-time context sensitivity
     • Real-time validation of approach
     • Concurrency

                                                                                  8
3.The Components of JACK
•The JACK Agent Language
   • Actual programming language used to describe an agent-
      oriented software system;
   • Java super-set (extend constructs to represent agent-oriented
      features).
•The JACK Agent Compiler
   • pre-processes JACK Agent Language source files and
      converts them into pure Java;
   • Java source code can then be compiled into Java virtual
      machine code.
•The JACK Agent Kernel
   • runtime engine for programs written in the JACK Agent
      Language;
   • provides a set of classes that give JACK Agent Language
      programs their agent-oriented functionality;
                                                                     9
4. JACK Agent language
•The JACK Agent Language is built on top of Java;
•Provides a framework to support an entirely new
programming paradigm;
•extends Java to support Agent Oriented programming:
      •It defines new base classes, interfaces and methods.
      •It provides extensions to the Java syntax to support new agent-oriented classes,
      definitions and statements.
      •It provides semantic extensions (runtime differences) to support the execution
      model required by an agent-oriented software system.
•All the language extensions are implemented as Java plug-ins;
•Each of the JACK Agent Language extensions is strictly typed.
4.1 Java extensions
The JACK Agent Language introduces five main class-level constructs.
These constructs are:
                                              • This includes capabilities an agent has, what type of messages and events it responds to and
   Agents (used to define the overall           which plans it will use to achieve its goals.
          behavior of MAS):


    Beliefset (represents an agent’s          • The beliefset construct represents agent beliefs using a generic relational model.
                 beliefs):


   View (allows to perform queries on         • The data model may be implemented using multiple beliefsets or arbitrary Java data structures.
              beliefsets):

    Capability: reusable functional           • A capability can be made up of plans, events, beliefsets and other capabilities that together
 component made up of plans, events,            serve to give an agent certain abilities
   belief sets and other capabilities

                                              • They are the instructions the agent follows to try to achieve its goals and handle its designated
Plan (instructions the agent follows to try     events.
to achieve its goals and handle events):


   Event (occurrence to which agent           • The event construct describes an occurrence in response to which the agent must take action.
           should respond):
4.2 JACK language example
                   •In bold is unique JACK
                   syntactic elements;
                   •Categorize:
                       •Classes (types)
                       •Declarations (#-declarations)
                       •Reasoning Method Statements
                       (@-statements)




                                                        12
5. JACK – Agent Template
agent AgentType extends Agent {
 // Knowledge bases used by the agent are declared here.
 #private data BeliefType belief_name(arg_list);

    // Events handled, posted and sent by the agent are declared here.
    #handles event EventType;
    #posts event EventType reference; used to create internal events
    #sends event EventType reference; used to send messages to other agents

    // Plans used by the agent are declared here. Order is important.
    #uses plan PlanType;

    // Capabilities that the agent has are declared here.
    #has capability CapabilityType reference;
    // other Data Member and Method definitions
}
PART II - Components
1.   Components and tools;
2.   Inter-agent Communication;
3.   JACK extensions;




                                  14
1.JACK Components and Tools
JACK Intelligent Agent is distributed as the following modules:
•JACK Runtime Environment
     •  The kernel supports the execution of JACK agents, handling multi-threading and
        concurrency issues, etc. It also includes a communications layer with a simple agent naming
        service.
•JACK Compiler
     •  This compiles the JACK Agent Language code into pure Java, and calls the Java compiler
        to generate executables.
•BDI Agent Model
     •  This adds support for BDI reasoning, with additions to the language syntax and the runtime
        kernel.
•SimpleTeam Model
     •  This adds support for team-based reasoning with language extensions and kernel additions.
•Agent Development Environment
     •  The development environment is a GUI for viewing and manipulating JACK applications.
•Agent Debugging Environment
     •  Consists of an Agent Interaction Display for viewing messaging between agents along with
        switches to the kernel for displaying internal execution states.
•JACOB
     •  JACK Object Modeller is a powerful object modelling toolkit to support object transport and
        interaction with existing applications in Java and C++. It will stream objects in a human
        readable textual format, a fast binary format and in XML.

                                                                                                  15
2.Inter-Agent communication
•JACK Intelligent Agent provides a basic inter-agent
communication layer called dci network for inter-agent
communication (in remote communication).
•Is based on the UDP transport protocol extended with a thin
layer to provide reliable peer to peer communications.
•Agents can address messages (MessageEvents,
and BDIMessageEvents) to one another by specifying the
name of the destination agent and, if applicable, its portal and
host.




                                                                   16
2.1 Inter-Agent communication
For agents to communicate with one another, the following
requirements must be met:
•The agents must know one another's name.
•The source agent needs to be able to send a message event.
   •   This is achieved by including a #sends event declaration in the agent's
       definition for the required class of message event.
•The source agent must then include code to send the message
event.
   •   It can do this by calling the send method from code outside a reasoning
       method, or the @sendstatement from within a reasoning method.
•The destination agent needs to be able to handle this message
event.
   •   This is achieved by including a #handles event declaration for this message
       event in the destination agent's agent definition.


                                                                                     17
JACK Extensions

JACK Teams: An extension to the BDI software model that facilitates agents collaborating in teams toward achieving a goal.


CoJACK: An extension to the JACK platform that adds a cognitive architecture to the agents for eliciting more realistic (human-
like) behaviors in virtual environments.


FIPA JACK: An extension to the JACK platform to support the FIPA Agent Communications Language. AMS –agent
management service, DF – directory facilitator and MTS – message transport system

Prometheus: An agent-centric software engineering methodology for managing the SDLC of a multi-agent based system.
JACK was used as the basis for investigation, comparison, and testing the methodology. The Prometheus involved the
development of the Prometheus Design Tool (PDT) which was a GUI based tool for managing design concerns in the process.

JACK Eclipse Plug-in: A plug-in that facilitates the development of JACK-based systems in the Eclipse IDE. Specifically, the
plug-in adds capabilities to Eclipse to support the JACK file types (such as .plan, .agent, etc.) as well support for JACK plan
language.

JACK WebBot: An extension that embeds the JACK kernel in the Apache Tomcat web server allowing intelligent agents to be
interacted with and formulate responses HTTP requests (via the Java Servlet API).




                                                                                                                                  18
Summary
•JACK is an agent development IDE that extends Java,
adding the following constituents:
   • Capabilites:
         •encapsulate  reasoning parts (events, plans, sub-capabilities, etc.) to
         provide a certain ability to any agent.
   •   Plans:
         •Instructions
                     the agent follows to (try) achieve goals and handle
         designated events.
   •   Events:
         •trigger   plans. Like event handlers in .NET.
   •   Belief Sets:
         •Agent     beliefs using a generic relational model

                                                                                    19
Online resources
•JACK® Intelligent Agents Official Website
   • http://aosgrp.com/index.html
•Wikipedia definition
   • http://en.wikipedia.org/wiki/JACK_Intelligent_Agents
•JACK® Intelligent Agents: Agent Manual
   • http://www.aosgrp.com/documentation/jack/Agent_Manua
     l_WEB/index.html
•FIPA JACK – A plugin for JACK Intelligent Agents
   • http://www.cs.rmit.edu.au/agents/protocols/fipajack.pdf




                                                           20
PART III
   JACK agent Development Environment (JDE)
     •Setting Up JACK with Java;
     •Compiling and Executing a Sample Project;


“Multi-agent systems can be written in Java code and the JACK plan language in a standard IDE, although the platform provides an agent-centric IDE called
the JACK Development Environment or JDE. The JDE provides graphical tools for writing plans, connecting plans to agents, managing inter-agent
communication, as well as compiling and running. The JDE also provides graphical tools for debugging and tracing the execution of plans and inter-agent
message passing”




                                                                                                                                                            21
Setting Up JACK with Java
Setting Up JACK with Java:
•Install Java Development kit;
•Define Java Classpath and Path
environment variables;                                            Table - JACK File extensions




•Download JACK evaluation copy*;
•Install with a valid JACK key;
•Run IDE;
•In file menu, choose one:
    • Create a new project;
    • Open an existing project;

* http://www.aosgrp.com/products/jack/registration/regform.html             Solution Explorer Panel


                                                                                                      22
Running a Sample Project
Follow the steps listed below to execute the ATM-Graphical example:
•Help -> Create Project from Example -> atm-graphical
•Choose a folder where you want the project to be loaded.
•Within a few seconds, the project will be loaded.
•Jack has provided a compiler utility:
      •  Click on Compiler Application;
      •  Click the COMPILE Button;
      •  Jack will generate appropriate Java compliant files, and will switch the compiler utility to
         Output/Errors Tab;
      •  In the same tab, if you see this: [JackBuild Done], that means compilation was successful
         and that Jack has transformed the source code into pure Java form;
      •  Now you are ready to go. Click the Run Application Tab;
      •  Every Java application has one entry point main() which is always in a *.class file;
      •  In this example, it is Main.class;
      •  Double click it, and wait.
•A simple GUI of the Graphical ATM Machine will appear;
•Your account number is 10, pin code is 10 and you have 1000USDs initially.

                                                                                                        23
Play with it.
Enjoy!




                24

More Related Content

What's hot

Introduction to Biometric lectures... Prepared by Dr.Abbas
Introduction to Biometric lectures... Prepared by Dr.AbbasIntroduction to Biometric lectures... Prepared by Dr.Abbas
Introduction to Biometric lectures... Prepared by Dr.Abbas
Basra University, Iraq
 

What's hot (20)

Vous avez dit IHM ?
Vous avez dit IHM ?Vous avez dit IHM ?
Vous avez dit IHM ?
 
Introduction to Biometric lectures... Prepared by Dr.Abbas
Introduction to Biometric lectures... Prepared by Dr.AbbasIntroduction to Biometric lectures... Prepared by Dr.Abbas
Introduction to Biometric lectures... Prepared by Dr.Abbas
 
YOLO
YOLOYOLO
YOLO
 
Biometric slideshare
Biometric slideshareBiometric slideshare
Biometric slideshare
 
Introduction to OpenVX
Introduction to OpenVXIntroduction to OpenVX
Introduction to OpenVX
 
Content-Based Image Retrieval (D2L6 Insight@DCU Machine Learning Workshop 2017)
Content-Based Image Retrieval (D2L6 Insight@DCU Machine Learning Workshop 2017)Content-Based Image Retrieval (D2L6 Insight@DCU Machine Learning Workshop 2017)
Content-Based Image Retrieval (D2L6 Insight@DCU Machine Learning Workshop 2017)
 
Brain Computer Interface PPT
Brain Computer Interface PPTBrain Computer Interface PPT
Brain Computer Interface PPT
 
AGE AND GENDER DETECTION.pptx
AGE AND GENDER DETECTION.pptxAGE AND GENDER DETECTION.pptx
AGE AND GENDER DETECTION.pptx
 
Applied Computer Science Concepts in Android
Applied Computer Science Concepts in AndroidApplied Computer Science Concepts in Android
Applied Computer Science Concepts in Android
 
MONAI: Medical imaging AI for data scientists and developers @ 3D Slicer Proj...
MONAI: Medical imaging AI for data scientists and developers @ 3D Slicer Proj...MONAI: Medical imaging AI for data scientists and developers @ 3D Slicer Proj...
MONAI: Medical imaging AI for data scientists and developers @ 3D Slicer Proj...
 
Object detection
Object detectionObject detection
Object detection
 
Deep learning approach for network intrusion detection system
Deep learning approach for network intrusion detection systemDeep learning approach for network intrusion detection system
Deep learning approach for network intrusion detection system
 
"Building Data Foundations and Analytics Tools Across The Product" by Crystal...
"Building Data Foundations and Analytics Tools Across The Product" by Crystal..."Building Data Foundations and Analytics Tools Across The Product" by Crystal...
"Building Data Foundations and Analytics Tools Across The Product" by Crystal...
 
R-Trees and Geospatial Data Structures
R-Trees and Geospatial Data StructuresR-Trees and Geospatial Data Structures
R-Trees and Geospatial Data Structures
 
PR-144: SqueezeNext: Hardware-Aware Neural Network Design
PR-144: SqueezeNext: Hardware-Aware Neural Network DesignPR-144: SqueezeNext: Hardware-Aware Neural Network Design
PR-144: SqueezeNext: Hardware-Aware Neural Network Design
 
Image recognition
Image recognitionImage recognition
Image recognition
 
Explore Android Internals
Explore Android InternalsExplore Android Internals
Explore Android Internals
 
BRAIN COMPUTER INTERFACE......
BRAIN COMPUTER INTERFACE......BRAIN COMPUTER INTERFACE......
BRAIN COMPUTER INTERFACE......
 
Graphical password
Graphical passwordGraphical password
Graphical password
 
Brain computer interface
Brain computer interfaceBrain computer interface
Brain computer interface
 

Similar to JACK intelligent Agents - an framework overview

Ananth_Ravishankar
Ananth_RavishankarAnanth_Ravishankar
Ananth_Ravishankar
ananth R
 
Vikas_Singh_updated
Vikas_Singh_updatedVikas_Singh_updated
Vikas_Singh_updated
Vikas Singh
 
Android fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersAndroid fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginners
Boom Shukla
 
Puneet_Senior_Java_Developer_Resume
Puneet_Senior_Java_Developer_ResumePuneet_Senior_Java_Developer_Resume
Puneet_Senior_Java_Developer_Resume
Puneet Nebhani
 

Similar to JACK intelligent Agents - an framework overview (20)

KaranDeepSinghCV
KaranDeepSinghCVKaranDeepSinghCV
KaranDeepSinghCV
 
Introduction to Spring & Spring BootFramework
Introduction to Spring  & Spring BootFrameworkIntroduction to Spring  & Spring BootFramework
Introduction to Spring & Spring BootFramework
 
Enter the mind of an Agile Developer
Enter the mind of an Agile DeveloperEnter the mind of an Agile Developer
Enter the mind of an Agile Developer
 
Neeraj_Virmani_Resume
Neeraj_Virmani_ResumeNeeraj_Virmani_Resume
Neeraj_Virmani_Resume
 
Hiring Java Developers A Comprehensive Guide for Success.pdf
Hiring Java Developers A Comprehensive Guide for Success.pdfHiring Java Developers A Comprehensive Guide for Success.pdf
Hiring Java Developers A Comprehensive Guide for Success.pdf
 
Resume
ResumeResume
Resume
 
Devendra_SrJavaJ2eeDeveloper
Devendra_SrJavaJ2eeDeveloperDevendra_SrJavaJ2eeDeveloper
Devendra_SrJavaJ2eeDeveloper
 
Resume
ResumeResume
Resume
 
Resume
ResumeResume
Resume
 
Resume
ResumeResume
Resume
 
Chalam_JAVA_Portal
Chalam_JAVA_PortalChalam_JAVA_Portal
Chalam_JAVA_Portal
 
Ananth_Ravishankar
Ananth_RavishankarAnanth_Ravishankar
Ananth_Ravishankar
 
Devops
DevopsDevops
Devops
 
Vikas_Singh_updated
Vikas_Singh_updatedVikas_Singh_updated
Vikas_Singh_updated
 
Android fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersAndroid fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginners
 
Ravi Kiran Resume
Ravi Kiran ResumeRavi Kiran Resume
Ravi Kiran Resume
 
5 Treding Java Frameworks Offshore Developers Should About
5 Treding Java Frameworks Offshore Developers Should About5 Treding Java Frameworks Offshore Developers Should About
5 Treding Java Frameworks Offshore Developers Should About
 
Puneet_Senior_Java_Developer_Resume
Puneet_Senior_Java_Developer_ResumePuneet_Senior_Java_Developer_Resume
Puneet_Senior_Java_Developer_Resume
 
ABHAY_SHUKLA
ABHAY_SHUKLAABHAY_SHUKLA
ABHAY_SHUKLA
 
Resume
ResumeResume
Resume
 

More from Pedro Valente

Semana10-ordenacao-pesquisa-vetores
Semana10-ordenacao-pesquisa-vetoresSemana10-ordenacao-pesquisa-vetores
Semana10-ordenacao-pesquisa-vetores
Pedro Valente
 
Utilizacao de meta modelos na representacao de informacao complexa
Utilizacao de meta modelos na representacao de informacao complexaUtilizacao de meta modelos na representacao de informacao complexa
Utilizacao de meta modelos na representacao de informacao complexa
Pedro Valente
 
Defesa tese-mestrado-pvalente
Defesa tese-mestrado-pvalenteDefesa tese-mestrado-pvalente
Defesa tese-mestrado-pvalente
Pedro Valente
 
Paams2011 pvalente-presentation-slides1
Paams2011 pvalente-presentation-slides1Paams2011 pvalente-presentation-slides1
Paams2011 pvalente-presentation-slides1
Pedro Valente
 
Cisti10 pvalente-presentation-slides
Cisti10 pvalente-presentation-slidesCisti10 pvalente-presentation-slides
Cisti10 pvalente-presentation-slides
Pedro Valente
 
Phd defence-pvalente
Phd defence-pvalentePhd defence-pvalente
Phd defence-pvalente
Pedro Valente
 

More from Pedro Valente (11)

inovação tecnológica e a estratégia hoteleira
inovação tecnológica e a estratégia hoteleirainovação tecnológica e a estratégia hoteleira
inovação tecnológica e a estratégia hoteleira
 
CSS Fundamentals: selectors and Properties
CSS Fundamentals: selectors and PropertiesCSS Fundamentals: selectors and Properties
CSS Fundamentals: selectors and Properties
 
Semana10-ordenacao-pesquisa-vetores
Semana10-ordenacao-pesquisa-vetoresSemana10-ordenacao-pesquisa-vetores
Semana10-ordenacao-pesquisa-vetores
 
Workshop -Regras de Escrita de Trabalhos
Workshop -Regras de Escrita de TrabalhosWorkshop -Regras de Escrita de Trabalhos
Workshop -Regras de Escrita de Trabalhos
 
25mixedsession IOT introductions
25mixedsession IOT introductions25mixedsession IOT introductions
25mixedsession IOT introductions
 
Auditoria aos Sites dos Ministérios
Auditoria aos Sites dos MinistériosAuditoria aos Sites dos Ministérios
Auditoria aos Sites dos Ministérios
 
Utilizacao de meta modelos na representacao de informacao complexa
Utilizacao de meta modelos na representacao de informacao complexaUtilizacao de meta modelos na representacao de informacao complexa
Utilizacao de meta modelos na representacao de informacao complexa
 
Defesa tese-mestrado-pvalente
Defesa tese-mestrado-pvalenteDefesa tese-mestrado-pvalente
Defesa tese-mestrado-pvalente
 
Paams2011 pvalente-presentation-slides1
Paams2011 pvalente-presentation-slides1Paams2011 pvalente-presentation-slides1
Paams2011 pvalente-presentation-slides1
 
Cisti10 pvalente-presentation-slides
Cisti10 pvalente-presentation-slidesCisti10 pvalente-presentation-slides
Cisti10 pvalente-presentation-slides
 
Phd defence-pvalente
Phd defence-pvalentePhd defence-pvalente
Phd defence-pvalente
 

Recently uploaded

IATP How-to Foreign Travel May 2024.pdff
IATP How-to Foreign Travel May 2024.pdffIATP How-to Foreign Travel May 2024.pdff
IATP How-to Foreign Travel May 2024.pdff
17thcssbs2
 
Liberal & Redical Feminism presentation.pptx
Liberal & Redical Feminism presentation.pptxLiberal & Redical Feminism presentation.pptx
Liberal & Redical Feminism presentation.pptx
Rizwan Abbas
 

Recently uploaded (20)

IATP How-to Foreign Travel May 2024.pdff
IATP How-to Foreign Travel May 2024.pdffIATP How-to Foreign Travel May 2024.pdff
IATP How-to Foreign Travel May 2024.pdff
 
Telling Your Story_ Simple Steps to Build Your Nonprofit's Brand Webinar.pdf
Telling Your Story_ Simple Steps to Build Your Nonprofit's Brand Webinar.pdfTelling Your Story_ Simple Steps to Build Your Nonprofit's Brand Webinar.pdf
Telling Your Story_ Simple Steps to Build Your Nonprofit's Brand Webinar.pdf
 
Post Exam Fun(da) Intra UEM General Quiz - Finals.pdf
Post Exam Fun(da) Intra UEM General Quiz - Finals.pdfPost Exam Fun(da) Intra UEM General Quiz - Finals.pdf
Post Exam Fun(da) Intra UEM General Quiz - Finals.pdf
 
[GDSC YCCE] Build with AI Online Presentation
[GDSC YCCE] Build with AI Online Presentation[GDSC YCCE] Build with AI Online Presentation
[GDSC YCCE] Build with AI Online Presentation
 
Liberal & Redical Feminism presentation.pptx
Liberal & Redical Feminism presentation.pptxLiberal & Redical Feminism presentation.pptx
Liberal & Redical Feminism presentation.pptx
 
Application of Matrices in real life. Presentation on application of matrices
Application of Matrices in real life. Presentation on application of matricesApplication of Matrices in real life. Presentation on application of matrices
Application of Matrices in real life. Presentation on application of matrices
 
How to Manage Notification Preferences in the Odoo 17
How to Manage Notification Preferences in the Odoo 17How to Manage Notification Preferences in the Odoo 17
How to Manage Notification Preferences in the Odoo 17
 
Features of Video Calls in the Discuss Module in Odoo 17
Features of Video Calls in the Discuss Module in Odoo 17Features of Video Calls in the Discuss Module in Odoo 17
Features of Video Calls in the Discuss Module in Odoo 17
 
Matatag-Curriculum and the 21st Century Skills Presentation.pptx
Matatag-Curriculum and the 21st Century Skills Presentation.pptxMatatag-Curriculum and the 21st Century Skills Presentation.pptx
Matatag-Curriculum and the 21st Century Skills Presentation.pptx
 
UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...
UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...
UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...
 
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdfDanh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
 
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
 
size separation d pharm 1st year pharmaceutics
size separation d pharm 1st year pharmaceuticssize separation d pharm 1st year pharmaceutics
size separation d pharm 1st year pharmaceutics
 
Post Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdf
Post Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdfPost Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdf
Post Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdf
 
50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...
50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...
50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...
 
Word Stress rules esl .pptx
Word Stress rules esl               .pptxWord Stress rules esl               .pptx
Word Stress rules esl .pptx
 
Research Methods in Psychology | Cambridge AS Level | Cambridge Assessment In...
Research Methods in Psychology | Cambridge AS Level | Cambridge Assessment In...Research Methods in Psychology | Cambridge AS Level | Cambridge Assessment In...
Research Methods in Psychology | Cambridge AS Level | Cambridge Assessment In...
 
Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).
 
factors influencing drug absorption-final-2.pptx
factors influencing drug absorption-final-2.pptxfactors influencing drug absorption-final-2.pptx
factors influencing drug absorption-final-2.pptx
 
Capitol Tech Univ Doctoral Presentation -May 2024
Capitol Tech Univ Doctoral Presentation -May 2024Capitol Tech Univ Doctoral Presentation -May 2024
Capitol Tech Univ Doctoral Presentation -May 2024
 

JACK intelligent Agents - an framework overview

  • 1. JACK® Intelligent Agents - a framework overview - Pedro Valente AOP course@TEK Faculty 12/12/2011
  • 2. PART I - Introduction 1. Background; 2. Concepts; 3. JACK components; 4. Agent language; 5. Agent Template; 2
  • 3. 1.Background •JACK™ Intelligent Agents (JACK) is an Agent Oriented development environment built on top of and integrated with the Java programming language. •JACK Intelligent Agents was built by Agent Oriented Software Pty. Ltd. (AOS), develop initially in 1997. Commercial system. •Includes all components of the Java development environment as well as offering specific extensions to implement agent behavior. •JACK has been developed to provide agent-oriented extensions to the Java programming language. •JACK source code is first compiled into regular Java code before being executed. 3
  • 4. 1.1 JACK Attributes • JACK applications are proactive, responsive, social and Autonomous distributes. They adapt to dynamically changing environments, without the need for human intervention. • JACK is built on a lightweight, cross-platform foundation Compact/Efficient that can run thousands of agents, even on low-spec hardware such as PDAs. • JACK applications are resilient to unexpected events, and Resilient can consider multiple alternatives solutions to a problem that is unfolding in real time. • JACK’s development environment allows analysts to Rapid Specification specify procedures by dragging /dropping graphical elements onto a canvas. 4
  • 5. 1.2 JACK major design goals •To provide developers with a robust, stable, light-weight product; •To satisfy a variety of practical application needs; •To ease technology transfer from research to industry; •Enable further applied research Benefits: •Agents can coexist in legacy software systems as simple another object by non-agent software; •Conversely, Agents can access any other component of a system; •JACK Agents are not bound to any specific agent communication language; 5
  • 6. 2 Agent models Agents: Act in environments Agents provide a very effective way of building applications for dynamic and complex environments + Agents: Act to achieve goals Develop agents based on Belief-Desire-Intention agent metaphor, i.e. develop software components as if they have beliefs and goals, Agents: Represent environment act to achieve these goals, and are able to interact with their environment and other agents. 6
  • 7. 2.1 Agent Oriented Concepts A Jack agent can exhibit reasoning behavior both proactively and reactively. It has: •A set of beliefs(ideas) about the world (its belief set) •A set of events(happenings) that it may respond to •A set of goals that it may desire to achieve as a consequence of an event •A set of plans that describe how it can handle the goals or events that may arise. 7
  • 8. 2.2 Agent workflow •Agent instantiation; •Waits until its given a goal or event trigger; •When such a goal or event arises, it determines what course of action it will take: • If the agent already believes that the goal or event has been handled (do nothing); • Otherwise, it looks through its plans to find those that are relevant to the request and applicable to the situation. • If it has any problems executing this plan, it looks for others that might apply. •In terms of Plans, agent follow Procedures Manual (set of plans) which contains a set of steps. •Models human logic behavior following plans: • Goal-directed focus • Real-time context sensitivity • Real-time validation of approach • Concurrency 8
  • 9. 3.The Components of JACK •The JACK Agent Language • Actual programming language used to describe an agent- oriented software system; • Java super-set (extend constructs to represent agent-oriented features). •The JACK Agent Compiler • pre-processes JACK Agent Language source files and converts them into pure Java; • Java source code can then be compiled into Java virtual machine code. •The JACK Agent Kernel • runtime engine for programs written in the JACK Agent Language; • provides a set of classes that give JACK Agent Language programs their agent-oriented functionality; 9
  • 10. 4. JACK Agent language •The JACK Agent Language is built on top of Java; •Provides a framework to support an entirely new programming paradigm; •extends Java to support Agent Oriented programming: •It defines new base classes, interfaces and methods. •It provides extensions to the Java syntax to support new agent-oriented classes, definitions and statements. •It provides semantic extensions (runtime differences) to support the execution model required by an agent-oriented software system. •All the language extensions are implemented as Java plug-ins; •Each of the JACK Agent Language extensions is strictly typed.
  • 11. 4.1 Java extensions The JACK Agent Language introduces five main class-level constructs. These constructs are: • This includes capabilities an agent has, what type of messages and events it responds to and Agents (used to define the overall which plans it will use to achieve its goals. behavior of MAS): Beliefset (represents an agent’s • The beliefset construct represents agent beliefs using a generic relational model. beliefs): View (allows to perform queries on • The data model may be implemented using multiple beliefsets or arbitrary Java data structures. beliefsets): Capability: reusable functional • A capability can be made up of plans, events, beliefsets and other capabilities that together component made up of plans, events, serve to give an agent certain abilities belief sets and other capabilities • They are the instructions the agent follows to try to achieve its goals and handle its designated Plan (instructions the agent follows to try events. to achieve its goals and handle events): Event (occurrence to which agent • The event construct describes an occurrence in response to which the agent must take action. should respond):
  • 12. 4.2 JACK language example •In bold is unique JACK syntactic elements; •Categorize: •Classes (types) •Declarations (#-declarations) •Reasoning Method Statements (@-statements) 12
  • 13. 5. JACK – Agent Template agent AgentType extends Agent { // Knowledge bases used by the agent are declared here. #private data BeliefType belief_name(arg_list); // Events handled, posted and sent by the agent are declared here. #handles event EventType; #posts event EventType reference; used to create internal events #sends event EventType reference; used to send messages to other agents // Plans used by the agent are declared here. Order is important. #uses plan PlanType; // Capabilities that the agent has are declared here. #has capability CapabilityType reference; // other Data Member and Method definitions }
  • 14. PART II - Components 1. Components and tools; 2. Inter-agent Communication; 3. JACK extensions; 14
  • 15. 1.JACK Components and Tools JACK Intelligent Agent is distributed as the following modules: •JACK Runtime Environment • The kernel supports the execution of JACK agents, handling multi-threading and concurrency issues, etc. It also includes a communications layer with a simple agent naming service. •JACK Compiler • This compiles the JACK Agent Language code into pure Java, and calls the Java compiler to generate executables. •BDI Agent Model • This adds support for BDI reasoning, with additions to the language syntax and the runtime kernel. •SimpleTeam Model • This adds support for team-based reasoning with language extensions and kernel additions. •Agent Development Environment • The development environment is a GUI for viewing and manipulating JACK applications. •Agent Debugging Environment • Consists of an Agent Interaction Display for viewing messaging between agents along with switches to the kernel for displaying internal execution states. •JACOB • JACK Object Modeller is a powerful object modelling toolkit to support object transport and interaction with existing applications in Java and C++. It will stream objects in a human readable textual format, a fast binary format and in XML. 15
  • 16. 2.Inter-Agent communication •JACK Intelligent Agent provides a basic inter-agent communication layer called dci network for inter-agent communication (in remote communication). •Is based on the UDP transport protocol extended with a thin layer to provide reliable peer to peer communications. •Agents can address messages (MessageEvents, and BDIMessageEvents) to one another by specifying the name of the destination agent and, if applicable, its portal and host. 16
  • 17. 2.1 Inter-Agent communication For agents to communicate with one another, the following requirements must be met: •The agents must know one another's name. •The source agent needs to be able to send a message event. • This is achieved by including a #sends event declaration in the agent's definition for the required class of message event. •The source agent must then include code to send the message event. • It can do this by calling the send method from code outside a reasoning method, or the @sendstatement from within a reasoning method. •The destination agent needs to be able to handle this message event. • This is achieved by including a #handles event declaration for this message event in the destination agent's agent definition. 17
  • 18. JACK Extensions JACK Teams: An extension to the BDI software model that facilitates agents collaborating in teams toward achieving a goal. CoJACK: An extension to the JACK platform that adds a cognitive architecture to the agents for eliciting more realistic (human- like) behaviors in virtual environments. FIPA JACK: An extension to the JACK platform to support the FIPA Agent Communications Language. AMS –agent management service, DF – directory facilitator and MTS – message transport system Prometheus: An agent-centric software engineering methodology for managing the SDLC of a multi-agent based system. JACK was used as the basis for investigation, comparison, and testing the methodology. The Prometheus involved the development of the Prometheus Design Tool (PDT) which was a GUI based tool for managing design concerns in the process. JACK Eclipse Plug-in: A plug-in that facilitates the development of JACK-based systems in the Eclipse IDE. Specifically, the plug-in adds capabilities to Eclipse to support the JACK file types (such as .plan, .agent, etc.) as well support for JACK plan language. JACK WebBot: An extension that embeds the JACK kernel in the Apache Tomcat web server allowing intelligent agents to be interacted with and formulate responses HTTP requests (via the Java Servlet API). 18
  • 19. Summary •JACK is an agent development IDE that extends Java, adding the following constituents: • Capabilites: •encapsulate reasoning parts (events, plans, sub-capabilities, etc.) to provide a certain ability to any agent. • Plans: •Instructions the agent follows to (try) achieve goals and handle designated events. • Events: •trigger plans. Like event handlers in .NET. • Belief Sets: •Agent beliefs using a generic relational model 19
  • 20. Online resources •JACK® Intelligent Agents Official Website • http://aosgrp.com/index.html •Wikipedia definition • http://en.wikipedia.org/wiki/JACK_Intelligent_Agents •JACK® Intelligent Agents: Agent Manual • http://www.aosgrp.com/documentation/jack/Agent_Manua l_WEB/index.html •FIPA JACK – A plugin for JACK Intelligent Agents • http://www.cs.rmit.edu.au/agents/protocols/fipajack.pdf 20
  • 21. PART III JACK agent Development Environment (JDE) •Setting Up JACK with Java; •Compiling and Executing a Sample Project; “Multi-agent systems can be written in Java code and the JACK plan language in a standard IDE, although the platform provides an agent-centric IDE called the JACK Development Environment or JDE. The JDE provides graphical tools for writing plans, connecting plans to agents, managing inter-agent communication, as well as compiling and running. The JDE also provides graphical tools for debugging and tracing the execution of plans and inter-agent message passing” 21
  • 22. Setting Up JACK with Java Setting Up JACK with Java: •Install Java Development kit; •Define Java Classpath and Path environment variables; Table - JACK File extensions •Download JACK evaluation copy*; •Install with a valid JACK key; •Run IDE; •In file menu, choose one: • Create a new project; • Open an existing project; * http://www.aosgrp.com/products/jack/registration/regform.html Solution Explorer Panel 22
  • 23. Running a Sample Project Follow the steps listed below to execute the ATM-Graphical example: •Help -> Create Project from Example -> atm-graphical •Choose a folder where you want the project to be loaded. •Within a few seconds, the project will be loaded. •Jack has provided a compiler utility: • Click on Compiler Application; • Click the COMPILE Button; • Jack will generate appropriate Java compliant files, and will switch the compiler utility to Output/Errors Tab; • In the same tab, if you see this: [JackBuild Done], that means compilation was successful and that Jack has transformed the source code into pure Java form; • Now you are ready to go. Click the Run Application Tab; • Every Java application has one entry point main() which is always in a *.class file; • In this example, it is Main.class; • Double click it, and wait. •A simple GUI of the Graphical ATM Machine will appear; •Your account number is 10, pin code is 10 and you have 1000USDs initially. 23