Systemy wieloagentowe (MAS) struktura komunikacji między agentami. Autor: Zofia Kruczkiewicz

Wielkość: px
Rozpocząć pokaz od strony:

Download "Systemy wieloagentowe (MAS) struktura komunikacji między agentami. Autor: Zofia Kruczkiewicz"

Transkrypt

1 Systemy wieloagentowe (MAS) struktura komunikacji między agentami Autor: Zofia Kruczkiewicz

2 Agenda 1. Wprowadzenie do zagadnień komunikacji między agentami 2. Specyfikacje FIPA 3. Komunikacja między agentami BUI 4. Wiadomości typu ACL 5. Semantyka wiadomości ACL 6. Protokoły interakcji 7. Przykład aplikacji realizujacej standardowy protokół Contact-Net Projekt MASE 8. Zastosowanie różnych mechanizmów JADE (2) zastosowanie szablonów protokołów

3 1. Wprowadzenie do zagadnień komunikacji między agentami

4 Wieloagentowy system informatyczny

5 Jakie są agenty? Autonomous - autonomiczne Interactive - interaktywne Adaptive przystosowujące się Sociable zdolne do zachowań społecznych Mobile - mobilne Proxy mogą wystąpić jako pełnomocnicy w różnych zadaniach Proactive zorientowane na cel Rational zdolne do racjonalnego działania Unpredictable - nieprzewidywalne Temporally continuous zdolne do ciągłej realizacji procesu Transparent and accountable - zrozumiałe i odpowiedzialne Coordinative skoordynowane planem, mechanizmami zarządzania Cooperative - współpracujące Competitive rywalizujące bez wyrządzania szkody innym agentom Rugged zdolne do zarządzania danymi obarczonymi błędami i danymi niepewnymi Trustworthy godne zaufania

6 Klasyfikacja paradygmatów agentów Autonomia dynamiczna (reaktywna, proaktywna) wynika z wewnętrznej struktury agenta nieprzewidywalna, przewidywalna wynika z zewnętrznych warunków Adaptacja Reakcja Wnioskowanie Uczenie Ewolucja Interakcja Komunikacja Koordynacja Kooperacja Współzawodnictwo

7 Interakcja - Dostępne, otwarte, niedeterministyczne, dynamiczne, ciągłe (wg J.Ferber)

8 2. SPECYFIKACJE FIPA Foundation for Intelligent Physical Agents normy- specyfikują zewnętrzne zachowania agenta i jego współpracę z innymi podsystemami ujętymi w specyfikacji FIPA informacje o aplikacjach określające sposób użycia technologii FIPA

9 Specyfikacje FIPA 2005 (97)

10 Część 1 - Agent Management Część 1 opisuje normy dotyczące: istnieniem agentów operacyjnością agentów zarządzaniem agentami Definicja platformy agenta, pojęcie białej i żółtej księgi, przysyłaniem wiadomości oraz zarządzaniem cyklami życia agenta, akty komunikacyjne agenta wyrażające jego inteligentne zachowanie oraz odpowiadająca ontologia oraz język zawartości wiadomości

11

12 Część 2 - Język komunikacji agenta The FIPA Agent Communication Language (ACL) jest oparty na teorii aktów mowy: wiadomości są aktami komunikacyjnymi. Specyfikacja składa się : ze zbioru typów wiadomości, które zawierają opis pragmatyki tych wiadomości wyrażające stosunek typu BUI agenta do innego agenta/agentów. Opis jest przedstawiony w formie narracyjnej i formalnej opartej na logice modalnej. Ze zbioru opisów protokołów komunikacji

13

14 Część 3 - Reprezentacja wiadomości i transportu wiadomości FIPA Agent Message Transport specifications deal with the transport and representation

15 Część 4 - Integracja Agent/Software Część 4 opisuje sposób integrowania oprogramowania nieagentowego z oprogramowaniem agentowym: Systemy baz danych Oprogramowanie sieciowe Oprogramowanie narzędziowe

16

17 Część 5 - Aplikacje (Osobisty Asystent Podróży) Turystyka obejmuje następujące komponenty: Zaopatrzeniowiec Pośrednik Usługi osobiste Role te pełni agent typu PTA - Personal Travel Agent

18 Część 5 - Aplikacje (Osobisty Asystent) Jest nim półautonomiczny agent typu PA (Personal Assistant) o następujących cechach: Realizuje usługi zaopatrzeniowe Informuje Zarządza podstawowymi danymi Organizuje rozrywkę Planuje czas przeznaczony na pracę i odpoczynek Organizuje spotkania Część 5 - Aplikacje (Przedsięwzięcia Audio/Video i transmisje) Wybór właściwych programów uwzględniając preferencje użytkownika Negocjowanie zmiany w programach

19 Część 5 - Aplikacje (Zarządzanie i zabezpieczanie sieci) Dostarczanie usług końcowym użytkownikom zgodnie z zasadą jakości usług i kosztu usług Idea VPN (Virtual Private Network) połączenia z wybranymi użytkownika na ich życzenie, dostarczanie usług audiowizualnych Zapewniają te usługi trzy typy agentów: The Personal Communications Agent (PCA) reprezentuje użytkownika The Service Provider Agent (SPA) - dostarcza usługi The Network Provider Agent (NPA) umożliwia dostęp do sieci

20

21 3. Komunikacja między agentami - BUI Cechy komunikacji : Komunikacja między agentami wynika ze spełnianych przez nich misji. Oparta jest ona na następujących mentalnych atrybutach agenta: Belief (wiara) oznacza zbiór propozycji, które agent akceptuje i zbiór propozycji, które agent nie akceptuje podczas negocjacji Uncertainty (niepewność) oznacza zbiór propozycji, które agent akceptuje lub nie akceptuje z pewnym poziomem niepewności, czy są prawdziwe lub fałszywe. Oznacza to, że agent przyjmuje model negocjacji, gdy przedmiotem jest niepewna informacja Intention (intencja) oznacza intencję, zamiar lub cel lub zbiór celów, które agent uważa za prawdziwe i te, w ktore agent nie wierzy. Intencje są przedstawiane w postaci planu akcji (np. za pomocą mapy stanów), prowadzących do zmiany stanów świata rzeczywistego, wybieranych przez agenta

22 Wnioski (1) Sprzeczności: dana jest propozycja p - wtedy stan wiary p, stan niewiary p, stan niepewności p i stan pewności p wykluczają się wzajemnie. W rozproszonych systemach agent jest jedynie zdolny do spełnienia swoich intencji za pomocą wpływu wywieranego na innych agentów do wykonania akcji. Wpływ wywierany na innych agentów osiąga się za pomocą specjalnej klasy akcji zwanych aktami komunikacyjnymi (communicative acts) czyli wysyłaniu wiadomości zawierających zakodowany akt komunikacyjny przez nadawcę do odbiorcy. Ważną rolę odgrywa typ wiadomości oraz posiadanie tej samej wiedzy opartej na koncepcji BUI. Np. Agent i wierzy, że lepiej jest czytać książki niż oglądać TV i uważa, że agent j będzie uważał podobnie. Agent i w ACL inform informuje j swojej o wierze. Agent j na podstawie semantyki inform wie, że agent i chce wpłynąć na jego intencje dotyczące wiary w wartość czytania książek, ale dla agenta j przyjęcie wiary agenta i może stanowić pewien problem.

23 Wnioski (2) transport wiadomości między agentami struktura wiadomości syntaktyka transportu wiadomości ACL w postaci strumienia bajtów katalog standardowych aktów komunikacyjnych zbiór i definicja podstawowych protokołów komunikacji zawierających zbiór wiadomości definicja modelu semantyki komunikacji.

24 4. Wiadomości typu ACL

25 Cechy wiadomości - FIPA ACL Typ wiadomości jest zgodny z typem zawartości wiadomości, którą powinna charakteryzować: kompletność prostota zwięzłość. Wiadomość reprezentuje akt komunikacyjny, jest jego synonimem Semantyka języka komunikacji jest oparta na precyzyjnym formalizmie, pozbawionym sprzeczności.

26 Wymagania transportu wiadomości ACL Usługę transportu wiadomości spełnia system zarządzania agentami Wymagania usług transportu wiadomości (niezbędne): przesyłanie zakodowanej wiadomości w postaci sekwencji bajtów usługi transportu powinny być niezawodne, dokładne, uporządkowane (kolejność) nie spełnienie tych własności powinno być sygnalizowane agent ma opcję wyboru sposobu odebrania wiadomości: uśpienie lub oczekiwania na wiadomość (tryb synchroniczny) lub wykonywanie innych czynności podczas oczekiwania na odpowiedź czas przeterminowania nie jest parametrem aktu komunikacyjnego, tylko systemu usług transportu wiadomości po wykryciu błędów, system może wysłać informację o tym fakcie do nadawcy w postaci wiadomości o błędzie system zapewnia wybór poprawnego mechanizmu transportu (TCP/IP, SMTP, HTTP, etc)

27 Wymagania dotyczące wiadomości ACL Wymaganie 1: Agenty mogą wysłać wiadomość not-understood, jeśli otrzymają wiadomość, której nie rozpoznają lub nie są w stanie odczytać zawartości wiadomości. Agenty muszą odebrać i obsłużyć taką wiadomość Wymaganie 2: Agent powinien posiadać predefiniowany zbiór typów wiadomości i protokołów, zgodnych z definicją semantyki aktów komunikacyjnych Wymaganie 3: Agent nie może zmieniać znaczenia istniejących predefiniowanych aktów komunikacyjnych Wymaganie 4: Agenty mogą wprowadzać nowe akty komunikacyjne zrozumiałe przez odbiorcę, jednak nie wolno im nadawać znaczenia istniejących aktów komunikacyjnych.

28 Wymaganie 5: Agent powinien poprawnie syntaktycznie formułować zawartość generowanej wiadomości oraz z taką samą poprawnością odczytywać wiadomości. Zawartość wiadomości Zawartość wiadomości odpowiada przeznaczeniu aktu komunikacyjnego. Wiadomość czyli akt komunikacyjny jest zdaniem, natomiast zawartość jest gramatycznym obiektem zdania. Zawartość jest zapisana w języku podanym w parametrze :language. Wymaganie 6: Ogólnie, język zawartości wiadomości musi wyrażać propozycje, obiekty i akcje. Język ten służy jedynie do wyrażania typów akcji: propozycji, informowania, żądania itp. Stany propozycji - true lub false Obiekty rzeczy abstrakcyjne lub konkretne Akcje agent staje sie aktywny (iota <variable> <term>) np. iota x(p x) oznacza, że x taki, że P [jest prawdziwe] dla x. Słowo iota jest konstruktorem dla termów.

29 Definicja 1: Język zawartości wiadomości FIPA jest oparty na gramatyce s-wyrażeń lub jej podgramatyce i umożliwia wyrażanie propozycji, obiektów i akcji odpowiadających cyklowi życia agenta. Wymaganie 7: Agent jest zobowiązany do wyrażania swoich możliwości wymieniając wiadomości napisane za pomocą języka zawartości wiadomości i stosując określoną ontologię.

30 Budowa wiadomości ACL

31 Parametry :performative :sender :receiver :reply-with :in-reply-to :envelope Znaczenie wiadomości typ wiadomości Nazwa agenta nadającego akt komunikacyjny (opcjonalna) Nazwa agenta, do którego wysłana jest wiadomość. Może to być pojedyncza nazwa lub zbiór nazw agentów - multicasting (opcjonalna) Atrybut zawiera wyrażenie, które identyfikuje oryginalną wiadomość. Może być używane w wątku konwersacji, jeśli jednocześnie prowadzi się kilka dialogów jednocześnie. Np. Agent i wysyła wiadomość do agenta j wiadomość, która zawiera :reply-with query1, agent j powinien odpowiedzieć :in-reply-to query1. Wiadomość wysłana jako odpowiedź zawiera w tym atrybucie wyrażenie, które jest również zawarte w parametrze reply-with w odebranej wiadomości, Wyrażenie użyteczne dla systemu usług transportowych i zawiera czas wysłania, czas odbioru, trasę itp. Struktura koperty jest listą par słów kluczowych, które oznaczają pewne aspekty usług wiadomości

32 :content :language :encoding :ontology :reply-by :protocol :conversationid Atrybut zawiera dane wiadomości, czyli treść akcji Atrybut zawiera schemat kodowania zawartości wiadomości. Opis kodowania wyrażeń zawartych w wiadomości Oznacza ontologię, która jest używana do podania znaczenia symboli używanych w wyrażeniu zawartości wiadomości (często domyślna) Oznacza czas i/lub datę wyrażenia, która oznacza najdłuższy czas, po którym wysyłający agent oczekuje na odpowiedź Identyfikator oznacza protokół, który zastosował wysyłający agent. Protokół dodatkowo podaje kontekst wiadomości (opcjonalny). W domyślnej sytuacji każda wiadomość może być traktowana indywidualnie, bez stosowania protokołu. Nadaje się wtedy niezerowy conversation-id. Odpowiedzi mogą być identyfikowane za pomocą tego samego conversation-id. Czas przeterminowania w reply-by oznacza maksymalny czas oczekiwania na kolejną wiadomość wyznaczoną przez protokół Wyrażenie jest używane do identyfikacji sekwencji wychodzących wiadomości, które tworzą konwersację. Konwersacja może być użyta do zarządzania strategią komunikacji i aktywności agenta oraz do dodatkowej interpretacji znaczenia wiadomości

33 Wykaz standardowych wiadomości ACL

34 Typ wiadomości accept proposal agree cancel cfp confirm disconfirm failure inform inform if (macro act) inform ref (macro act) Interpretacja znaczenia wiadomości Nadawca akceptuje wykonanie zadania przez odbiorcę, które zostało wcześniej zaproponowane przez odbiorcę Nadawca zgadza się na wykonanie zleconego zadania przez odbiorcę w przyszłości po spełnieniu pewnych warunków Nadawca anuluje wykonania zadania przez odbiorcę Nadawca podaje propozycję wykonania zadania przez odbiorcę, podając definicję tego zadania Nadawca potwierdza odbiorcy, że ufa wysłanej wcześniej przez niego informacji (nadawca zazwyczaj nie ufa) Nadawca potwierdza odbiorcy, że nie ufa wysłanej wcześniej przez niego informacji (nadawca zazwyczaj ufa) Nadawca wykonuje zadanie, ale powiadamia odbiorcę, że nie może go skończyć Nadawca przesyła propozycję do odbiorcy Nadawca przesyła propozycję do odbiorcy, podając, czy jest prawdziwa Nadawca przesyła wiadomość do odbiorcy, zawierającą odwołanie do propozycję,

35 not understood propose query if query ref refuse reject proposal request request when request whenever subscribe Nadawca nie rozumie wiadomości otrzymanej wcześniej od odbiorcy i informuje go o tym Nadawca informuje odbiorcę, że przyjmuje jego propozycje wykonania zadania, podanego w wiadomości cfp Nadawca pyta odbiorcę, czy wysyłana propozycja jest prawdziwa Nadawca pyta odbiorcę, czy wskazana propozycja w wiadomości jest prawdziwa Nadawca odmawia odbiorcy wykonania zadania Nadawca nie przyjmuje propozycji od odbiorcy Nadawca żąda wykonania zadania przez odbiorcę Nadawca żąda wykonania zadania przez odbiorcę, kiedy zostaną spełnione podane propozycje Nadawca żąda wykonania zadania przez odbiorcę, w dowolnym momencie, kiedy zostaną spełnione podane propozycje w wiadomości Nadawca żąda, aby był przez odbiorcę powiadamiany o wskazanej informacji oraz o zmianach tej informacji

36 Zależności między wiadomościami ACL

37 Typ wiadomości Kategorie wiadomości Przesyłanie informacji Żądanie informacji Negocjacje Wykonanie akcji Osługa błędu accept-proposal + agree cancel + + cfp + confirm disconfirm + + failure + inform inform-if (macro act) inform-ref (macro act) not-understood + propose + query-if query-ref + + refuse + reject-proposal + request request-when request-whenever subscribe +

38 5. Semantyka wiadomości ACL

39 Semantyka języka ACL Język semantyki typu Semantic Language (SL) jest formalnym językiem używanych do definicji semantyki języka typu FIPA Agent Communication Language (FIPA ACL).

40 (I John (B Bob(temperature 10)))

41 Przykłady Definicja aktu komunikacyjnego <i, act (j, C)> Równoważna definicja aktu komunikacyjnego (act :sender i :receiver j :content C) FP: φ1 RE: φ2 gdzie i jest inicjatorem akcji, j jest uczestnikiem, act jest nazwą aktu, C reprezentuje semantyczny kontekst φ1 and φ2 są propozycjami, FP jest możliwym skutkiem działania act, RE jest racjonalnym efektem działania act.

42 Przykład (1) ogólny model request Model aktu komunikacyjnego typu request (FIPA00037, 2000): <i, request (j, a)> FP: φ1 RE: φ2 Równoważny zapis (request :sender i :receiver j :content a) FP: FP(a) [i\j] Bi Agent (j, a) Bi Ij Done (a) RE: Done (a)

43 Przykład (1) zastosowanie request Agent x żąda od agenta y, aby ten zarezerwował mu bilet. (request :sender (agent-identifier :name x) :receiver (set (agent-identifier :name y)) :content "((action (agent-identifier :name y) (reserve-ticket LHR MUC 27-sept-97) ))" :protocol fipa-request :language fipa-sl :reply-with order567)

44 Przykład (1) ogólny model agree Jeśli agent i może wykonać polecenie, wysyła wiadomość typu agree do agenta j <i, agree (j, <i, request>, φ))> <i, inform (j, Ii Done (<i, act>, φ))> FP: Bi α Bi (Bifj α Uifj α) RE: Bj α gdzie: α = Ii Done(<i, act>, φ)

45 Przykład (1) - zastosowanie agree Agent y odpowiada agentowi x, że zgadza się, ale pod warunkiem, że na koncie agenta x znajduje się wystarczająca ilość pieniędzy. (agree :sender (agent-identifier :name y) :receiver (set (agent-identifier :name x)) :content "( (action (agent-identifier :name y) (reserve-ticket LHR MUC 27-sept-97)) (sufficient- funds ac12345))" :in-reply-to order567 :protocol fipa-request :language fipa-sl)

46 Przykład (1) - ogólny model refuse Jeśli agent i odmawia agentowi j wykonania polecenia wysłanego w wiadomości typu request, wysyła do niego wiadomość typu refuse <i, refuse (j,<i, act>,φ)> <i, disconfirm (j, Feasible(<i, act>))>; <i, inform (j, φ Done (<i, act>) Ii Done (<i, act>))> FP: Bi Feasible (<i, act>) Bi (Bj Feasible (<i, act>) Uj Feasible (<i, act>)) Bi α Bi (Bifj α Uifj α) RE: Bj Feasible (<i, act>) Bj α gdzie: α = φ Done (<i, act>) Ii Done (<i, act>)

47 Przykład (1) zastosowanie refuse Agent y odpowiada, że odmawia rezerwacji biletu agentowi y, ponieważ brakuje pieniędzy na koncie (refuse :sender (agent-identifier :name y) :receiver (set (agent-identifier :name x)) :content "((action (agent-identifier :name y) (reserve-ticket LHR MUC 27-sept-97)) (insufficient- funds ac12345))" :in-reply-to order567 :protocol fipa-request :language fipa-sl)

48 Przykład (2) call for proposal Agent j składa propozycję agentowi i sprzedania mu 50 skrzynek śliwek (cfp :sender (agent-identifier :name j) :receiver (set (agent-identifier :name i)) :content "((action (agent-identifier :name i) (sell plum 50)))" :ontology fruit-market :reply-with proposal2 )

49 Przykład (2) refuse Agent i odmawia agentowi j zakupu śliwek, gdy j nie ma wystarczającej kwoty na koncie: (refuse :sender (agent-identifier :name i) :receiver (set (agent-identifier :name j)) :content "((action (agent-identifier :name i) (sell plum 50)) (insufficient-funds ac12345))" :language fipa-sl)

50 Przykład (2) - propose Agent i informuje j, że sprzeda 50 skrzynek ze śliwkami w cenie $200: ( propose :sender (agent-identifier :name i) :receiver (set (agent-identifier :name j)) :content "((action i (sell plum 50))(cost 200))" :ontology fruit-market :language fipa-sl :in-reply-to proposal3)

51 Przykład (2) reject-proposal Agent i informuje j, że odrzuca ofertę kupna śliwek od j, ponieważ cena jest za wysoka (reject-proposal :sender (agent-identifier :name i) :receiver (set (agent-identifier :name j)) :content "((action (agent-identifier :name j) (sell plum 50)) (cost 200) (price-too-high 50))" :in-reply-to proposal3)

52 Przykład (2) - inform (inform :sender (agent-identifier :name i) :receiver (set (agent-identifier :name j)) :content "((action (agent-identifier :name j) (sell plum 50)) (cost 200))" :language sl)

53 Przykład (2) - failure (failure :sender (agent-identifier :name i) :receiver (set (agent-identifier :name j)) :content "((action (agent-identifier :name j) (sell plum 50)) (error-message "No plum")) :language sl)

54

55

56 6. Protokoły interakcji Używane wiadomości w różnych konwersacjach mogą tworzyć pewien szablon, co prowadzi do definicji nowego typu protokołu interakcji Wymaganie 8: Agent nie musi implementować standardowych protokołów, jednak jeśli przyjęto nazwę standardowego protokołu, musi ona odpowiadać podanej w specyfikacji FIPA. Agent może brać udział w kilku konwersacjach jednocześnie prowadząc dialog z wieloma agentami. Konwersacje te mogą należeć do różnych protokołów. Należy zapewnić rozróżnialność poszczególnych wiadomości należących do różnych protokołów i konwersacji.

57 Przykład Specyfikacja protokołu, jeśli jest operacją (request :sender i :receiver j :content some-act :protocol fipa-request )

58 Notacja standardowego opisu protokołu prostokaty z podwójnymi krawędziami reprezentują akt komunikacyjny Biały prostokąt reprezentuje akcje podejmowane przez nadawcę Szare prostokaty reprezentują akcje podejmowane przez pozostałych uczestników protokołu Tekst napisany italikiem reprezentuje komnetarz

59 Protokół FIPA-request

60

61 Protokół FIPA-request-when

62

63 FIPA-query Protocol

64

65 Protokół FIPA-contract-net

66

67 FIPA-Iterated-Contract-Net Protocol

68

69

70 7. Przykład aplikacji realizujacej standardowy protokół Contact- Net Projekt MASE

71

72

73

74

75

76

77

78 receive(inform) receive(failure) send(cfp) send(reject-proposal) receive(propose) Deadline for proposals send(accept -proposal)

79 send(failure) send(inform) receive(cfp) receive(reject -proposal) refuse send(propose) receive (acceptproposal)

80

81

82 8. Zastosowanie różnych mechanizmów JADE (2) zastosowanie szablonów protokołów

83

84

85

86

87 Zachowania Jade

88 Inicjator protokołu import jade.core.*; import jade.lang.acl.aclmessage; import jade.proto.contractnetinitiator; import jade.domain.fipanames; import java.awt.event.*; import java.util.*; import javax.swing.*; // deficja agenta typu inicjator protokołu typu FIPA-Contract-Net public class ContractNetInitiatorAgent1 extends Agent { int inicjowanierandom; //dane do realizacji losowych zadań int liczbaodbiorcow; //liczba agentów usługodawców String odbiorcy = ""; //łańcuch zawierający nazwy agentów usługodawców //wiadomość typu cfp protokolu ContarctNet ACLMessage wiadomosc = new ACLMessage(ACLMessage.CFP); //definicja komponentów interfejsu graficznego agenta typu inicjator //metoda Ramka tworząca interfejs graficzny użytkownika i przygotowująca wiadomość typu cfp void Ramka(Agent a) { final Agent ag = a; ramka = new JFrame("Agent inicjator"); ramka.setsize(300, 420); ramka.setdefaultcloseoperation(jframe.dispose_on_close);

89 //obsługa zdarzeń GUI agenta usługobiorcy zatwierdz.addactionlistener(new ActionListener() public void actionperformed(actionevent evt) { // kod źródłowy metody, która przygotowuje wiadomość typu cfp // i wstawia zachowanie typu NowyContractNetInitiator //które po uruchomieniu wysyła wiadomość typu cfp } }); //wstawianie komponentów GUI do obiektu ramka typu // wywołanie metody setup agenta inicjujące działania agenta protected void setup() { Ramka(this); }} //definicja klasy typu Behaviour do obsługi protokołu typu FIPA-Contract-Net po stronie agenta inicjatora class NowyContractNetInitiator extends ContractNetInitiator { int liczbaodbiorcow; int inicjowanierandom; JTextArea komentarz; //kontakt z GUI agenta inicjatora NowyContractNetInitiator(Agent agent, ACLMessage wiadomosc, int liczbaodbiorcow_, int inicjowanierandom_, JTextArea kom) { // kod źródłowy konstruktora }

90 @Override //obsługa odbioru wiadomości typu refuse protected void handlerefuse(aclmessage refuse) { // kod źródłowy metody // obsługa odbioru wiadomości typu propose protected void handlepropose(aclmessage propozycja, Vector v) { // kod źródłowy metody } //obsługa odbioru wiadomości typu propose oraz przygotowanie się do wysłania wiadomości typu //reject-proposal lub protected void handleallresponses(vector odbiorcy, Vector wybrani) { //reakcja na przekroczenie czasu oczekiwania na propozycje // kod źródłowy metody // obsługa odbioru wiadomości typu failure protected void handlefailure(aclmessage failure) { // kod źródłowy metody //obsługa wiadomości typu inform protected void handleinform(aclmessage inform) { // kod źródłowy metody } //pomocnicza metoda do obsługi zlecania zadań public byte[] wypelnij(int n, int m, int offset, int zakres) { // kod źródłowy metody return tablica1; } }

91 Odbiorca import jade.core.agent; import jade.lang.acl.*; import jade.domain.*; import jade.domain.fipaagentmanagement.*; import jade.proto.contractnetresponder; import javax.swing.*; // klasa agenta typu odbiorca public class ContractNetResponderAgent1 extends Agent { // definicja komponentów GUI agenta odbiorcy //metoda Ramka służy do budowy GUI agenta odbiorcy void Ramka() { // kod źródłowy metody tworzacej GUI } // metoda inicjująca agenta typu odbiorca - tworzy GUI użytkownika // i wstawia zachowanie agenta typu NowyContractNetResponder // do obsługi nadawania i odbioru wiadomości po stronie odbiorczej protected void setup() { // kod źródłowy metody }

92 // definicja klasy NowyContractNetResponder do obsługi // nadawania i odbioru wiadomości po stronie odbiorczej // protokołu FIPA-Contract-Net class NowyContractNetResponder extends ContractNetResponder { JTextArea komentarz; // elementy łączące z GUI agenta //odbiorcy JFrame ramka; //definicja konstruktora klasy NowyContractNetResponder NowyContractNetResponder(Agent agent, MessageTemplate szablon, JTextArea komentarz_, JFrame ramka_) { //kod źródłowy konstruktora }

93 // metoda do obsługi wysłania wiadomości propose lub wysłania wiadomości protected ACLMessage prepareresponse( ACLMessage wezwanie_do_propozycji) throws NotUnderstoodException, RefuseException{ // kod źródłowy metody } // metody do obsługi odbioru wiadomości typu protected void handlerejectproposal(aclmessage wezwanie_do_propozycji, ACLMessage propozycja, ACLMessage akceptacja) { // kod źródłowy metody } // metoda do obsługi wysłania wiadomości propose lub wysłania wiadomości refuse oraz // wysłania wiadomości typu inform w przypadku zaakceptowania propozycji zawartej // w wiadomości propose wykonania zadania lub failure w przypadku niepowodzenia // podczas realizacji protected ACLMessage prepareresultnotification( ACLMessage wezwanie_do_propozycji, ACLMessage propozycja, ACLMessage akceptacja) throws FailureException { // kod źródłowy metody } //koniec metody } //koniec definicji klasy NowyContractNetResponder

94 Start systemu agenta inicjator przygotowuje dane zlecanego zadania, agenci odbiorcy r1 i r2 oczekują na wiadomość typu cfp

95 Przygotowanie danych do wysłania wiadomości typu propose przez agentów typu odbiorcy

96 Reakcje agenta inicjatora na spóźnione nadesłanie wiadomości typu propose ze strony agentów usługodawców wysłanie wiadomości reject-proposal

97 Przypadek odebrania propozycji wysłanych przez agentów usługodawców agentowi wysłanie accept-proposal oraz reject-proposal

98 Przypadek akceptacji przez agenta usługobiorcę propozycji w wiadomości propose wysłanej przez agenta usługodawcę r1 i następnie wysłanie przez agenta r1 informacji o wykonanym zadaniu wysłanie inform

99

100

101

102

103

Dialogowe akty mowy w modelach sztucznej inteligencji

Dialogowe akty mowy w modelach sztucznej inteligencji Dialogowe akty mowy w modelach sztucznej inteligencji O. Yaskorska 1 K. Budzynska 1 M. Kacprzak 2 1 Wydział Filozofii Chrześcijańskiej, Uniwersytet Kardynała Stefana Wyszyńskiego w Warszawie 2 Wydział

Bardziej szczegółowo

Informatyka Systemów Autonomicznych Praca zaliczeniowa

Informatyka Systemów Autonomicznych Praca zaliczeniowa Paweł Krajna Wrocław, 5.04.2007 Informatyka Systemów Autonomicznych Praca zaliczeniowa Temat: ACL - język komunikacji. Spis treści Wstęp...2 Dokumentacja...2 Przegląd komunikacji między agentami...3 Mechanizmy

Bardziej szczegółowo

Architektury usług internetowych. Laboratorium 5. JADE

Architektury usług internetowych. Laboratorium 5. JADE Wstęp Architektury usług internetowych Laboratorium 5. JADE Celem laboratorium jest zapoznanie się z usługami udostępnianymi przez agenty w systemie agentowym JADE. Każdy z agentów udostępniający usługę

Bardziej szczegółowo

Komunikacja w systemie wieloagentowym

Komunikacja w systemie wieloagentowym Komunikacja w systemie wieloagentowym Piotr Pałka Instytut Automatyki i Informatyki Stosowanej Politechnika Warszawska 20 października 2009 Piotr Pałka Komunikacja w systemie wieloagentowym 1/16 Komunikacja

Bardziej szczegółowo

Architektury Usług Internetowych. Laboratorium 3. Usługi w środowisku wielo-agentowym

Architektury Usług Internetowych. Laboratorium 3. Usługi w środowisku wielo-agentowym Architektury Usług Internetowych Laboratorium 3. Usługi w środowisku wielo-agentowym Wstęp Celem laboratorium jest zapoznanie się z usługami udostępnianymi przez agenty w systemie agentowym JADE. Każdy

Bardziej szczegółowo

Wykład10, 11. ACL - język komunikacji między agentami. ACL - Agent Communication Language

Wykład10, 11. ACL - język komunikacji między agentami. ACL - Agent Communication Language Wykład10, 11 ACL - język komunikacji między agentami ACL - Agent Communication Language (na podstawie specyfikacji FIPA Publication date: 23rd October, 199828th November, 1997 Copyright 1997,1998 by FIPA

Bardziej szczegółowo

Agentowe języki komunikacji (KIF, KQML, ACL)

Agentowe języki komunikacji (KIF, KQML, ACL) WYKŁAD 7 Agentowe języki komunikacji (KIF, KQML, ACL) System autonomiczny potrafi: obserwować (monitorować stan własny i stan otoczenia) działać (modyfikować stan własny i stan otoczenia) W przypadku systemów

Bardziej szczegółowo

Architektury Usług Internetowych. Laboratorium 5

Architektury Usług Internetowych. Laboratorium 5 Architektury Usług Internetowych Laboratorium 5 Celem zadania jest zapoznanie się mechanizmem definiowania, rejestrowania, wyszukiwania i wywoływania usług w środowisku wieloagentowym. Przy realizacji

Bardziej szczegółowo

Java Agent DEvelopment Framework Systemy Agentowe

Java Agent DEvelopment Framework Systemy Agentowe Java Agent DEvelopment Framework Systemy Agentowe Michaª Wójcik Katedra Architektury Systemów Komputerowych Wydziaª Elektroniki, Telekomunikacji i Informatyki Politechnika Gda«ska 5 pa¹dziernika 2011 Michaª

Bardziej szczegółowo

Aplikacja wielowątkowa prosty komunikator

Aplikacja wielowątkowa prosty komunikator Aplikacja wielowątkowa prosty komunikator Klient 0 (host 1) Wątek 0 Komponent serwera Wątek pochodny 3.1 Klient 1 (host 2) Wątek 1 Komponent serwera Wątek pochodny 3.2 Host 4 Serwer Wątek 3 Klient 2 (host

Bardziej szczegółowo

JADE Java Agent Development Framework. MiASI2, TWO2,

JADE Java Agent Development Framework. MiASI2, TWO2, JADE Java Agent Development Framework MiASI2, TWO2, 2014-2015 Materiały Strona projektu JADE http://jade.tilab.com/ (Telecom Italia, University of Parma, Motorola Labs) Dokumentacja Programming Tutorial

Bardziej szczegółowo

JADE Java Agent Development Framework. MiASI2, TWO2, 2012-2013

JADE Java Agent Development Framework. MiASI2, TWO2, 2012-2013 JADE Java Agent Development Framework MiASI2, TWO2, 2012-2013 Materiały Strona projektu JADE http://jade.tilab.com/ (Telecom Italia, University of Parma, Motorola Labs) Dokumentacja Programming Tutorial

Bardziej szczegółowo

Aplikacja wielow tkowa prosty komunikator

Aplikacja wielow tkowa prosty komunikator Aplikacja wielow tkowa prosty komunikator Klient 0 (host 1) W tek 0 Komponent serwera W tek pochodny 3.1 Klient 1 (host 2) W tek 1 Komponent serwera W tek pochodny 3.2 Host 4 Serwer W tek 3 Klient 2 (host

Bardziej szczegółowo

Przetwarzanie Zespołowe

Przetwarzanie Zespołowe Przetwarzanie Zespołowe Laboratorium nr 2 Środowisko agentowe JADE część 2 Migracja agentów Boiński Tomasz Wstęp Podstawową zaletą środowisk agendowych jest możliwość przemieszczania się agentów pomiędzy

Bardziej szczegółowo

Opis protokołu RPC. Grzegorz Maj nr indeksu:

Opis protokołu RPC. Grzegorz Maj nr indeksu: Opis protokołu RPC Grzegorz Maj nr indeksu: 236095 1 Streszczenie Niniejszy dokument opisuje specyfikację protokołu RQP (Remote Queues Protocol). W jego skład wchodzą: opis celów protokołu; opis założeń

Bardziej szczegółowo

Diagramy czynności Na podstawie UML 2.0 Tutorial

Diagramy czynności Na podstawie UML 2.0 Tutorial Diagramy czynności Na podstawie UML 2.0 Tutorial http://sparxsystems.com.au/resources/uml2_tutorial/ Zofia Kruczkiewicz 1 Diagramy czynności 1. Diagramy czyności UML http://sparxsystems.com.au/resources/uml2_tutorial/

Bardziej szczegółowo

akademia androida Service, BroadcastReceiver, ContentProvider część IV

akademia androida Service, BroadcastReceiver, ContentProvider część IV akademia androida Service, BroadcastReceiver, ContentProvider część IV agenda 1. BroadcastReceiver 2. Service 3. ContentProvider 4. Zadanie 1. 5. Zadanie 2 (domowe). 1. BroadcastReceiver BroadcastReceiver

Bardziej szczegółowo

SWING c.d. przydatne narzędzia: JFileChooser, JOptionPane. drag'n drop, menu kontekstowe.

SWING c.d. przydatne narzędzia: JFileChooser, JOptionPane. drag'n drop, menu kontekstowe. SWING c.d. ZAGADNIENIA: przydatne narzędzia: JFileChooser, JOptionPane. drag'n drop, menu kontekstowe. MATERIAŁY: http://docs.oracle.com/javase/tutorial/uiswing/dnd/ http://th-www.if.uj.edu.pl/zfs/ciesla/

Bardziej szczegółowo

Systemy wieloagentowe (MAS) zasady tworzenia systemów wieloagentowych za pomocą technologii MASE i JADEczęść.

Systemy wieloagentowe (MAS) zasady tworzenia systemów wieloagentowych za pomocą technologii MASE i JADEczęść. Systemy wieloagentowe (MAS) zasady tworzenia systemów wieloagentowych za pomocą technologii MASE i JADEczęść 1 http://www.multiagent.com Autor: Zofia Kruczkiewicz 2010-11-24 Systemy wieloagentowe 1 Struktura

Bardziej szczegółowo

Rozproszone systemy Internetowe

Rozproszone systemy Internetowe Rozproszone systemy Internetowe Transport komunikatów WS: protokół SOAP RSI Oskar Świda 1 Simple Object Access Protocol Bezstanowy protokół komunikacyjny, oparty na standardzie XML Prosty i elastyczny,

Bardziej szczegółowo

akademia androida Intencje oraz URI część III

akademia androida Intencje oraz URI część III akademia androida Intencje oraz URI część III agenda 1. Czym są intencje i po co się ich używa? 2. Czym jest URI? 3. Zadanie 1. 4. Zadanie 2 (domowe). 1. Czym są intencje i po co się ich używa? Intencje

Bardziej szczegółowo

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami. UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami

Bardziej szczegółowo

Autor: Zofia Kruczkiewicz Systemy wieloagentowe 1

Autor: Zofia Kruczkiewicz Systemy wieloagentowe 1 Systemy wieloagentowe (MAS) nowa generacja systemów informatycznych http://www.multiagent.com Autor: Zofia Kruczkiewicz 2005-05-25 Systemy wieloagentowe 1 Struktura prezentacji Systemy informatyczne Wprowadzenie

Bardziej szczegółowo

Badania poziomu bezpieczeństwa portalu dostępowego do infrastruktury projektu PL-Grid

Badania poziomu bezpieczeństwa portalu dostępowego do infrastruktury projektu PL-Grid Badania poziomu bezpieczeństwa portalu dostępowego do infrastruktury projektu PL-Grid Tomasz Kuczyński Dział Aplikacji Tomasz Nowak Zespół Bezpieczeństwa Wrocław, 2.12.2010 r. Konferencja i3: internet

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,

Bardziej szczegółowo

Języki i metody programowania Java. Wykład 2 (część 2)

Języki i metody programowania Java. Wykład 2 (część 2) Języki i metody programowania Java INF302W Wykład 2 (część 2) Autor Dr inż. Zofia Kruczkiewicz 1 Struktura wykładu 1. Identyfikacja danych reprezentowanych przez klasy podczas opracowania koncepcji prostego

Bardziej szczegółowo

Gatesms.eu Mobilne Rozwiązania dla biznesu

Gatesms.eu Mobilne Rozwiązania dla biznesu Mobilne Rozwiązania dla biznesu SPECYFIKACJA TECHNICZNA WEB API-USSD GATESMS.EU wersja 0.9 Opracował: Gatesms.eu Spis Historia wersji dokumentu...3 Bezpieczeństwo...3 Wymagania ogólne...3 Mechanizm zabezpieczenia

Bardziej szczegółowo

Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych dr inż. Adam Iwaniak Infrastruktura Danych Przestrzennych w Polsce i Europie Seminarium, AR Wrocław

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 7 Marcin Młotkowski 8 kwietnia 2015 Plan wykładu Z życia programisty, część 1 1 Z życia programisty, część 1 2 3 Z życia programisty, część 2 Model View Controller MVC w

Bardziej szczegółowo

Komponenty sterowane komunikatami

Komponenty sterowane komunikatami Komponenty sterowane komunikatami 1. Usługa JMS asynchroniczność, model przesyłania komunikatów, 2. Przykład wysyłanie wiadomości, odbieranie wiadomości, komponent sterowany komunikatami 3. Komponenty

Bardziej szczegółowo

JAVA W SUPER EXPRESOWEJ PIGUŁCE

JAVA W SUPER EXPRESOWEJ PIGUŁCE JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie

Bardziej szczegółowo

Model przypadków użycia - rola diagramów aktywności Część 2 Wykładowca Dr inż. Zofia Kruczkiewicz

Model przypadków użycia - rola diagramów aktywności Część 2 Wykładowca Dr inż. Zofia Kruczkiewicz Model przypadków użycia - rola diagramów aktywności Część 2 Wykładowca Dr inż. Zofia Kruczkiewicz Zofia Kruczkiewicz Wyklad_INP002017_4 1 Diagramy czynności I. Diagramy czynności UML II. Przykład diagramów

Bardziej szczegółowo

Języki i metody programowania Java INF302W Wykład 2 (część 1)

Języki i metody programowania Java INF302W Wykład 2 (część 1) Języki i metody programowania Java INF302W Wykład 2 (część 1) Autor Dr inż. Zofia Kruczkiewicz Autor: Zofia Kruczkiewicz, Języki i metody programowania Java, wykład 2, część 1 1 Struktura wykładu 1. Identyfikacja

Bardziej szczegółowo

5. Model komunikujących się procesów, komunikaty

5. Model komunikujących się procesów, komunikaty Jędrzej Ułasiewicz str. 1 5. Model komunikujących się procesów, komunikaty Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów komunikujących się poprzez pamięć

Bardziej szczegółowo

Wykład 7: Pakiety i Interfejsy

Wykład 7: Pakiety i Interfejsy Wykład 7: Pakiety i Interfejsy Plik Źródłowy w Javie Składa się z: instrukcji pakietu (pojedyncza, opcjonalna) instrukcji importujących (wielokrotne, opcjonalne) deklaracji klasy publicznej (pojedyncza,

Bardziej szczegółowo

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java: otwórz okienko Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU klasy wewnętrzne, lokalne i anonimowe biblioteka AWT zestaw Swing JFrame JPanel komponenty obsługa zdarzeń

Bardziej szczegółowo

Application of the multi-agent systems in the context of the multi-commodity market model M 3

Application of the multi-agent systems in the context of the multi-commodity market model M 3 Application of the multi-agent systems in the context of the multi-commodity market model M 3 1/30 Application of the multi-agent systems in the context of the multi-commodity market model M 3 Piotr Pałka

Bardziej szczegółowo

Mechanizmy pracy równoległej. Jarosław Kuchta

Mechanizmy pracy równoległej. Jarosław Kuchta Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy

Bardziej szczegółowo

Systemy Agentowe główne cechy. Mariusz.Matuszek WETI PG

Systemy Agentowe główne cechy. Mariusz.Matuszek WETI PG Systemy Agentowe główne cechy Mariusz.Matuszek WETI PG Definicja agenta Wiele definicji, w zależności od rozpatrywanego zakresu zastosowań. Popularna definicja: Jednostka obliczeniowa (program, robot),

Bardziej szczegółowo

Systemy operacyjne na platformach mobilnych

Systemy operacyjne na platformach mobilnych Systemy operacyjne na platformach mobilnych Wykład 3 Grzegorz Jabłoński, Piotr Perek Katedra Mikroelektroniki i Technik Informatycznych Zagadnienia wykładu Menu opcji ListActivity własny widok własny adapter

Bardziej szczegółowo

Systemy wieloagentowe (MAS) zasady tworzenia systemów wieloagentowych za pomocą technologii MASE i JADEczęść.

Systemy wieloagentowe (MAS) zasady tworzenia systemów wieloagentowych za pomocą technologii MASE i JADEczęść. Systemy wieloagentowe (MAS) zasady tworzenia systemów wieloagentowych za pomocą technologii MASE i JADEczęść 2 http://www.multiagent.com Autor: Zofia Kruczkiewicz 2010-11-24 Systemy wieloagentowe 1 Struktura

Bardziej szczegółowo

Rozproszone systemy internetowe

Rozproszone systemy internetowe Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Rozproszone systemy internetowe Wprowadzenie do usług WWW (Web Services) Podniesienie potencjału uczelni

Bardziej szczegółowo

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby

Bardziej szczegółowo

Simple Object Access Protocol

Simple Object Access Protocol Simple Object Access Protocol Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 11 grudnia 2005 roku Czym jest SOAP? Akronim SOAP oznacza Simple Object Access Protocol. SOAP jest

Bardziej szczegółowo

Programowanie Urządzeń Mobilnych. Część II: Android. Wykład 2

Programowanie Urządzeń Mobilnych. Część II: Android. Wykład 2 Programowanie Urządzeń Mobilnych Część II: Android Wykład 2 1 Aplikacje w systemie Android Aplikacje tworzone są w języku Java: Skompilowane pliki programów ( dex ) wraz z plikami danych umieszczane w

Bardziej szczegółowo

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton Dzisiejszy wykład Wzorce projektowe Visitor Client-Server Factory Singleton 1 Wzorzec projektowy Wzorzec nazwana generalizacja opisująca elementy i relacje rozwiązania powszechnie występującego problemu

Bardziej szczegółowo

Builder (budowniczy) Cel: Przykład:

Builder (budowniczy) Cel: Przykład: 1/8 Builder (budowniczy) Cel: Oddzielenie konstruowania złożonego obiektu od jego reprezentacji, tak aby ten sam proces konstrukcji mógł tworzyć różne reprezentacje. Przykład: 2/8 abstract class TableBuilder

Bardziej szczegółowo

O-MaSE Organization-based Multiagent System Engineering. MiASI2, TWO2,

O-MaSE Organization-based Multiagent System Engineering. MiASI2, TWO2, O-MaSE Organization-based Multiagent System Engineering MiASI2, TWO2, 2017-2018 Materiały Strona poświęcona metodzie O-MaSE http://macr.cis.ksu.edu/projects/omase.html (Multiagent & Cooperative Reasoning

Bardziej szczegółowo

Część I -ebxml. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

Część I -ebxml. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz Część I -ebxml Po zrealizowaniu materiału student będzie w stanie omówić potrzeby rynku B2B w zakresie przeprowadzania transakcji przez Internet zaprezentować architekturę ebxml wskazać na wady i zalety

Bardziej szczegółowo

Zasady budowy i przekazywania komunikatów XML w systemie kdpw_otc

Zasady budowy i przekazywania komunikatów XML w systemie kdpw_otc Warszawa, 07 lutego 2013 Zasady budowy i przekazywania komunikatów XML w systemie kdpw_otc Wersja 1.4.2 1 Spis treści Tabela zmian... 3 Wstęp... 4 Budowa komunikatów XML... 4 Przestrzenie nazw (namespaces)...

Bardziej szczegółowo

1 Wprowadzenie do J2EE

1 Wprowadzenie do J2EE Wprowadzenie do J2EE 1 Plan prezentacji 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji J2EE Główne cele V Szkoły PLOUG - nowe podejścia do konstrukcji aplikacji J2EE Java 2

Bardziej szczegółowo

Zasady budowy i przekazywania komunikatów XML dla rynku OTC w systemie KDPW_CCP

Zasady budowy i przekazywania komunikatów XML dla rynku OTC w systemie KDPW_CCP Warszawa, lipiec 2012 Zasady budowy i przekazywania komunikatów XML dla rynku OTC w systemie KDPW_CCP Wersja 1.1 1 Spis treści Tabela zmian... 3 Wstęp... 4 Budowa komunikatów XML... 4 Przestrzenie nazw

Bardziej szczegółowo

MODEL WARSTWOWY PROTOKOŁY TCP/IP

MODEL WARSTWOWY PROTOKOŁY TCP/IP MODEL WARSTWOWY PROTOKOŁY TCP/IP TCP/IP (ang. Transmission Control Protocol/Internet Protocol) protokół kontroli transmisji. Pakiet najbardziej rozpowszechnionych protokołów komunikacyjnych współczesnych

Bardziej szczegółowo

Zadanie 2: transakcyjny protokół SKJ (2015)

Zadanie 2: transakcyjny protokół SKJ (2015) Zadanie 2: transakcyjny protokół SKJ (2015) 1 Wstęp Zadanie polega na zaprojektowaniu niezawodnego protokołu transakcyjnego bazującego na protokole UDP. Protokół ten ma być realizowany przez klasy implementujące

Bardziej szczegółowo

Protokoły sieciowe - TCP/IP

Protokoły sieciowe - TCP/IP Protokoły sieciowe Protokoły sieciowe - TCP/IP TCP/IP TCP/IP (Transmission Control Protocol / Internet Protocol) działa na sprzęcie rożnych producentów może współpracować z rożnymi protokołami warstwy

Bardziej szczegółowo

DOKUMENTACJA TECHNICZNA SMS API MT

DOKUMENTACJA TECHNICZNA SMS API MT DOKUMENTACJA TECHNICZNA SMS API MT Mobitex Telecom Sp.j., ul. Warszawska 10b, 05-119 Legionowo Strona 1 z 5 Ten dokument zawiera szczegółowe informacje odnośnie sposobu przesyłania requestów do serwerów

Bardziej szczegółowo

Dokumentacja smsapi wersja 1.4

Dokumentacja smsapi wersja 1.4 Dokumentacja smsapi wersja 1.4 1. Wprowadzenie Platforma smsapi została skierowana do użytkowników chcących rozbudować swoje aplikacje o system wysyłania smsów. Aplikacja ta w prosty sposób umożliwia integrację

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

Programowanie współbieżne i rozproszone Programowanie współbieżne i rozproszone WYKŁAD 11 dr inż. CORBA CORBA (Common Object Request Broker Architecture) standard programowania rozproszonego zaproponowany przez OMG (Object Management Group)

Bardziej szczegółowo

Remote Quotation Protocol - opis

Remote Quotation Protocol - opis Remote Quotation Protocol - opis Michał Czerski 20 kwietnia 2011 Spis treści 1 Streszczenie 1 2 Cele 2 3 Terminologia 2 4 Założenia 2 4.1 Połączenie............................... 2 4.2 Powiązania z innymi

Bardziej szczegółowo

Spis treści INTERFEJS (WEBSERVICES) - DOKUMENTACJA TECHNICZNA 1

Spis treści INTERFEJS (WEBSERVICES) - DOKUMENTACJA TECHNICZNA 1 I N T E R F E J S W E BSERVICES NADAWANIE PAKIETÓW D O S Y S T EMU MKP PRZEZ I N TERNET D O K U M E N T A C J A T E C H N I C Z N A P A Ź D Z I E R N I K 2 0 1 6 Spis treści 1. Wstęp... 2 2. Informacje

Bardziej szczegółowo

Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html

Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów

Bardziej szczegółowo

Przesyłania danych przez protokół TCP/IP

Przesyłania danych przez protokół TCP/IP Przesyłania danych przez protokół TCP/IP PAKIETY Protokół TCP/IP transmituje dane przez sieć, dzieląc je na mniejsze porcje, zwane pakietami. Pakiety są często określane różnymi terminami, w zależności

Bardziej szczegółowo

JAVA. Strumienie wejścia i wyjścia. Pliki - zapis i odczyt

JAVA. Strumienie wejścia i wyjścia. Pliki - zapis i odczyt JAVA Pliki - zapis i odczyt Opracował: Andrzej Nowak Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Strumienie wejścia i wyjścia Strumienie wejścia

Bardziej szczegółowo

World Wide Web? rkijanka

World Wide Web? rkijanka World Wide Web? rkijanka World Wide Web? globalny, interaktywny, dynamiczny, wieloplatformowy, rozproszony, graficzny, hipertekstowy - system informacyjny, działający na bazie Internetu. 1.Sieć WWW jest

Bardziej szczegółowo

Projektowanie obiektowe. Roman Simiński Wzorce projektowe Wybrane wzorce strukturalne

Projektowanie obiektowe. Roman Simiński  Wzorce projektowe Wybrane wzorce strukturalne Projektowanie obiektowe Roman Simiński roman.siminski@us.edu.pl www.siminskionline.pl Wzorce projektowe Wybrane wzorce strukturalne Fasada Facade Pattern 2 Wzorzec Fasada Facade Pattern koncepcja 3 Wzorzec

Bardziej szczegółowo

Dziedziczenie. dr Jarosław Skaruz

Dziedziczenie. dr Jarosław Skaruz Dziedziczenie dr Jarosław Skaruz http://jareks.ii.uph.edu.pl jaroslaw@skaruz.com Dziedziczenie specjalizacja Dziedziczenie generalizacja Generalizacja-specjalizacja jest takim związkiem pomiędzy klasami,

Bardziej szczegółowo

Budowa aplikacji wielowarstwowych. Obsługa zdarzeń

Budowa aplikacji wielowarstwowych. Obsługa zdarzeń Budowa aplikacji wielowarstwowych. Obsługa zdarzeń Laboratorium 6 Technologie internetowe Zofia Kruczkiewicz TINT_Lab_6, Zofia Kruczkiewicz 1 Wykaz pytań dotyczących materiału wykorzystanego w lab6, które

Bardziej szczegółowo

Ministerstwo Finansów

Ministerstwo Finansów Ministerstwo Finansów Departament Informatyzacji Specyfikacja Wejścia-Wyjścia Wersja 1.0 Warszawa, 16.02.2017 r. Copyright (c) 2017 Ministerstwo Finansów MINISTERSTWO FINANSÓW, DEPARTAMENT INFORMATYZACJI

Bardziej szczegółowo

Industrial Ethernet Dokumentacja techniczna połączenia Sterowniki S7-400(300) firmy Siemens - System PRO-2000 firmy MikroB

Industrial Ethernet Dokumentacja techniczna połączenia Sterowniki S7-400(300) firmy Siemens - System PRO-2000 firmy MikroB Industrial Ethernet Dokumentacja techniczna połączenia Sterowniki S7-400(300) firmy Siemens - System PRO-2000 firmy MikroB Zawartość: 1. Konfiguracja sterownika (STEP-7) 2. Definicja połączenia (STEP-7)

Bardziej szczegółowo

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji. JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod

Bardziej szczegółowo

Serwery aplikacji. dr Radosław Matusik. radmat

Serwery aplikacji. dr Radosław Matusik.   radmat www.math.uni.lodz.pl/ radmat EL - Expression Language Załóżmy, że mamy klasę Pracownik, której atrybutem jest PESEL. Załóżmy dalej, że w atrybucie sesji zalogowany przechowujemy obiekt aktualnie zalogowanego

Bardziej szczegółowo

Rozproszone systemy internetowe. Wprowadzenie. Koncepcja zdalnego wywołania procedury

Rozproszone systemy internetowe. Wprowadzenie. Koncepcja zdalnego wywołania procedury Rozproszone systemy internetowe Wprowadzenie. Koncepcja zdalnego wywołania procedury Zakres tematyczny przedmiotu Aplikacje rozproszone Technologie /standardy internetowe Programowanie obiektowe 2 Co będzie

Bardziej szczegółowo

Laboratorium 8 Diagramy aktywności

Laboratorium 8 Diagramy aktywności Laboratorium 8 Diagramy aktywności Zofia Kruczkiewicz Zofia Kruczkiewicz Lab_INP002017_8 1 Modelowanie zachowania obiektów za pomocą diagramów aktywności. Modelowanie zachowania obiektów za pomocą diagramów

Bardziej szczegółowo

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016 Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac

Bardziej szczegółowo

Języki i metody programowania Java INF302W Wykład 3 (część 1)

Języki i metody programowania Java INF302W Wykład 3 (część 1) Języki i metody programowania Java INF302W Wykład 3 (część 1) Autor Dr inż. Zofia Kruczkiewicz Autor: Zofia Kruczkiewicz, Języki i metody programowania Java, wykład 3, część 1 1 STRUKTURA WYKŁADU 1. Wyjątki,

Bardziej szczegółowo

Zalety projektowania obiektowego

Zalety projektowania obiektowego Zalety projektowania obiektowego Łatwe zarządzanie Możliwość powtórnego użycia klas obiektów projektowanie/programowanie komponentowe W wielu przypadkach występuje stosunkowo proste mapowanie pomiędzy

Bardziej szczegółowo

Wywoływanie procedur zdalnych

Wywoływanie procedur zdalnych Wywoływanie procedur zdalnych Mechanizm wywołania main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status) }... int zabij_proces (int pid){ int stat; stat

Bardziej szczegółowo

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas Analiza i projektowanie obiektowe 2016/2017 Wykład 10: Tworzenie projektowego diagramu klas Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Projektowy

Bardziej szczegółowo

Diagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com

Diagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com Diagramy klas dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com O czym będzie? Notacja Ujęcie w różnych perspektywach Prezentacja atrybutów Operacje i metody Zależności Klasy aktywne,

Bardziej szczegółowo

Modelowanie i analiza systemów informatycznych

Modelowanie i analiza systemów informatycznych Modelowanie i analiza systemów informatycznych MBSE/SysML Wykład 11 SYSMOD Wykorzystane materiały Budapest University of Technology and Economics, Department of Measurement and InformaJon Systems: The

Bardziej szczegółowo

Dokumentacja API sender sms

Dokumentacja API sender sms Dokumentacja API sender sms Wersja Autor Zakres zmian Data utworzenia 1.0 Michał Klimek Wersja bazowa 21.10.2016 Strona 1 z 15 Spis treści Wstęp... 3 Autoryzacja... 4 Informacje ogólne... 4 Co jest potrzebne...

Bardziej szczegółowo

Wykład 5 Okna MDI i SDI, dziedziczenie

Wykład 5 Okna MDI i SDI, dziedziczenie Wykład 5 Okna MDI i SDI, dziedziczenie Autor: Zofia Kruczkiewicz Zagadnienia 1. Aplikacja wielookienkowa. Zakładanie projektu typu CLR Windows Forms 1.1. Aplikacja typu MDI 1.2. Aplikacja typu SDI 2. Dziedziczenie

Bardziej szczegółowo

Modelowanie diagramów klas w języku UML. Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014

Modelowanie diagramów klas w języku UML. Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014 Modelowanie diagramów klas w języku UML Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014 Czym jest UML - Unified Modeling Language - Rodzina języków modelowania graficznego - Powstanie na przełomie lat 80

Bardziej szczegółowo

Aplikacje RMI Lab4

Aplikacje RMI   Lab4 Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Lab4 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych 1 1. Koncepcja budowy aplikacji RMI (aplikacja rozproszonych

Bardziej szczegółowo

MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ EMAIL DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP

MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ EMAIL DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ EMAIL DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP WERSJA 1 z 15 Spis treści 1. Kanał email dla podmiotów zewnętrznych...

Bardziej szczegółowo

Dokumentacja do API Javy.

Dokumentacja do API Javy. Dokumentacja do API Javy http://java.sun.com/j2se/1.5.0/docs/api/ Klasy i obiekty Klasa jest to struktura zawierająca dane (pola), oraz funkcje operujące na tych danych (metody). Klasa jest rodzajem szablonu

Bardziej szczegółowo

Diagramy stanów tworzenie modeli analizy i projektowania Na podstawie UML 2.0 Tutorial

Diagramy stanów tworzenie modeli analizy i projektowania Na podstawie UML 2.0 Tutorial Diagramy stanów tworzenie modeli analizy i projektowania Na podstawie UML 2.0 Tutorial http://sparxsystems.com.au/resources/uml2_tutorial/ Zofia Kruczkiewicz Zofia Kruczkiewicz Projektowanie oprogramowania

Bardziej szczegółowo

Specyfikacja HTTP API. Wersja 1.6

Specyfikacja HTTP API. Wersja 1.6 Specyfikacja HTTP API Wersja 1.6 1. Wprowadzenie Platforma PlaySMS umożliwia masową rozsyłkę SMS-ów oraz MMS-ów marketingowych. Umożliwiamy integrację naszej platformy z dowolnym systemem komputerowym

Bardziej szczegółowo

Sieci komputerowe i bazy danych

Sieci komputerowe i bazy danych Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Sieci komputerowe i bazy danych Sprawozdanie 5 Badanie protokołów pocztowych Szymon Dziewic Inżynieria Mechatroniczna Rok: III Grupa: L1 Zajęcia

Bardziej szczegółowo

Zdalne wywoływanie procedur RPC

Zdalne wywoływanie procedur RPC Zdalne wywoływanie procedur Zagadnienia projektowe Zagadnienia realizacyjne main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status) }... int zabij_proces

Bardziej szczegółowo

Zdalne wywoływanie procedur RPC

Zdalne wywoływanie procedur RPC Zdalne wywoływanie procedur Zagadnienia projektowe Zagadnienia realizacyjne main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status)... int zabij_proces (int

Bardziej szczegółowo

Model OSI. mgr inż. Krzysztof Szałajko

Model OSI. mgr inż. Krzysztof Szałajko Model OSI mgr inż. Krzysztof Szałajko Protokół 2 / 26 Protokół Def.: Zestaw reguł umożliwiający porozumienie 3 / 26 Komunikacja w sieci 101010010101101010101 4 / 26 Model OSI Open Systems Interconnection

Bardziej szczegółowo

Rywalizacja w sieci cd. Protokoły komunikacyjne. Model ISO. Protokoły komunikacyjne (cd.) Struktura komunikatu. Przesyłanie między warstwami

Rywalizacja w sieci cd. Protokoły komunikacyjne. Model ISO. Protokoły komunikacyjne (cd.) Struktura komunikatu. Przesyłanie między warstwami Struktury sieciowe Struktury sieciowe Podstawy Topologia Typy sieci Komunikacja Protokoły komunikacyjne Podstawy Topologia Typy sieci Komunikacja Protokoły komunikacyjne 15.1 15.2 System rozproszony Motywacja

Bardziej szczegółowo

Diagramy czynności tworzenie modelu przypadków użycia Wykład 2

Diagramy czynności tworzenie modelu przypadków użycia Wykład 2 Diagramy czynności tworzenie modelu przypadków użycia Wykład 2 Zofia Kruczkiewicz Zofia Kruczkiewicz - Projektowanie oprogramowania 2.2 1 Diagramy czynności- tworzenie modelu przypadków 1. Diagramy czynności

Bardziej szczegółowo

UML a kod. C++, Java i C#

UML a kod. C++, Java i C# UML a kod C++, Java i C# UML a kod w C++ i Javie Projektowanie oprogramowania! Dokumentowanie oprogramowania Diagramy przypadków użycia Klasy użytkowników i wykorzystywane funkcje Mogą sugerować podział

Bardziej szczegółowo

Wywoływanie procedur zdalnych

Wywoływanie procedur zdalnych Mechanizm wywołania Wywoływanie procedur zdalnych main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status) int zabij_proces (int pid){ int stat; stat = kill(pid,

Bardziej szczegółowo

Klasy i obiekty cz II

Klasy i obiekty cz II Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Klasy i obiekty cz II Hermetyzacja, mutatory, akcesory, ArrayList Rozwijamy aplikację Chcemy, aby obiekty klasy

Bardziej szczegółowo

DPDInfoServices. Specyfikacja biznesowa. Version DPD Polska Sp. z O.O. Warszawa

DPDInfoServices. Specyfikacja biznesowa. Version DPD Polska Sp. z O.O. Warszawa DPDInfoServices Specyfikacja biznesowa Version 1.0.7 2015-02-06 DPD Polska Sp. z O.O. Warszawa Spis treści 1 Historia dokumentu... 3 2 Wstęp... 4 3 Bezpieczeństwo przesyłanych danych... 4 4 Konfiguracja

Bardziej szczegółowo

Zasady budowy i przekazywania komunikatów wykorzystywanych w Systemie IT KDPW_CCP

Zasady budowy i przekazywania komunikatów wykorzystywanych w Systemie IT KDPW_CCP Załącznik Nr 3 KDPW_CCP Zasady budowy i przekazywania komunikatów wykorzystywanych w Systemie IT KDPW_CCP Wersja 1.0 Warszawa, czerwiec 2012 Spis treści Wstęp... 3 Budowa komunikatów XML... 3 Przestrzenie

Bardziej szczegółowo