Software Agenter med JADE. Jaran Nilsen javabin Sørlandet, Kristiansand, 8. januar 2009

Like dokumenter
CORBA Component Model (CCM)

Er du nysgjerrig på om det er mulig...

ISY Park Go og nye ISY Park. Endre Lykke, NoIS

Tilstandsmaskiner med UML og Java

Message Oriented Middleware (MOM) Thomas Filip Andresen Arild Berggren Eivind Bøhn

Software installasjon og andre ettertanker

Altinns nye tjenesteverksted. Lars Vegard Bachmann, produkteier portal og tjenester, Altinn

IT Service Management

JigZaw. Teststategi utviklet av. Erik Drolshammer Bård Lind. Verifiser Forventet Funksjonalitet

AlgDat 10. Forelesning 2. Gunnar Misund

Hva betyr tjenesteorientert arkitektur for sikkerhet?

NOVUG 3 februar 2009

System integration testing. Forelesning Systems Testing UiB Høst 2011, Ina M. Espås,

Prosjekt. Bluetooth Messaging Service. Kristian Sporsheim, Rolf Erik Normann & Karsten Jansen

Introduksjon til Eclipse


Frank Sandersen, EVRY 3. April Avansert integrasjon Saksbehandling med ephorte som arkiv

A Study of Industrial, Component-Based Development, Ericsson

Smart flyt av informasjon - strategisk premiss for endring i offentlig sektor

AlgDat 12. Forelesning 2. Gunnar Misund

MBS 12 & Mamut Online Desktop. Ole M Hasven - Product Manager, Marketing Partnersamling, 9 oktober 2008 oleha@mamut.com

Server-Side Eclipse. Martin Lippert akquinet agile GmbH

Oppsummering. Thomas Lohne Aanes Thomas Amble

INF2120 Tools at your fingertips

Identitetsstyring og tilgangskontroll innenfor et SOA-regime. Ragna Fossen,

Model Driven Architecture (MDA) Interpretasjon og kritikk

Server-Side Eclipse. Bernd Kolb Martin Lippert it-agile GmbH

Hvordan bedømmer Gartner de lange linjene?

Samferdselsdepartementet. Kunstig intelligens. Anders Martin Fon. April Samferdselsdepartementet

ORIGO. Robert Engels. Hvordan plassere oss for fremtiden - endrede krav til interne systemer for å imøtekomme fremtidens behov

Programvareutvikling hos Sun Microsystems. Jørgen Austvik Sun Microsystems Database Technology Group

CYBER SECURITY AUTONOME SYSTEMER. Marie Moe, forskningsleder for Cyber Security,

Teknisk hjørne RiskManager

Information search for the research protocol in IIC/IID

Distributed object architecture

SSL DEKRYPTERING PERSONVERN VS SIKKERHET? STURLA GRELLAND

Gruppe 11. Frank Petter Larsen Vegard Dehlen

MindIT sin visjon er å være en anerkjent og innovativ leverandør av teknologi og tjenester i den globale opplæringsbransjen

- men en verden av muligheter

HP ConvergedSystem 700 Vidar Audum

BESKYTT FORRETNINGENE UANSETT HVOR DE ER. Protection Service for Business

License Management Morten A. Steien EDB Business Partner Industri

Objektorientert design av kode. Refaktorering.

Effektiv testing. Per Otto Bergum Christensen September, JavaZone. Bergum Christensen Consulting

JigZaw - Verktøy. Teststategi utviklet av. Erik Drolshammer Bård Lind. Verifiser Forventet Funksjonalitet

Hybrid Cloud and Datacenter Monitoring with Operations Management Suite (OMS)

Bruk av egendefinert kode i SAS Data Integration Studio

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case? Use case modellering. Eksempel

Sensor & Actuator Solutions

Geosynkronisering. Nasjonale tjenester. Kommuner GeoNorge / andre portaler. Metadata. Visning. Nedlasting. Deltakende virskomhet. Geosynkronise ring

WebSmart. Trond E. Nilsen Select AS

PLATON EXECUTIVE BRIEFINGS

Læringsmål uke 7. Objektorientert programmering i Python: Introduksjon. Innhold uke 7. Lite tilbakeblikk: Programflyt og skop

Regelbaserte systemer for beregning av pensjon

Internet of things. Kari Gimmingsrud

Forprosjektrapport. Hovedprosjekt i Informasjonsteknologi. Høgskolen i Oslo og Akershus. Våren 2016

Nyheter i CI 6.1. Nyheter i versjon 6.1 av SAS Customer Intelligence. Are Solberg, SAS Institute. make connections share ideas be inspired

Fremtiden er (enda mer) mobil

Konfigurasjonsstyring

IF2 efaktura B2C Dan Nylænder, UNIT4 Agresso AS efaktura B2C

Kost-nytte innen sikkerhet: Hva er prisen, hva er verdien, og hvordan prioritere blant tiltak?

SAS Forum Norge 2011

C L O U D S E C U R I T Y A L L I A N C E

Social Media Insight

Gir vi IKT-kandidatene egnet kompetanse for fremtiden? Morten Dæhlen Dekan

INTELLIGENT TEKNOLOGISK LIV

Sporene sier noe om hvem som gikk. inmemory.no


Forelesning inf Java 1

Skriverkontrollprogrammet MarkVision

Automatisering av datasenteret

Innebygd informasjonssikkerhet hvordan ivareta sikkerhet i prosjekter?

Nye funksjoner kombinert med enkel oppgradering

360 emeetings. -Papirløse møter på ipad eller iphone

Copyright 2010, SAS Institute Inc. All rights reserved.

Løsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004

InfraWorld avslutningsseminar. - Introduksjon. torsdag 13/9-12

NOKIOS Sesjon 4A Grenseløs samhandling - Utopi eller nært forestående? Trondheim, oktober 2008

Teknologi for et bedre samfunn. Teknologi for et bedre samfunn

Endringer i versjon 14.1

PoC Duet. Oppfølging av sykefravær

Digitalisering innen industrien

Innholdsfortegnelse. 1. Testing Feiltesting av koden Funksjonstesting: Kilder.10

Smidig utvikling NTNU Tor-Erik Mathisen

INF 5120 Obligatorisk oppgave Nr 2

Hvordan installere Java og easyio på Windows

Uke 5. Magnus Li INF /

Scientific applications in distributed systems

Trådløsnett med. Wireless network. MacOSX 10.5 Leopard. with MacOSX 10.5 Leopard

eoperasjoner OMS oppgaver

API: Application programming interface, eller programmeringsgrensesnitt

Kommunikasjon og autonome farkoster. Lars Landmark SEMINAR Maritim Kommunikasjon SINTEF, 15. februar 2017

Øystein Haugen, Professor, Computer Science MASTER THESES Professor Øystein Haugen, room D

Software Innovation med Public 360 Online. Odd-Henrik Hansen, Salgsdirektør og partneransvarlig Oktober 2014

Læringsmål for forelesningen

O v e r o r d n e t m a k r o p e r s p e k t i v p å d i g i t a l e m u l i g h e t e r

STRATEGISK PLAN

AVSLUTTENDE EKSAMEN I/FINAL EXAM. TDT4237 Programvaresikkerhet/Software Security. Mandag/Monday Kl

Endringer i versjon 14.1

Funksjonskravene er delt opp i to deler, krav til spillsekvens og generelle funksjonskrav.

Transkript:

Software Agenter med JADE Jaran Nilsen javabin Sørlandet, Kristiansand, 8. januar 2009

Jaran Nilsen Styremedlem i javabin Sørlandet Senior Software Developer i Integrasco A/S 5 år http://www.integrasco.no Annet itunes Agent http://ita.sourceforge.net jade4spring http://jade4spring.sourceforge.net

I kveld Hva er software agenter? Multi-agent systemer (MAS) Bruksområder Fordeler og ulemper JADE og Jade4Spring Demo: Utvikling av enkele software agenter med JADE og Jade4Spring

Hva er en software agent?

Hva er en software agent? Konseptet agenter har vært tilstede siden 1970-tallet Deres fysiske bror roboter har vært tilstede enda lengre Ideologi: Fremtiden vil bringe personlige assistenter som kan gjøre alt for oss Arrangere møter for deg Bestille flybilletter og hotell når du skal ut på reise Dagens agenda mens du spiser frokost Mote-tips? Kjøleskapet handler for deg...

Hva er en software agent? Latin: Agere å gjøre, avtale om å handle på ens vegne [1] Software entitet som til en viss grad arbeider selvstendig Designet for å arbeide uten innblanding fra en bruker bestemmer selv når den skal eksekvere oppgavene sine Definisjon[3]: Anything that can be viewed as perceiving its environment through sensors and acting upon that environment through effectors Selv mennesker kan sees på som agenter ut i fra denne definisjonen

Hva er en software agent? Det finnes ingen standardisert definisjon av software agenter Ofte veldig vanskelig å definere software som agent eller ikke et veldig flytende begrep Generell enighet om at software agenter må oppfylle noen krav: Persistent (vedvarende): Blir ikke fortalt når den skal eksekvere oppgaver bestemmer dette selv Autonomous (selv-styrt): Utfører oppgavene sine med ingen eller lite bruker-interraksjon Social: Har mulighet for å kommunisere med andre agenter og samarbeide Reactive: Sanse miljøet / konteksten og reagere på hendelser

Hva er en software agent? Konklusjon: En software agent er ikke noen voldsomt avansert og komplisert form for software, men snarere et begrep for å beskrive autonome prosesser som jobber uten lite innblanding fra brukere Generelt sett utfører software agenter mer avanserte oppgaver enn den gjennomsnittlige desktop applikasjon og er ofte designet for å gjøre oppgaver uten at en bruker trenger å blande seg inn

Multi-agent systems (MAS) Agenter er et forholdsvis gammelt konsept MAS er dukket opp i de senere årene Flere software agenter som jobber sammen for å løse mer komplekse problemer Utspring fra distribuerte systemer Distribusjon kombinert med behovet for at systemer representerer våre beste interesser og behov, krever at systemene sammarbeider og oppnår enighet Agentcities.org (eksisterer ikke lenger) Drømmen om en agent-verden hvor agenter tilbyr tjenester og kan samarbeide på tvers av grenser og platformer

Bruksområder Data mining og analyse Automatiske prosesser som krever lite innblanding av en bruker Simuleringer Spill Distribusjon av oppgaver og samarbeid mellom prosessene gjennom meldingsutveksling Simulering av store folkemengder, trafikk etc. Non-Player Characters Bots - tar på seg rollen som en spiller GPS-modul i bilen...

Hvorfor software agenter? Rammeverk basert på standarder Allerede implementert funksjonalitet for Meldingsutveksling Eksekvering Håndtering av livssyklus Enkel tilgang til verktøy for å overvåke og administrere et distribuert agent-miljø Ryddig og strukturert måte å utvikle selvstendige prosesser på

Hvorfor ikke software agenter? Den vanligste kritikken: Testing kan være en utfordring spesielt med tanke på integrasjonstester når man f.eks. skal teste oppførselen til en agent i samarbeid med flere andre Ingen standard for kommunikasjon med systemer som ikke er agent-baserte Ingen standard for inter-mas kommunikasjon

Agent-rammeverk Voyager Concordia (Mitsubishi) Grasshopper Able (IBM) IMPACT JADE +++

JADE Java Agent DEvelopment Framework Middleware for utvikling av distribuerte multi-agent systems[3] Uviklet og vedlikeholdt av Telecom Italia Labs Open source robust og aktivt miljø rundt rammeverket Implementerer FIPA spesifikasjonene http://jade.tilab.com

FIPA (.org) Foundation of Intelligent Physical Agents Spesifikasjoner for flere forskjellige aspekter ved software agenter Lifecycle management Message transport Message structure Interaction protocols Ontologies Security

FIPA (.org) Inside the scope of FIPA: Platform services provided to the agents Message Transport System Outside the scope of FIPA: The agent itself

JADE - arkitektur

JADE - tjenester Gule-sider tjeneste Directory Facilitator (DF) Effektiv kommunikasjon via Agent Communication Language (ACL) Ontologies for avansert agent kommunikasjon og standardkompabilitet Intra-platform mobilitet agenter kan flytte seg mellom containere Verktøy for administrasjon, overvåking og debugging av agenter

En JADE agent Består av to vikitge elementer Agent-klassen (extends jade.core.agent) Behaviours: her ligger selve funksjonaliteten til agenten - agentens actions public class MyAgent extends Agent { protected void setup ( ) { } // TODO Initialize the agent and // add behaviours protected void takedown() { // TODO Perform any clean up before the // agent is destroyed } }

En JADE agent - Behaviours jade.core.behaviour Behaviour base class for alle behaviours OneShotBehaviour Kjøres umiddelbart, og aldri igjen før agenten restartes TickerBehaviour Kjøres periodisk WakerBehaviour Kjøres en gang, etter en gitt tid ParallelBehaviour Kjører under-behaviours parallelt SerialBehaviour Kjører under-behaviours serielt ++

Jade4Spring Tillegg til JADE for enkel integrasjon av JADE agent-containere i Springbaserte applikasjoner Utviklet av Integrasco og brukt internt før vi bestemte oss for å release prosjektet som open source på Sourceforge i februar i fjor. Versjon 2.0 under utvikling og vil by på enda enklere integrasjon, samt en rekke nye features http://jade4spring.sourceforge.net <bean id="jade" class="net.sf.jade4spring.jadebean" init-method="startcontainer" lazy-init="false" destroy-method="stopcontainer" />

Let's write some code! :)

Videre lesning http://jade.tilab.com - registrer og last ned Inneholder tutorials og guides http://jade4spring.sourceforge.net Developing Multi-Agent Systems with JADE (ISBN: 978-0-470-05747-6) http://eu.wiley.com/wileycda/wileytitle/productcd-0470057475.html

Referanser [1] Wikipedia.org http://en.wikipedia.org/wiki/software_agents [2] Artificial Intelligence: A Modern Approach. Stuart J. Russel and Peter Norvig, 1995 [3] JADE A White paper F. Bellifemine, G. Caire, A. Poggi, G. Rimassa