SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

Dart and Flutter Basics.pptx
Dart and Flutter Basics.pptxDart and Flutter Basics.pptx
Dart and Flutter Basics.pptxDSCVSSUT
 
Android Jetpack
Android Jetpack Android Jetpack
Android Jetpack Tudor Sirbu
 
Reactjs workshop
Reactjs workshop Reactjs workshop
Reactjs workshop Ahmed rebai
 
PPT on Angular 2 Development Tutorial
PPT on Angular 2 Development TutorialPPT on Angular 2 Development Tutorial
PPT on Angular 2 Development TutorialPaddy Lock
 
Flutter A year of creativity!
Flutter A year of creativity!Flutter A year of creativity!
Flutter A year of creativity!Ahmed Abu Eldahab
 
React JS: A Secret Preview
React JS: A Secret PreviewReact JS: A Secret Preview
React JS: A Secret Previewvaluebound
 
Jvm分享20101228
Jvm分享20101228Jvm分享20101228
Jvm分享20101228lunfu zhong
 
3D + MongoDB = 3D Repo
3D + MongoDB = 3D Repo3D + MongoDB = 3D Repo
3D + MongoDB = 3D RepoMongoDB
 
Oscon keynote: Working hard to keep it simple
Oscon keynote: Working hard to keep it simpleOscon keynote: Working hard to keep it simple
Oscon keynote: Working hard to keep it simpleMartin Odersky
 
강좌 04 펌웨어 구조 설계
강좌 04 펌웨어 구조 설계강좌 04 펌웨어 구조 설계
강좌 04 펌웨어 구조 설계chcbaram
 
ROS+GAZEBO
ROS+GAZEBOROS+GAZEBO
ROS+GAZEBOicmike
 
wireless pick and place robotic arm
wireless pick and place robotic armwireless pick and place robotic arm
wireless pick and place robotic armAyush Verma
 

Was ist angesagt? (20)

Dart and Flutter Basics.pptx
Dart and Flutter Basics.pptxDart and Flutter Basics.pptx
Dart and Flutter Basics.pptx
 
Android Jetpack
Android Jetpack Android Jetpack
Android Jetpack
 
Reactjs Basics
Reactjs BasicsReactjs Basics
Reactjs Basics
 
Introduction to robotics
Introduction to roboticsIntroduction to robotics
Introduction to robotics
 
Reactjs workshop
Reactjs workshop Reactjs workshop
Reactjs workshop
 
Go lang
Go langGo lang
Go lang
 
React native
React nativeReact native
React native
 
PPT on Angular 2 Development Tutorial
PPT on Angular 2 Development TutorialPPT on Angular 2 Development Tutorial
PPT on Angular 2 Development Tutorial
 
Test Coverage
Test CoverageTest Coverage
Test Coverage
 
Flutter A year of creativity!
Flutter A year of creativity!Flutter A year of creativity!
Flutter A year of creativity!
 
React JS: A Secret Preview
React JS: A Secret PreviewReact JS: A Secret Preview
React JS: A Secret Preview
 
Flutter
FlutterFlutter
Flutter
 
Jvm分享20101228
Jvm分享20101228Jvm分享20101228
Jvm分享20101228
 
3D + MongoDB = 3D Repo
3D + MongoDB = 3D Repo3D + MongoDB = 3D Repo
3D + MongoDB = 3D Repo
 
ARM CORTEX M3 PPT
ARM CORTEX M3 PPTARM CORTEX M3 PPT
ARM CORTEX M3 PPT
 
Oscon keynote: Working hard to keep it simple
Oscon keynote: Working hard to keep it simpleOscon keynote: Working hard to keep it simple
Oscon keynote: Working hard to keep it simple
 
강좌 04 펌웨어 구조 설계
강좌 04 펌웨어 구조 설계강좌 04 펌웨어 구조 설계
강좌 04 펌웨어 구조 설계
 
ROS+GAZEBO
ROS+GAZEBOROS+GAZEBO
ROS+GAZEBO
 
Introduccion a React
Introduccion a ReactIntroduccion a React
Introduccion a React
 
wireless pick and place robotic arm
wireless pick and place robotic armwireless pick and place robotic arm
wireless pick and place robotic arm
 

Ähnlich wie JACK intelligent Agents - an framework overview

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 DeveloperBSGAfrica
 
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.pdfAIS Technolabs Pvt Ltd
 
Ananth_Ravishankar
Ananth_RavishankarAnanth_Ravishankar
Ananth_Ravishankarananth R
 
Vikas_Singh_updated
Vikas_Singh_updatedVikas_Singh_updated
Vikas_Singh_updatedVikas Singh
 
Android fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersAndroid fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersBoom Shukla
 
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 AboutBJIT Ltd
 
Puneet_Senior_Java_Developer_Resume
Puneet_Senior_Java_Developer_ResumePuneet_Senior_Java_Developer_Resume
Puneet_Senior_Java_Developer_ResumePuneet Nebhani
 

Ähnlich wie 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
 

Mehr von Pedro Valente

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 hoteleiraPedro Valente
 
CSS Fundamentals: selectors and Properties
CSS Fundamentals: selectors and PropertiesCSS Fundamentals: selectors and Properties
CSS Fundamentals: selectors and PropertiesPedro Valente
 
Semana10-ordenacao-pesquisa-vetores
Semana10-ordenacao-pesquisa-vetoresSemana10-ordenacao-pesquisa-vetores
Semana10-ordenacao-pesquisa-vetoresPedro Valente
 
Workshop -Regras de Escrita de Trabalhos
Workshop -Regras de Escrita de TrabalhosWorkshop -Regras de Escrita de Trabalhos
Workshop -Regras de Escrita de TrabalhosPedro Valente
 
25mixedsession IOT introductions
25mixedsession IOT introductions25mixedsession IOT introductions
25mixedsession IOT introductionsPedro Valente
 
Auditoria aos Sites dos Ministérios
Auditoria aos Sites dos MinistériosAuditoria aos Sites dos Ministérios
Auditoria aos Sites dos MinistériosPedro 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 complexaPedro Valente
 
Defesa tese-mestrado-pvalente
Defesa tese-mestrado-pvalenteDefesa tese-mestrado-pvalente
Defesa tese-mestrado-pvalentePedro Valente
 
Paams2011 pvalente-presentation-slides1
Paams2011 pvalente-presentation-slides1Paams2011 pvalente-presentation-slides1
Paams2011 pvalente-presentation-slides1Pedro Valente
 
Cisti10 pvalente-presentation-slides
Cisti10 pvalente-presentation-slidesCisti10 pvalente-presentation-slides
Cisti10 pvalente-presentation-slidesPedro Valente
 
Phd defence-pvalente
Phd defence-pvalentePhd defence-pvalente
Phd defence-pvalentePedro Valente
 

Mehr von 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
 

Kürzlich hochgeladen

ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...JojoEDelaCruz
 
Dust Of Snow By Robert Frost Class-X English CBSE
Dust Of Snow By Robert Frost Class-X English CBSEDust Of Snow By Robert Frost Class-X English CBSE
Dust Of Snow By Robert Frost Class-X English CBSEaurabinda banchhor
 
EMBODO Lesson Plan Grade 9 Law of Sines.docx
EMBODO Lesson Plan Grade 9 Law of Sines.docxEMBODO Lesson Plan Grade 9 Law of Sines.docx
EMBODO Lesson Plan Grade 9 Law of Sines.docxElton John Embodo
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfPatidar M
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptshraddhaparab530
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Projectjordimapav
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
The Contemporary World: The Globalization of World Politics
The Contemporary World: The Globalization of World PoliticsThe Contemporary World: The Globalization of World Politics
The Contemporary World: The Globalization of World PoliticsRommel Regala
 
Presentation Activity 2. Unit 3 transv.pptx
Presentation Activity 2. Unit 3 transv.pptxPresentation Activity 2. Unit 3 transv.pptx
Presentation Activity 2. Unit 3 transv.pptxRosabel UA
 

Kürzlich hochgeladen (20)

ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
 
Dust Of Snow By Robert Frost Class-X English CBSE
Dust Of Snow By Robert Frost Class-X English CBSEDust Of Snow By Robert Frost Class-X English CBSE
Dust Of Snow By Robert Frost Class-X English CBSE
 
EMBODO Lesson Plan Grade 9 Law of Sines.docx
EMBODO Lesson Plan Grade 9 Law of Sines.docxEMBODO Lesson Plan Grade 9 Law of Sines.docx
EMBODO Lesson Plan Grade 9 Law of Sines.docx
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
Paradigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTAParadigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTA
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdf
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptxINCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.ppt
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Project
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
The Contemporary World: The Globalization of World Politics
The Contemporary World: The Globalization of World PoliticsThe Contemporary World: The Globalization of World Politics
The Contemporary World: The Globalization of World Politics
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Presentation Activity 2. Unit 3 transv.pptx
Presentation Activity 2. Unit 3 transv.pptxPresentation Activity 2. Unit 3 transv.pptx
Presentation Activity 2. Unit 3 transv.pptx
 

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