Agentowe języki komunikacji (KIF, KQML, ACL)
|
|
- Roman Biernacki
- 8 lat temu
- Przeglądów:
Transkrypt
1 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 sprzętowych (hardware agent), działających w świecie rzeczywistym (np. robotów przemysłowych), wykorzystywane są: fizyczne układy percepcji: mechaniczne czujniki dotykowe, ultradźwiękowe dalmierze, kamery wideo,... oraz fizyczne układy wykonawcze: elektryczne silniki napędowe, pneumatyczne chwytaki,... W przypadku systemów programowych (software agent), typowymi elementami otoczenia są zasoby komputera: pamięć operacyjna, czas obliczeniowy procesora, zajętość łączy transmisyjnych. Działanie i obserwacja mogą być zrealizowane poprzez: bezpośredni dostęp do zasobów bezpośrednią modyfikację zawartości pamięci operacyjnej np. start samolotu: Lotnisko::IloscSamolotowNaZiemi--; bezpośrednie uruchamianie podprogramów np. wywołanie procedury obsługi przerwania czy metody modyfikującej zmienną: Lotnisko::ZmniejszIloscSamolotowNaZiemi(); przesłanie komunikatu do innego procesu (serwisu) zarządzającego modyfikacją lub obserwacją jakiegoś fragmentu otoczenia Pilot01::SendMessage( tekst ); z przykładowym tekstem: ( achieve :sender Pilot01 :receiver Lotnisko :content ( = (IloscSamolotow (PopIlosc-1))) ) 1
2 Teoria aktu mowy : Komunikaty Akcje Przesyłane komunikaty mogą być traktowane jako akcje działania lub obserwacji ponieważ mogą powodować zmiany lub odczyty stanu otoczenia. Podstawowe rodzaje komunikatów: poinformowanie (inform) przekonanie rozmówcy, że jakieś zdanie - wyrażenie - twierdzenie jest prawdziwe, żądanie (request) próba wymuszenia wykonania jakiegoś działania przez słuchacza, potwierdzenie zlecenia, obietnica (promise) przekonanie rozmówcy o planowanym przebiegu dalszych działań, Można wyróżnić trzy różne aspekty aktów mowy (John Austin): locutionary act (akt umiejscowiony) sam fizyczny akt wygłoszenia wysyłanie ciągów symboli, fal akustycznych, radiowych, świetlnych (wyświetlanie obrazów na ekranie), np. uderzenie ręką w stół lub ziewanie illocutionary act (akt nieumiejscowiony) rzeczywiste działanie wykonywane przez fakt wypowiedzenia np. zwrócenie uwagi, poinformowanie innych, że jestem zdenerwowany lub znużony perlocution (następstwo umiejscowienia) osiągany efekt aktu wypowiedzi np. zaprzestanie rozmów przez uczestników wykładu czy skrócenie czasu wykładu przez prowadzącego DARPA Knowledge Sharing Effort ( ) stowarzyszenie rozwijające standardy i technologie ułatwiające współdzielenie oraz wszechstronne wykorzystywanie zasobów systemów baz wiedzy. Współdzielenie wiedzy wymaga komunikacji, która z kolei wymaga wspólnego języka komunikacji. W ramach języka można wyróżnić różne składowe związane z różnymi poziomami abstrakcji: syntaktyka np. KIF semantyka np. Ontolingua pragmatyka np. KQML 2
3 KIF - Knowledge Interchange Format Jednym z jego efektów jest opracowanie standardu KIF umożliwiającego reprezentowanie zawartości baz wiedzy za pomocą wyrażeń logiki pierwszego rzędu. Format ten służy do reprezentowania zawartości przesyłanych komunikatów (content language). Najważniejsze cechy: (ilustracja z artykułu T.Finin Y.Labrou, 1990)! implementacja niezależna od semantyki,! ekspresyjność, łatwość tłumaczenia możliwość wyrażenia zawartości większości obecnie istniejących systemów reprezentacji wiedzy,! reprezentacja czytelna dla ludzi Przykłady wyrażeń zapisanych za pomocą formatu KIF: ( > (stan-paliwa Samolot03) (stan-paliwa Samolot07) ) Informacja, że stan paliwa w samolocie numer 3 jest większy od stanu paliwa w samolocie numer 7 ( => ( and (liczba-rzeczywista?x) (liczba-parzysta?n ) ) (> (exp?x?n) 0 ) Reguła: że wynik podniesienia dowolnej liczby rzeczywistej, do parzystej potęgi, zawsze będzie dodatni ( => ( (stan-paliwa?s) 0 ) ( (stan-pojazdu?s) niesprawny) ) Reguła, że jeżeli pojazd s nie ma paliwa, to jest niesprawny 3
4 KQML - Knowledge Query and Manipulation Language Komunikat KQML nazywamy performative bo perform some action by virtue of being sent. Ogólny schemat komunikatu KQML: ( typ_komunikatu :parametr_1 :parametr_2... :parametr_n ) Parametr Znaczenie :content zawartość komunikatu :sender nadawca komunikatu :receiver odbiorca komunikatu :language język zapisu zawartości :ontology ontologia zapisu zawartości :replay-with informacja czy nadawca oczekuje odpowiedzi i identyfikator odpowiedzi :in-replay-to powiązanie odpowiedzi z zapytaniem Wybrane typy komunikatów (S - sender, R - receiver) Typ Znaczenie achieve S chce aby R spowodował, że coś stanie się prawdą w ich otoczeniu advertise S ogłasza, że może realizować usługę opisaną w content ask-one S prosi R o odpowiedź na pytanie opisane w content ask-all S pyta wszystkich evaluate S prosi R o przeliczenie wyrażenia 4
5 Przykłady komunikatów KQML: (evaluate :sender A :receiver B :language KIF :ontology motors :reply-with q1 :content (val (torque m1))) (reply :sender B :receiver A :language KIF :ontology motors :in-reply-to q1 :content (= (torque m1) (scalar 12 kgf))) (ask-one :content (PRICE IBM?price) :receiver stock-server :language LPROLOG :ontology NYSE-TICKS) (ask-all :content price(ibm, [?price,?time]) :receiver stock-server :language standard-prolog :ontology NYSE-TICKS) (stream-all :content (PRICE?article?price) :receiver stock-server :language LPROLOG) (standby :content (stream-all :content (PRICE?article?price)) :receiver stock-server) (next :receiver stock-server) (monitor :content (PRICE IBM?price)) (advertise :content (monitor :content(price?x?y))) 5
6 Rozwój języków komunikacji międzyagentowej: (ilustracja z materiałów T.Finin & Y.Labrou, 1999) FIPA - Foundation for Intelligent Physical Agent ACL - Agent Communication Language W ramach systemu JADE, język komunikatów został zaimplementowany w postaci klasy jade.lang.acl.aclmessage Klasa ta posiada szereg metod umożliwiających wygodne konstruowanie i przetwarzanie treści komunikatów: get / setperformative(); get / setsender(); add / getallreceiver(); get / setlanguage(); get / setontology(); get / setcontent(); 6
7 Przykład przygotowania i wysłania prostego komunikatu: ACLMessage msg = new ACLMessage( ACLMessage. INFORM); msg.addreceiver( new AID( Peter, AID. ISLOCALNAME)); msg.setlanguage( English ); msg.setontology( Weather- Forecast- Ontology ); msg. setcontent( Today it s raining ); send( msg); // myagent.send( msg ); Odbieranie komunikatu: ACLMessage msg = receive(); // myagent.receive( msg ); if (msg!= null) { // Przetwarzanie komunikatu //... else { block( ); // metoda klasy Behaviour powodująca przeniesienie // danego zachowania z kolejki aktywnych zachowań // w stan zablokowania Po otrzymaniu dowolnego komunikatu (przez Agenta) wszystkie zablokowane zachowania są ponownie umieszczane w kolejce zachowań. Do selektywnego odczytywania komunikatów należy wykorzystywać obiekty klasy jade.lang.acl.messagetemplate MessageTemplate tpl = MessageTemplate.MatchOntology( XYZ ); public void action() { ACLMessage msg = myagent.receive(tpl); if (msg!= null) { // Przetwarzanie komunikatu //... 7
8 PRZYKŁAD: File AgentReceiver.java package examples.receivers; import java.io.*; import jade.core.*; import jade.core.behaviours.*; import jade.lang.acl.aclmessage; import jade.lang.acl.messagetemplate; public class AgentReceiver extends Agent { class my3stepbehaviour extends SimpleBehaviour { final int FIRST = 1; final int SECOND = 2; final int THIRD = 3; private int state = FIRST; private boolean finished = false; public my3stepbehaviour(agent a) { super(a); public void action() { switch (state){ case FIRST: {if (op1()) state = SECOND; else state= FIRST; break; case SECOND:{op2(); state = THIRD; break; case THIRD:{op3(); state = FIRST; finished = true; break; public boolean done() { return finished; 8
9 private boolean op1(){ System.out.println( "\nagent "+getlocalname()+ " in state 1.1 is waiting for a message"); MessageTemplate m1 = MessageTemplate.MatchPerformative(ACLMessage.INFORM); MessageTemplate m2 = MessageTemplate.MatchLanguage("PlainText"); MessageTemplate m3 = MessageTemplate.MatchOntology("ReceiveTest"); MessageTemplate m1andm2 = MessageTemplate.and(m1,m2); MessageTemplate notm3 = MessageTemplate.not(m3); MessageTemplate m1andm2_and_notm3 = MessageTemplate.and(m1andm2, notm3); //The agent waits for a specific message. If it doesn't arrive // the behaviour is suspended until a new message arrives. ACLMessage msg = receive(m1andm2_and_notm3); if (msg!= null){ System.out.println("\nAgent "+ getlocalname() + " received the following message in state 1.1: " + msg.tostring()); return true; else { System.out.println("\nNo message received in state 1.1"); block(); return false; private void op2() { /*... */ private void op3() { /*... */ // End of my3stepbehaviour class protected void setup() { my3stepbehaviour mybehaviour = new my3stepbehaviour(this); addbehaviour(mybehaviour); 9
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ółowoInformatyka 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ółowoArchitektury 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ółowoSystemy 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ółowoJava 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ółowoJADE - Java Agent DEvelopment Framework
WYKŁAD 6 JADE - Java Agent DEvelopment Framework http://jade.tilab.com/index.html JADE jest systemem oprogramowania ułatwiającym tworzenie systemów agentowych i wieloagentowych. Składa się z trzech części:!
Bardziej szczegółowoDialogowe 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ółowoArchitektury 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ółowoSystemy 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ółowoArchitektury 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ółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych
Bardziej szczegółowoPrzetwarzanie 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ółowoJADE 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ółowoJava: interfejsy i klasy wewnętrzne
Java: interfejsy i klasy wewnętrzne Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 INTERFEJSY Interfejs to opis co klasa implementująca dany interfejs powinna robić, ale bez określania
Bardziej szczegółowoTechnologia inteligentnych agentów. Autor: dr Jacek Jakieła
Autor: dr Jacek Jakieła WYKŁAD... 3 Komunikacja w systemach agentowych... 3 Ogólny model procesu komunikacji... 3 Teoria aktów mowy jako baza teoretyczna procesu komunikacji międzyagentowej... 5 Realizacja
Bardziej szczegółowoJava: kilka brakujących szczegółów i uniwersalna nadklasa Object
Java: kilka brakujących szczegółów i uniwersalna nadklasa Object Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU Konstrukcja obiektów Niszczenie obiektów i zwalnianie zasobów
Bardziej szczegółowoZaawansowane aplikacje WWW - laboratorium
Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w
Bardziej szczegółowoPodstawy Programowania
Podstawy Programowania Laboratorium 4 Aplety Aplety są programami javy stosowane głównie w internecie i uruchamiane głównie w przeglądarkach www. Przykładowy program kompilujemy za pomoca polecenia javac
Bardziej szczegółowoJAVA 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ółowoAlgorytmy z powrotami. Algorytm minimax
Algorytmy z powrotami. Algorytm minimax Algorytmy i struktury danych. Wykład 7. Rok akademicki: 2010/2011 Algorytm z powrotami rozwiązanie problemu budowane jest w kolejnych krokach, po stwierdzeniu (w
Bardziej szczegółowoGeneratory. Michał R. Przybyłek
Generatory Michał R. Przybyłek 1 Wstęp Generator to potencjalnie nieskończony, leniwie obliczany, ciąg wartości. W zależności od tego, która ze stron decyduje o wygenerowaniu nowej wartości wyróżniamy
Bardziej szczegółowoLekcja 5. Funkcje handlemessage() i initialize(), konstruktor i destruktor
Lekcja 5. Funkcje handlemessage() i initialize(), konstruktor i destruktor W lekcji 5 objaśniane jest działanie i zastosowanie funkcji handlemessage() oraz initialize(). Omówiony zostanie również konstruktor
Bardziej szczegółowoProgramowanie telefonów z Windows Phone 7, cz. 4
Programowanie telefonów z Windows Phone 7, cz. 4 Piotr M. Szczypiński Instytut Elektroniki Politechniki Łódzkiej http://www.eletel.p.lodz.pl/pms/ piotr.szczypinski@p.lodz.pl Budynek B9, II piętro, pokój
Bardziej szczegółowoWątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().
Wątki Streszczenie Celem wykładu jest wprowadzenie do obsługi wątków w Javie. Czas wykładu 45 minut. Definiowanie wątków jako klas potomnych Thread Nadpisanie metody run(). class Watek extends Thread public
Bardziej szczegółowoJADE 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ółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;
Bardziej szczegółowoKlasy 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ółowoObsługa SMS i telefonii
Strona 1 Interfejsy API telefonii Wysyłanie wiadomości SMS Odbieranie wiadomości SMS Symulowanie nadchodzących wiadomości SMS Obsługa skrzynki wiadomości SMS Wysyłanie wiadomości e-mail Monitorowanie połączeń
Bardziej szczegółowoProgramowanie 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ółowoProgramowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.
Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r. Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to
Bardziej szczegółowoKurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
Bardziej szczegółowoJę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ółowoMETODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
Bardziej szczegółowoJęzyk JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,
Bardziej szczegółowoJęzyki i metody programowania Java Lab1 https://docs.oracle.com/javase/tutorial/ Zofia Kruczkiewicz
Języki i metody programowania Java Lab1 https://docs.oracle.com/javase/tutorial/ Zofia Kruczkiewicz Zadanie 1. Wykonanie projektu Java SE w środowisku Netbeans- File/New Project W formularzu New Project
Bardziej szczegółowoKurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017
Wykład 13 14 czerwiec 2017 Java vs cpp - podobieństwa Podobny sposób definiowania klas. Występowanie typów podstawowych: boolean, char, byte, short, int, long, float, double. Podobna zasada definiowania
Bardziej szczegółowoSystemy 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ółowoAutor: dr inż. Zofia Kruczkiewicz, Programowanie aplikacji internetowych 1
Wątki 1. Wątki - wprowadzenie Wątkiem nazywamy sekwencyjny przepływ sterowania w procesie, który wykonuje dany program np. odczytywanie i zapisywanie plików Program Javy jest wykonywany w obrębie jednego
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 4 Marcin Młotkowski 15 marca 2018 Plan wykładu 1 2 3 Klasa podstawowa Własne kolekcje Obiekty i wartości Marcin Młotkowski Programowanie obiektowe 141 / 224 Z czego składa
Bardziej szczegółowoProgramowanie obiektowe
Wykład 2 28 lutego 2019 Plan wykładu 1 2 3 4 5 Plan wykładu 1 2 3 4 5 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie; standardy ISO i ECMA; podobny składniowo do C++; Język C Krótka
Bardziej szczegółowoJava. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak
Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego
Bardziej szczegółowoPlatformy Programistyczne Podstawy języka Java
Platformy Programistyczne Podstawy języka Java Agata Migalska 6 maja 2014 Plan wykładu 1 Sztuka wysławiania się w języku Java 2 Cały świat jest obiektem 3 Kolekcje 4 Zmienne i metody statyczne 5 Słowo
Bardziej szczegółowoWspółbieżność w środowisku Java
Współbieżność w środowisku Java Wątki i ich synchronizacja Zagadnienia Tworzenie wątków Stany wątków i ich zmiana Demony Synchronizacja wątków wzajemne wykluczanie oczekiwanie na zmiennych warunkowych
Bardziej szczegółowoDiagram stanów Laboratorium 9
Diagram stanów Laboratorium 9 Zofia Kruczkiewicz Zofia Kruczkiewicz lab_inp002017_9 1 Modelowanie zachowania obiektu za pomocą diagramu stanów. Opracowanie diagramu stanów dla obiektu wybranej klasy, reprezentującego
Bardziej szczegółowoJava - tablice, konstruktory, dziedziczenie i hermetyzacja
Java - tablice, konstruktory, dziedziczenie i hermetyzacja Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU zmienne tablicowe konstruktory klas dziedziczenie hermetyzacja
Bardziej szczegółowoKomponenty 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ółowoMicrosoft IT Academy kurs programowania
Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego
Bardziej szczegółowoLaboratorium 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ółowoKurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016
Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa
Bardziej szczegółowoSystemy wieloagentowe (MAS) struktura komunikacji między agentami. Autor: Zofia Kruczkiewicz
Systemy wieloagentowe (MAS) struktura komunikacji między agentami http://www.multiagent.com Autor: Zofia Kruczkiewicz Agenda 1. Wprowadzenie do zagadnień komunikacji między agentami 2. Specyfikacje FIPA
Bardziej szczegółowoWykorzystywanie parsera DOM w programach Java i PL/SQL
Wykorzystywanie parsera DOM w programach Java i PL/SQL Maciej Zakrzewicz mzakrz@cs.put.poznan.pl http://www.cs.put.poznan.pl/~mzakrz/ Parser DOM Aplikacja DOM API Parser DOM Dokument XML Drzewo DOM Parser
Bardziej szczegółowoLaboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych
1. Wstawianie skryptu na stroną: Laboratorium 1 Do umieszczenia skryptów na stronie służy znacznik: //dla HTML5 ...instrukcje skryptu //dla HTML4 ...instrukcje
Bardziej szczegółowoInstrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse
Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse 1 Cel laboratorium: Nabycie umiejętności przygotowywania testów akceptacyjnych za pomocą narzędzia FitNesse 1. Wg wskazówek
Bardziej szczegółowoWstęp do Programowania 2
Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 5 W programowaniu obiektowym programista koncentruje się na obiektach. Zadaje sobie pytania typu:
Bardziej szczegółowoWykł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ółowoANALIZA PROCESÓW KOMUNIKACYJNYCH W SYSTEMACH WIELOAGENTOWYCH Z WYKORZYSTANIEM JĘZYKA KQML
Wojciech PIEPRZYCA WyŜsza Szkoła foratyki i Zarządzania w Bielsku-Białej Studiu Doktoranckie foratyki Wydział Autoatyki, Elektroniki i foratyki Politechnika Śląska eail: wojtek@wsi.edu.pl ANALIZA PROCESÓW
Bardziej szczegółowoBadania 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ółowoWykład 4: Klasy i Metody
Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to
Bardziej szczegółowonamespace HostedReceiver { public class Receiver: IConfigureThisEndpoint, AsA_Server {
Pobranie i instalacja: - http://www.nservicebus.com/ - download v3.0 now - rozpakować - MSMQ powinno być zainstalowane (Panel Sterowania -> Dodaj/Usuń programy -> Składniki systemu Windows -> Kolejkowanie
Bardziej szczegółowoWykład 2 Wybrane konstrukcje obiektowych języków programowania (1)
MAS dr. Inż. Mariusz Trzaska Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1) Zagadnienia o Podstawy o Kontrolowanie sterowania o Klasy o Interfejsy o Obsługa błędów o Pojemniki o System
Bardziej szczegółowoPrzykład zastosowania notacji UML dla realizacji zastosowania wzorca Mediator (materiały dla studentów na prawach rękopisu)
Dr inż. Wojciech Koziński maj 2007 ZS ISEP WE PW Przykład zastosowania notacji UML dla realizacji zastosowania wzorca Mediator (materiały dla studentów na prawach rękopisu) Opis systemu (wzorca Mediator):
Bardziej szczegółowoJęzyk ludzki kod maszynowy
Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza
Bardziej szczegółowo5. 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ółowoEnkapsulacja, dziedziczenie, polimorfizm
17 grudnia 2008 Spis treści I Enkapsulacja 1 Enkapsulacja 2 Spis treści II Enkapsulacja 3 Czym jest interfejs Jak definuje się interfejs? Rozszerzanie interfejsu Implementacja interfejsu Częściowa implementacja
Bardziej szczegółowoMetody Metody, parametry, zwracanie wartości
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca
Bardziej szczegółowoPodstawy programowania w języku C
Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu
Bardziej szczegółowoStrona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.
Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice
Bardziej szczegółowoLaboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 6
Instrukcja 6 Laboratorium 8 Opracowanie diagramów sekwencji dla wybranych przypadków użycia reprezentujących usługi oprogramowania wynikających również z wykonanych diagramów czynności; definicja operacji
Bardziej szczegółowoWykład 2: Podstawy Języka
Wykład 2: Podstawy Języka 1.wprowadzenie 2.podstawy języka 3.sterowanie 4.inicjacja i sprzątanie 5.kontrola dostępu 6.dziedziczenie 7.polimorfizm 8.obsługa błędów 9.kolekcje obiektów 10.wejście i wyjście
Bardziej szczegółowoPętle while, for, do while, instrukcje break, continue, switch 1. Pętle
Pętle while, for, while, instrukcje break, continue, switch 1. Pętle Przykład 1 - Pętla while public class lab4_3 public static void main(string[] args) char ch = 'a'; String s, wynik=""; while ( ch!=
Bardziej szczegółowoKOTLIN. Język programowania dla Androida
KOTLIN Język programowania dla Androida Historia Kotlin został opracowany przez firmę JetBrains Prace rozpoczęto w 2011 r., od 2012 r. dostępny na licencji Apache 2. Nazwa pochodzi od wyspy koło Petersburga
Bardziej szczegółowoDzisiejszy 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ółowoDokumentacja 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ółowodziedziczenie - po nazwie klasy wystąpią słowa: extends nazwa_superklasy
PODSTAWOWE ELEMENTY JĘZYKA JAVA TYPY DANYCH, OPERATORY I INSTRUKCJE 1. Definicja klasy, dziedziczenie, implementowanie metod interfejsów class nazwa_klasy //ciało klasy Klasa: przed słowem class moŝe wystąpić
Bardziej szczegółowoJava. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ
Procesy i wątki Proces posiada samodzielne środowisko wykonawcze. Proces posiada własny zestaw podstawowych zasobów w czasie wykonywania; W szczególności, każdy proces ma własną przestrzeń pamięci. W uproszczeniu
Bardziej szczegółowoWprowadzenie do środowiska Visual Studio cz. 2 (ćwiczenie wykonywane zdalnie) Wykorzystanie Wirtualnego portu COM
Wprowadzenie do środowiska Visual Studio cz. 2 (ćwiczenie wykonywane zdalnie) Wykorzystanie Wirtualnego portu COM 1.1 Cel ćwiczenia: Celem dwiczenia jest zaznajomienie studenta z tematyka tworzenia aplikacji
Bardziej szczegółowoWprowadzenie do programowania w języku C
Wprowadzenie do programowania w języku C Część druga Instrukcje sterujące przebiegiem programu Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Podstawowe cechy i możliwości języka Scala mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 2017 1 / 32 mgr inż. Krzysztof Szwarc Programowanie obiektowe Informacje
Bardziej szczegółowoBezpieczne uruchamianie apletów wg
Bezpieczne uruchamianie apletów wg http://java.sun.com/docs/books/tutorial/security1.2/ Zabezpieczenia przed uruchamianiem apletów na pisanych przez nieznanych autorów 1) ograniczenie możliwości odczytywania,
Bardziej szczegółowoZofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1
PODSTAWOWE ELEMENTY JĘZYKA JAVA WYRAŻENIA, OPERATORY, INSTRUKCJE 1. Operatory arytmetyczne +, -, /,*, % Przykład 1 programu z interfejsem konsolowym public class Lab2_1 // Tworzy generator liczb losowych,
Bardziej szczegółowoWykład 5: Więcej o Klasach i Metodach
Wykład 5: Więcej o Klasach i Metodach Przeciążanie Metod Klasa posiada dwie lub więcej metod o tej samej nazwie ale różnych deklaracjach parametrów. Java używa liczby i typów argumentów by ustalić którą
Bardziej szczegółowoĆwiczenie 1. Kolejki IBM Message Queue (MQ)
Ćwiczenie 1. Kolejki IBM Message Queue (MQ) 1. Przygotowanie Przed rozpoczęciem pracy, należy uruchomić "Kreator przygotowania WebSphere MQ" oraz przejść przez wszystkie kroki kreatora, na końcu zaznaczając
Bardziej szczegółowoMetody getter https://www.python-course.eu/python3_object_oriented_programming.php 0_class http://interactivepython.org/runestone/static/pythonds/index.html https://www.cs.auckland.ac.nz/compsci105s1c/lectures/
Bardziej szczegółowoTworzenie aplikacji w języku Java
Tworzenie aplikacji w języku Java Wykład 1 Piotr Czapiewski Wydział Informatyki ZUT 2 października 2009 Piotr Czapiewski (Wydział Informatyki ZUT) Tworzenie aplikacji w języku Java 2 października 2009
Bardziej szczegółowoDiagram klas UML jest statycznym diagramem, przedstawiającym strukturę aplikacji bądź systemu w paradygmacie programowania obiektowego.
Umiejętność czytania oraz tworzenia diagramów klas UML jest podstawą w przypadku zawodu programisty. Z takimi diagramami będziesz spotykał się w przeciągu całej swojej kariery. Diagramy klas UML są zawsze
Bardziej szczegółowoTworzenie i wykorzystanie usług
Strona 1 Co to jest usługa w systemie Android? Usługi HTTP Obsługa wywołania HTTP GET Obsługa wywołania HTTP POST Obsługa wieloczęściowego wywołania HTTP POST Usługi lokalne Usługi zdalne Tworzenie usługi
Bardziej szczegółowoAplikacje internetowe i rozproszone - laboratorium
Aplikacje internetowe i rozproszone - laboratorium Enterprise JavaBeans (EJB) Celem tego zestawu ćwiczeń jest zapoznanie z technologią EJB w wersji 3.0, a w szczególności: implementacja komponentów sesyjnych,
Bardziej szczegółowoSWING 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ółowoJę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ółowoWstęp do programowania
wykład 8 Agata Półrola Wydział Matematyki i Informatyki UŁ semestr zimowy 2018/2019 Podprogramy Czasami wygodnie jest wyodrębnić jakiś fragment programu jako pewną odrębną całość umożliwiają to podprogramy.
Bardziej szczegółowoZasady programowania Dokumentacja
Marcin Kędzierski gr. 14 Zasady programowania Dokumentacja Wstęp 1) Temat: Przeszukiwanie pliku za pomocą drzewa. 2) Założenia projektu: a) Program ma pobierać dane z pliku wskazanego przez użytkownika
Bardziej szczegółowoProxy (pełnomocnik) Cel: Zastosowanie: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego.
Proxy (pełnomocnik) Cel: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego. Zastosowanie: Wszędzie tam, gdzie oczekujemy bardziej zaawansowanego odwołania do obiektu, niż zwykły
Bardziej szczegółowoAlgorytmy i Struktury Danych. Co dziś? Drzewo decyzyjne. Wykład IV Sortowania cd. Elementarne struktury danych
Algorytmy i Struktury Danych Wykład IV Sortowania cd. Elementarne struktury danych 1 Co dziś? Dolna granica sortowań Mediany i statystyki pozycyjne Warstwa implementacji Warstwa abstrakcji #tablice #listy
Bardziej szczegółowoAplikacje WWW - laboratorium
Aplikacje WWW - laboratorium Serwlety Celem ćwiczenia jest przygotowanie kilku prostych serwletów ilustrujących możliwości tej technologii. Poszczególne ćwiczenia prezentują sposób przygotowania środowiska,
Bardziej szczegółowoSposoby 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ółowoJęzyki Programowania II Wykład 3. Java podstawy. Przypomnienie
Języki Programowania II Wykład 3 Java podstawy Przypomnienie Analiza, projektowanie, programowanie, testowanie, wdrażanie Iteracyjnie nie kaskadowo Przypadki użycia = opowiastki o używaniu systemu = wymagania
Bardziej szczegółowoPolimorfizm, metody wirtualne i klasy abstrakcyjne
Programowanie obiektowe Polimorfizm, metody wirtualne i klasy abstrakcyjne Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Polimorfizm,
Bardziej szczegółowoPodstawy Języka Java
Podstawy Języka Java Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania, w którym programy definiuje się za pomocą obiektów elementów łączących
Bardziej szczegółowoProgramowanie 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ółowoProgramowanie obiektowe
Przygotował: Jacek Sroka 1 Programowanie obiektowe Wykład 3 Java podstawy Przygotował: Jacek Sroka 2 Przypomnienie Analiza, projektowanie, programowanie, testowanie, wdrażanie Iteracyjnie nie kaskadowo
Bardziej szczegółowo