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

Humanoid robotics
Humanoid roboticsHumanoid robotics
Humanoid robotics
Gopal Verma
 
Introduction to couchbase
Introduction to couchbaseIntroduction to couchbase
Introduction to couchbase
Dipti Borkar
 
Brain Machine Interface
Brain Machine InterfaceBrain Machine Interface
Brain Machine Interface
Rehan Fazal
 
BLUE BRAIN PERFECT WITH ANIMATION FINAL
BLUE BRAIN PERFECT WITH ANIMATION FINALBLUE BRAIN PERFECT WITH ANIMATION FINAL
BLUE BRAIN PERFECT WITH ANIMATION FINAL
Ajith Kumar Ravi
 

What's hot (20)

Humanoid robotics
Humanoid roboticsHumanoid robotics
Humanoid robotics
 
bci ppts
bci pptsbci ppts
bci ppts
 
Introduction to couchbase
Introduction to couchbaseIntroduction to couchbase
Introduction to couchbase
 
Brain computer interface
Brain computer interfaceBrain computer interface
Brain computer interface
 
Brain Computer Interface (BCI) - seminar PPT
Brain Computer Interface (BCI) -  seminar PPTBrain Computer Interface (BCI) -  seminar PPT
Brain Computer Interface (BCI) - seminar PPT
 
BRAIN CHIPS
BRAIN CHIPSBRAIN CHIPS
BRAIN CHIPS
 
Humanoid robot
Humanoid robotHumanoid robot
Humanoid robot
 
Brain Machine Interface
Brain Machine InterfaceBrain Machine Interface
Brain Machine Interface
 
JDBC – Java Database Connectivity
JDBC – Java Database ConnectivityJDBC – Java Database Connectivity
JDBC – Java Database Connectivity
 
BLUE BRAIN PERFECT WITH ANIMATION FINAL
BLUE BRAIN PERFECT WITH ANIMATION FINALBLUE BRAIN PERFECT WITH ANIMATION FINAL
BLUE BRAIN PERFECT WITH ANIMATION FINAL
 
java Jdbc
java Jdbc java Jdbc
java Jdbc
 
Flyweight Design Pattern
Flyweight Design PatternFlyweight Design Pattern
Flyweight Design Pattern
 
Brain Computer Interfaces(BCI)
Brain Computer Interfaces(BCI)Brain Computer Interfaces(BCI)
Brain Computer Interfaces(BCI)
 
Swarm ROBOTICS
Swarm ROBOTICSSwarm ROBOTICS
Swarm ROBOTICS
 
The Basics of MongoDB
The Basics of MongoDBThe Basics of MongoDB
The Basics of MongoDB
 
138693 28152-brain-chips
138693 28152-brain-chips138693 28152-brain-chips
138693 28152-brain-chips
 
Cassandra vs. MongoDB
Cassandra vs. MongoDBCassandra vs. MongoDB
Cassandra vs. MongoDB
 
Humanoid robot by Mitesh kumar
Humanoid robot by Mitesh kumar Humanoid robot by Mitesh kumar
Humanoid robot by Mitesh kumar
 
Brain computer interfaces
Brain computer interfacesBrain computer interfaces
Brain computer interfaces
 
BRAIN GATE (in nutshell)
BRAIN GATE (in nutshell)BRAIN GATE (in nutshell)
BRAIN GATE (in nutshell)
 

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

The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
Chris Hunter
 

Recently uploaded (20)

2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Role Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxRole Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptx
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesEnergy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
 

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