Formalne modele protokołów i usług

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

Download "Formalne modele protokołów i usług"

Transkrypt

1 Formalne modele protokołów i usług Model procesu komunikacyjnego: rozszerzony automat skończony Najczęściej przyjmowanym formalnym modelem procesu komunikacyjnego jest model rozszerzonego automatu skończonego. Proces komunikacyjny opisuje się jako złożenie przejść między stanami procesu, ktore można opisać dwoma funkcjami: gdzie: s( n+ ) = f ( s( n), x( n)) y( n) = g( s( n), x( n)) s(n) - stan procesu po n-tym zdarzeniu - funkcja - funkcja przejscia wyjscia x(n) - n-te zdarzenie (sygnał wejściowy, pobudzenie) y(n) - reakcja na n-te zdarzenie (sygnały wyjściowe). Rys 1 ilustruje funkcję przejścia procesu. Nowy stan procesu po zajściu zdarzenia zależy tylko i wyłącznie od rodzaju zdarzenia x i stanu procesu w chwili zajścia tego zdarzenia.. x (n) q s (n+1) j s (n) i x (n) p s (n+1) k t Zablokowanie zdarzeń n+1-sze zdarzenie Rys 3.1 Ilustracja funkcji przejścia procesu Procesy komunkacyjne mają strukturę, którą można modelować przy użyciu automatu skończonego. Stany automatu są związane z oczekiwaniem na zdarzenia (komunikaty) wytwarzane przez współpracujące procesy lub otoczenie systemu. Reakcje automatu są również komunikatami. Graf przejść dla procesu inicjującego połączenie w przykładzie podanym w poprzednim rozdziale przedstawia rysunek. Rysunek 3 przedstawia graf przejść między stanami dla procesu odbierającego z tego samego przykładu.

2 I O N P Rys. 3.2 Graf przejść procesu inicjującego połączenie z przykładu I O N Rys. 3.3 Graf przejść procesu odbierającego z przykładu Inżynieria oprogramowania komunikacyjnego 2

3 SDL SDL (Specification and Description Language) jest najstarszą metoda formalnej specyfikacji protokołów. Opracowano ja pod koniec lat sześćdziesiątych do opisu protokołów połączeń telefonicznych. Metoda ta jest objęta Zaleceniem CCITT od roku Jej obecna wersja [CCITT 92] jest wynikiem stałych prac grupy XI CCITT. Najczęściej stosowana jest wersja SDL z roku Ze względu na to, że SDL był opracowany do opisu protokołów połączeń telefonicznych, miał być zrozumiały przede wszystkim dla użytkowników systemow telefonicznych. Spowodowało to istnienie dwóch równorzędnych reprezentacji specyfikacji wykonanej w SDL [Rockst 82]: graficznej, tekstowej. U podstaw wszystkich tych reprezentacji leży oczywiście ten sam model formalny systemu. W dalszej części będziemy omawiali obie reprezentacje języka jednocześnie. Elementy języka Zasadniczym elementem języka jest proces. Procesy sa środkami reprezentacji dynamicznego zachowania się systemu. Zakłada się, że procesy wykonywane sa współbieżnie. Procesy oczekują w dyskretnych stanach na sygnały ze swego otoczenia. Proces działa tylko w odpowiedzi na zewnatrzne dyskretne pobudzenia i wynikiem jego działalności jest wysłanie dyskretnej odpowiedzi do otoczenia. Po odebraniu sygnału pobudzenia proces dokonuje zmiany stanu (tranzycji). Podczas zmiany stanu proces realizuje akcje w trakcie, w których przetwarza odebraną i lokalną informację oraz wysyła sygnały (odpowiedzi) do innych procesow i do otoczenia systemu. Odpowiedź ta jest odbierana przez określone procesy jako pobudzenie. proces (STATE) sygnał pobudzenia (INPUT) sygnał reakcji (OUTPUT) sygnał upływu czasu (TIMER) Podstawowymi elementami opisu zachownia się procesu na tym poziomie są: stany, sygnały wejściowe i sygnały wyjściowe. Bieżący stanu procesu: Reprezentacja graficzna: Reprezentacja tekstowa: Nazwa_stanu STATE Nazwa_stanu; Inżynieria oprogramowania komunikacyjnego 3

4 Następny stan procesu: NEXTSTATE Nazwa_stanu; Nazwa_stanu Sygnał wejściowy (pobudzenie): Reprezentacja graficzna: Reprezentacja tekstowa: Sygnał wejściowy INPUT Syganł_wejściowy; Sygnał wyjściowy (reakcja): Reprezentacja graficzna: Reprezentacja tekstowa Sygnał wyjściowy OUTPUT Sygnał_wyjściowy; Komentarz: Reprezentacja graficzna: Reprezentacja tekstowa Komentarz /* Komentarz */ Inżynieria oprogramowania komunikacyjnego 4

5 Przykład: Reprezentacja graficzna: Reprezentacja tekstowa Nazwa stanu Sygnał wejściowy Sygnał wyjściowy Komentarz Komentarz STATE Nazwa_stanu; INPUT Syganł_wejściowy; /* Komentarz */ OUTPUT Sygnał_wyjściowy; /* Komentarz */ NEXTSTATE Nazwa_stanu; Nazwa stanu Zamiast nazwy stanu może wystąpić symbo, o specjalnym znaczeniu. Definicja języka przewiduje wystąpenie dwóch takich symboli: gwiazdki (*) i myślnika (-). Pierwszy z nich oznacza dowolny stan procesu, a drugi stan poprzedni procesu. Symbol gwiazdki znajduje zastosowanie we wszystkich takich sytuacjach, w których reakcja procesu na pewne pobudzenie jest identyczna niezależnie od stanu, w którym ten proces się znajduje. Przykładem takiego działania może być rozłączenie połączenia, po którym następuje powrót procesu do stanu początkowego. Konwencja gwiazdkowa (akcja dla każdego stanu procesu): Reprezentacja graficzna: Reprezentacja tekstowa * STATE *; Inżynieria oprogramowania komunikacyjnego 5

6 Przykład: Reprezentacja graficzna: Reprezentacja tekstowa * Rozłącz STATE *; INPUT Rozłącz; OUTPUT Potwierdzenie; NEXTSTATE Przerwany; Potwierdzenie Przerwany Cechą charakterystyczną grafu poprawnie działającego procesu jest istnienie cykli zawierających stan początkowy procesu. Cecha ta jest związana z wymaganiem by z każdego stanu procesu komunikacyjnego istniała droga powrotu do stanu, od którego proces rozpoczął swoje działanie. Brak takiej drogi oznaczałby możliwość wejścia w stan, z którego nie było by wyjścia. Przykład takiego grafu przedstawia rys. 3.. Konwencja gwiazdkowa czasami pozwala na zrealizowanie tego wymagania. S 0 S 1 S 2 S 3 S 5 S 4 Rys. 3.4 Graf procesu z cyklami zawierającymi stan początkowy Użycie myślnika jest równoważne pozostaniu procesu w stanie, w którym się znajduje. Konwencja kreskowa (powrót do stanu początkującego akcję): Reprezentacja graficzna: Reprezentacja tekstowa NEXTSTATE -; - Inżynieria oprogramowania komunikacyjnego 6

7 Przykład: Tekst Znak STATE Tekst; INPUT Znak; OUTPUT Echo_znaku; NEXTSTATE -; Echo_znaku - Zastosowanie konwencji ilustruje rysunek 3.. S 1 S 2 S 3 Rys 3. Pozostanie w stanie s1 Szczególną rolę w opisie zachowania procesów komunikacji zajmuje stan początkowy procesu i dlatego w definicji języka SDL zaproponowano oddzielny symbol do jego oznaczenia. Rozpoczęcie opisu procesu: Reprezentacja graficzna: Reprezentacja tekstowa START START Nazwa_stanu; Przy specyfikowaniu procesów fragmenty specyfikacji umieszczone na różnych stronach łączy się łącznikami. Łączniki pomiędzy stronami specyfikacji: Inżynieria oprogramowania komunikacyjnego 7

8 Zakończenie o etykiecie A na stronie 1 i kontynuacja od etykiety A na stronie 2 Reprezentacja graficzna: Reprezentacja tekstowa A1 A1 JOIN A1;... A1:... Zmienne: Predefiniowane typy zmiennych INTEGER NATURAL - typ liczb całkowitych - typ liczb naturalnych BOOLEAN CHARACTER REAL PID DURATION TIMER TIME CHARSTRING ARRAY POWERSET - typ wartości logicznych - typ znaku - typ liczb rzeczywistych - typ identyfikatora procesu - typ przedziału czasu - typ zegara - typ chwili czasu - typ łańcucha znakowego - typ macierzowy - zbiór podzbiorów Deklaracje zmiennych i typów danych oraz różne teksty, które nie są komentarzami Reprezentacja graficzna: Reprezentacja tekstowa DCL Wartosc INTEGER; Tekst CHARSTRING; DCL Wartosc INTEGER; Tekst CHARSTRING; Inżynieria oprogramowania komunikacyjnego 8

9 Zadanie: Reprezentacja graficzna: Reprezentacja tekstowa Wartosc := 1... Wartosc := Wartosc + 1 Wartosc:=1;... Wartosc:=Wartosc+1; Decyzja: Reprezentacja graficzna: Reprezentacja tekstowa Warunek Warianty odpowiedzi DECISION Warunek (Wariant_1): Zadanie_1; (Wariant_2): Zadanie_2; (Wariant_3): Zadanie_3; ENDDECISION; Warunek Warianty odpowiedzi DECISION Warunek (Wariant_1): Zadanie_1; (Wariant_2): Zadanie_2; (Wariant_3): Zadanie_3; (Wariant_4): Zadanie_4; (Wariant_5): Zadanie_5; ENDDECISION; Przykłady: <0 >0 Wartosc? Włączony? Nie =0 Tak Inżynieria oprogramowania komunikacyjnego 9

10 Reprezentacja graficzna: Reprezentacja tekstowa Liczba odebranych znaków DECISION "Liczba odebranych znaków" (1):..; (2:5):...; >7 (6):...; (7):...; ELSE:...; ENDDECISION; Pomiar czasu: Wszystkie procesy w systemie i jego otoczniu mają dostęp do zegarów (zmiennych typu TIMER) odmierzających czas bezwzględny. Wartości czasu można przetwarzać w zmiennych typu TIME. TIMER SET RESET NOW - typ zegara - procedura ustawienia zegara - procedura zatrzymania i wyzerowania zegara - zmienna typu TIME o wartości odpowiadającej chwili bieżącej Reprezentacja graficzna: DCL T TIMER; ODSTEP TIME; SET (NOW+ODSTEP,T) Reprezentacja tekstowa DCL T TIMER; Odstep TIME;... Potwierdzenie SET(NOW+Odstep,T); NEXTSTATE Potwierdzenie; Timeout STATE Potwierdzenie; INPUT Potwierdzenie; Potwierdzenie T INPUT T; /*Timeout */ RESET T Inżynieria oprogramowania komunikacyjnego 10

11 Przykład PROCESS Inicjator; DCL Licznik INTEGER; Dane TypISDU; Num, Numer INTEGER; T TIMER; SYNONIM P DURATION = 5; START Przerwany; STATE Przerwany; INPUT (ICONreq); Licznik:=1; SET (NOW+P,T); OUTPUT (CR); NEXTSTATE Oczekiwanie; INPUT DR; OUTPUT (IDISind); NEXTSTATE -; INPUT (CC); RESET (T); Numer:=1; OUTPUT (ICONconf); NEXTSTATE Połączony; INPUT (T); DECISION Licznik<4 (TRUE): Licznik:=Licznik+1; SET (NOW+P,T); OUTPUT (CR); NEXTSTATE -; (FALSE): OUTPUT (IDISind); NEXTSTATE Przerwany; ENDDECISION; INPUT (DR); RESET (T); OUTPUT (IDISind); NEXTSTATE Przerwany; STATE Oczekiwanie; Inżynieria oprogramowania komunikacyjnego 11

12 Procesy: Procesy moga być dynamicznie kreowane i niszczone zarówno w czasie inicjacji systemu jak i w czasie jego życia. Proces nie może być zniszczony przez inny proces, lecz może sam się unicestwić. Utworzenie procesu:... Nazwa (Lista parametrów aktualnych) CREATE Nazwa (Lista parametrów aktualnych);... Cztery zmienne predefiniowane: OFF SPRING - PID ostatniego potomka SELF - własny PID PARENT - PID rodzica SENDER - PID nadawcy ostatnio odbranego komunikatu Gdy w środowisku realizującym protokół lub usługę komunikacyjną będą występowały procesy dynamiczne (powoływane do życia) wówczas Zakończenie procesu: Reprezentacja graficzna: Reprezentacja tekstowa STOP; Instancja procesu: PROCESS Nazwa (n1,n2) FPAR... Nazwa (n1, n2) ENDPROCESS Nazwa n 1 - liczba instancji procesu aktywna w miejscu użycia symbolu; n 2 - maksymalna liczba instancji tego procesu w całej specyfikacji. Wartości domyślne obu parametrów: n 1 = 1, n 2 = oo Iok_3wg 3-12

13 Komunikacja między procesami: Droga sygnałowa DS Nazwa (n1, n2) Nazwa (n1, n2) Droga sygnałowa i sygnały: SIGNAL Sygnal1, Sygnal2; komunikacja między procesami DS[Sygnal1, Sygnal2] Nazwa (n1, n2) Nazwa (n1, n2) Adresowanie sygnałów Bezpośrednie: A To Cel Przykład: A TO SENDER; A TO OFFSPRING; A TO P1; Pośrednie (pośrednik w postaci drogi sygnałowej): A VIA DS Iok_3wg 3-13

14 Przekazywanie wartości przez sygnał Sygnały przekazuja dane o strukturze określonej ich typem. Dane te moga być tworzone w oparciu o zmienne lokalne procesu oraz do tych zmiennych zapisywane. DCL V1 NrRamki; V2 Boolean; SIGNAL A(NrRamki, Boolean); A(V1,V2); A(S1,S3); DCL S1 NrRamki; S3 Boolean; SIGNAL A(NrRamki, Boolean); A(5,V2); A(S1); A(,TRUE); A(,S3); A(5,FALSE); A(S1,S3); Semantyka komunikacji procesów Na odbior w procesie może oczekiwać kilka sygnałów. Oczekują one na obsługę w kolejce portu wejściowego. Kolejka ta jest zasadniczo kolejka typu "Pierwszy Zgłoszony Pierwszy Obsłużony", lecz proces ma możliwość "przechowywania" sygnałów i w ten sposob wpływania na kolejność ich obsługi. P1 Sygnal2 Sygnal1 P3 P2 Iok_3wg 3-14

15 A... D B A D B D B D Sygnał D pozosytanie w kolejce i będzie oczekiwał na skonsumowanie w dalszych stanach. Na odbior w procesie może oczekiwać kilka sygnałów. Oczekują one na obsługę w kolejce portu wejściowego. Kolejka ta jest zasadniczo kolejka typu "Pierwszy Zgłoszony Pierwszy Obsłużony", lecz proces ma możliwość "przechowywania" sygnałów i w ten sposob wpływania na kolejność ich obsługi. Sygnały przekazuja dane o strukturze określonej ich typem. Dane te moga być tworzone w oparciu o zmienne lokalne procesu oraz do tych zmiennych zapisywane. Iok_3wg 3-15

16 Procedura: Definicja PROCEDURE Nazwa FPAR Lista parametrów formalnych Nazwa procedury... Przywołanie procedury: Nazwa (lista param. aktualnych) Makrodefinicja: Definicja MACRODEFINITION Nazwa FPAR Lista parametrów aktualnych a b A>0 R:=0 Yes c d Iok_3wg 3-16

17 Przywołanie: a b Nazwa (lista param. aktualnych) c d Iok_3wg 3-17

18 Zasady strukturalizacji Definicje modelu określaja typy elementow metody specyfikacji. Definiując dalej pojęcia metody będzie mowa o typie elementu. Elementy dowolnego typu mają swoje instancje. Instancja ma wszystkie cechy przypisane typowi elementu i jest konkretną realizacją elementu. Może istnieć dowolnie wiele instancji pewnego elementu będacych instancjami tego samego typu. Statyczna struktura systemu jest modelowana jako zbiór bloków komunikujących się za pomocą kanałów. Kanały łączą bloki wzajemnie i łączą bloki z granicami systemu (z otoczeniem systemu). Granice systemu oddzielają system od jego otoczenia. Zakłada się przy tym, że otoczenie systemu zachowuje się w sposób podobny jak modelowany system. Kanały działają jako jednokierunkowe środki transportu sygnałów przesyłanych między blokami. Struktura specyfikowanego systemu wynika z podziału systemu na bloki, kanały i procesy. Strukturalizacja może być głębsza i dopuszczalne jest wydzielanie podblokow, podkanałów i podprocesów. Strukturalizacja kanału polega na wydzieleniu nowych blokow i nowych kanałów pomiędzy tymi blokami. Strukturalizacja polega na podziale protokołu/usługi na bloki, w ktorych działają procesy. Kolejnym narzadziem strukturalizacji procesu sa procedury. Procedura jest rozumiana tak jak w językach programowania z tym, że może ona zawierać akcje i zmiany stanu. Procedury mogą tworzyć bibliotekę i być wykorzystywane przez różnych reprezentantów procesu, bądź przez reprezentantow innych procesow. Przy sporządzaniu specyfikacji przydatnym środkiem jej uproszczenia jest makro. Makro reprezentuje pewien fragment specyfikacji, ktory jest dołączany do specyfikacji za pomocą jego nazwy. Makro tym różni się od procedury, że procedura jest przywoływana, a makro jest dołączane do specyfikacji. Makro jest środkiem upraszczajacym edycję specyfikacji. Ostatnim środkiem ułatwiającym strukturalizację specyfikacji jest opcja. Środek ten umożliwia specyfikowanie rozwiązań alternatywnych. W przypadku, gdy przedmiot specyfikacji ma być zrealizowany, wybierana jest jedna z kilku dopuszczalnych opcji. Iok_3wg 3-18

19 SDL, a języki implementacji Istnieja ścisłe powiazania pomiędzy SDL, a językiem programowania systemów telekomunikacyjnych CHILL. Przykładowo wspólne są koncepcje procesu i sygnału. int Receive(int Adres, int OdbDane1, int OdbDane2); void Send(int Adres, int Dane1, int Dane2); void Reset(); void Set(); int State; #define NextState State #define Przerwany 1 #define Oczekiwanie 2 #define Polaczone 3 #define Nadane 4 #define User 10 #define ICONreq 11 #define IDISreq 12 #define IDISind 13 #define ICONconf 14 #define IDATreq 15 #define Medium 100 #define CR 101 #define DR 102 #define CC 103 #define DT 104 #define AK 105 #define Timer1 300 #define Timeout1 5 int Licznik; int Numer; int Dane; main () { switch (State) { case Przerwany: switch (Receive(Num, Dane)) { case ICONreq: Licznik=1; Send(Medium,CR); Set(Timer1,Timeout1); NextState=Oczekiwanie; Iok_3wg 3-19

20 break; case DR: Send(User,IDISind); NextState=Przerwany; break; }; case Oczekiwanie: switch (Receive(Num, Dane)) { case CC: Send(User,ICONconf); Reset(Timer1); Numer=1; NextState=Polaczone; break; case Timer1: if (Licznik<4) { Send(Medium,CR); Licznik++; Set(Timer1,Timeout1); } else { Send(User,IDISind); NextState=Przerwany; }; break; case DR: Reset(Timer1); Send(User,IDISind); NextState=Przerwany; break; }; break; case Polaczone: switch (Receive(Num,Dane)) { case IDATreq: Send(Medium,DT,Numer,Dane); Licznik=1; Set(Timer1,Timeout1); NextState=Nadane; break; case DR: Reset(Timer1); Send(User,IDISind); NextState=Przerwany; break; }; Iok_3wg 3-20

21 } } break; case Nadane: switch (Receive(Num, Dane)) { case AK: Reset(Timer1); if (Num==Numer) { succ(numer); NextState=Polaczone; } else { if (Licznik<4) { Send(Medium,DT,Numer,Dane); Licznik++; Set(Timer1,Timeout1); NextState=Nadane; } else { Send(User,IDISind); NextState=Przerwany; } } break; case DR: Reset(Timer1); Send(User,IDISind); NextState=Przerwany; break; }; break; Iok_3wg 3-21

22 Notacja ASN.1 Typ i wartość obiektu - ASN.1 (ISO 8824, CCITT X.208). Komunikacja między dowolnymi komunikującymi się elementami systemu rozproszonego wymaga nie tylko precyzyjnego zdefiniowania agorytmu ich przetwarzania, ale również formatu wymienianych danych. Złożoność danych transmitowanych przez rozproszone aplikacje wymaga do ich określenia tzw. Języka Reprezentacji Zewnętrznych Danych (External Data Representation Language XDR). Rozproszone aplikacje mogą działać w różnych środowiskach. Można rozważać cztery rodzaje różnic między nimi: różne typy komputerów, np.: przesłanie danych między komputerem pracującym ze słowem 16 bitowym i komputerem pracującym ze słowem 64 bitowym. różne języki programowania aplikacji, np. konieczność przesłania wartości zmiennych z programu napisanego w C do programu napisanego w FoxPro. różne formaty danych łączonych aplikacji, np.: programy poczty elektronicznej mające różny format przesyłanych danych. różne typy sieci i obsługujących je urządzeń. np. NUMERIC DATE System A ASN.1 System B np. int? Baza danych Baza danych np. FoxPro np. C *.dbf *.baz BER Warstwa prezentacji Konieczność opracowania XDR dla systemów komunikacyjnych została zauważona już przed powstaniem standardu. Jednak wcześniejsze aplikacje ograniczały się do tylko jednego języka programowania np.: XDR firmy SUN, lub miały tylko jedną postać transmitowanych danych Xerox Courier[6]. Iok_3wg 3-22

23 ASN.1 (Abstract Syntax Notation 1) stworzona przez ISO oraz CCITT i przedstawiona w Zaleceniu X.208 to język specyfikacji typów danych przesyłanych między aplikacjami. ASN.1 nie jest zależne od żadnego innego języka programowania. Zaletą takiego podejścia jest możliwość ominięcia ograniczeń opisanych powyżej. Jednak z drugiej strony, ze względu na ogólność typów danych ASN.1, utrudnione lub często niemożliwe jest bezpośrednie odwzorowanie typów danych opisanych przy pomocy ASN.1 na typy innego języka programowania. Wyizolowane i niezależne od przesyłanych obiektów informacyjnych zasady kodowania i dekodowania typów definiowanych przy pomocy tej notacji zezwalają na tworzenie nowych definicji postaci transmitowanych danych. Standardowe rozwiązanie BER (Basic Encoding Rules) zawarty w Zaleceniu X.209, może być zastąpione innym z punktu widzenia aplikacji korzystniejszym sposobem kodowania danych. Zasady te mogą być dowolne, jednak standard zawiera już propozycję w postaci BER. W siedmiowarstwowym modelu ISO ASN.1 występuje w górnych warstwach. Jest umieszczona w warstwie aplikacji, podczas gdy reguły kodowania BER są związane są z warstwą prezentacji. Potencjalnie ASN.1 może służyć do opisu protokołów dowolnej z warstw modelu, jednak jej podstawowym zadaniem jest określenie formatów danych protokołów występujących w warstwie aplikacji. Dane przesyłane między aplikacjami są bardzo zróżnicowane i nie można jednoznacznie określić ich wszystkich rodzajów używanych w aplikacjach działających w różnych środowiskach. Nie ma możliwości zdefiniowania zbioru wszystkich możliwych informacji przesyłanych między aplikacjami już w przypadku bardzo prostych danych. Bez odpowiedniego podziału danych jakakolwiek interpretacja jest niemożliwa. W celu wymiany i interpretacji danych przesyłanych na wysokim poziomie pomiędzy rozproszonymi aplikacjami potrzebny jest jednakowy format ich przedstawienia dla wszystkich aplikacji, lub wymaganie od każdej aplikacji znajomości wewnętrznego formatu danych wszystkich innych aplikacji. To drugie podejście w sposób oczywisty jest niemożliwe do implementacji, a dodatkowo niezgodne z ideami OSI. Istnieje możliwość narzucenia jednolitego języka do porozumiewania się w warstwie aplikacji. Wówczas wszystkie dane przesyłane między aplikacjami miałyby identyczne znaczenie dla wszystkich użytkowników. Takie podejście jest również niezgodne z ideami OSI zakładającymi przezroczystość warstw. Dlatego wybrane rozwiązanie zakłada wybór jednolitego formatu danych transmitowanych w warstwie prezentacji. Odpowiednie tłumaczenie przesłanych danych na podstawie wspólnego dla obu aplikacji opisu w ASN.1 przebiega w warstwie aplikacji. Notacja używana do definiowania typów zmiennych w ASN.1 jest bardzo zbliżona do sposobu zapisu używanego w większości języków programowania. Ze względu na Iok_3wg 3-23

24 to, że jest to sposób zapisu typów danych, brak jest słów kluczowych związanych z wykonywaniem instrukcji takich jak pętle czy instrukcje warunkowe. Język zawiera kilka wbudowanych typów danych i zespół zasad, które pozwalają tworzyć samodzielnie nowe, bardziej skomplikowane typy danych oraz przyznawać stałe wartości niektórym elementom wchodzącym w skład tak zdefiniowanych typów danych. Ogólna formuła tworzenia nowych typów danych polega na przypisaniu pewnego wcześniej zdefiniowanego typu do jego nowego identyfikatora. Przykład: NowyIdentyfikator ::= InnyTyp lub, WeatherReport ::= SEQUENCE { stationno INTEGER, timeofreport INTEGER, dateofreport INTEGER, temperature INTEGER, winddir INTEGER, humidity INTEGER, } W ten sposób użycie nowej nazwy w definicji wartości (lub typu) powoduje przypisanie tej wartości typu odpowiadającego wcześniejszej definicji. Wartości InnyTyp z przykładu może odpowiadać dowolny prosty typ ASN.1 lub jeden z typów złożonych utworzonych z typów prostych lub wcześniej zdefiniowanych. ASN.1 umożliwia również przedstawienie pewnych obiektów informacyjnych o określonym z góry typie i nadanej im odgórnie wartości. W tym celu wykorzystuje się tzw. value notation. Wartości zdefiniowane przy jej użyciu mają głównie zastosowanie w celach przykładowych, aby lepiej zaprezentować nowo tworzone typy danych. Przykład: wartość IdentyfikatorTypuWartości ::= wartośćzgodnazidtypuwart lub, weatherreportmonday WeatherReport ::= { stationno 200, timeofreport 1504, dateofreport , temperature 30, winddir 150, Iok_3wg 3-24

25 humidity 80 } Wbudowane typy danych języka ASN.1 obejmują następujące typy: INTEGER, BOOLEAN, REAL, BIT STRING, OCTET STRING, ENUMERATED, NULL, OBJECT IDENTIFIER. Typ INTEGER odpowiada wszystkim wartościom dodatnich i ujemnych liczb całkowitych. Brak ograniczenia zakresu dla liczb typu INTEGER spowodowany jest tym, że ASN.1 nie interesuje się sposobem reprezentacji tych danych na komputerze oddając tę pracę zasadom kodowania. Przykład definicji typu pochodnego od typu INTEGER: ImageLoadMode ::= INTEGER { other(1), -- Unknown LocalBoot(2), -- Load image from local NetBoot(3) -- Load image from remote } USmallInt ::= INTEGER (0..255) Przykład definicji wartości dla tego typu: agentimageloadmode ImageLoadMode ::= other Wbrew pozorom symbole "other" i "NetBoot" nie ograniczają zakresu typu ImageLoadMode do przedziału od 1 do 3, ale wyłącznie nadają tym dwu liczbom nowe symboliczne nazwy. Typ BOOLEAN zawiera dwie wartości, odpowiadające logicznym wartościom TRUE i FALSE. Przykład definicji typu pochodnego od typu BOOLEAN SwitchStatus ::= BOOLEAN Przykład definicji wartości dla tego typu: switch SwitchStatus ::= TRUE Iok_3wg 3-25

26 Typ REAL to podobnie jak INTEGER zbiór wszystkich wartości liczb rzeczywistych. Jak w przypadku INTEGER ASN.1 nie ogranicza zakresu tych liczb gdyż tym zajmuje się reguła dekodowania wartości. Przykład definicji typu pochodnego od typu REAL: Float ::= REAL Przykład definicji wartości dla tego typu: e REAL ::= {27182, 10, -4} Z oczywistych względów nie można przypisać wartościom tego typu odrębnych nazw jak w przypadku typu INTEGER. Typ BIT STRING zawiera ciąg bitów o dowolnej długości. Nie musi być to wielokrotność 8. Przykład definicji typu pochodnego od typu BIT STRING: FacsimileInformation ::= BIT STRING SunnyDaysOfMonth ::= BIT STRING { first(1), third(3), } Przykład definicji wartości dla tego typu: sunday SunnyDaysOfMonth ::= '810204'H Typ ANY nie jest właściwie osobnym typem, ale rezerwacją miejsca na daną dowolnego typu i dowolnego rozmiaru. Dana i jej typ, który podstawiony zostanie w miejsce ANY wybierany jest w czasie działania aplikacji. Przykład definicji typu pochodnego od typu ANY: Contentindication ::= INTEGER MessageContent ::= ANY DEFINED BY ContentIndication Typ NULL stosowany jest jedynie wyjątkowo zazwyczaj w konstrukcjach typu CHOICE. Jego stosowanie jest obecnie odradzane ze względu na bardziej efektywne formy zapisu. Przykład definicji typu pochodnego od typu NULL: MiddleName ::= CHOICE { is OCTET STRING, isnot NULL} Przykład definicji wartości dla tego typu: Iok_3wg 3-26

27 midname MiddleName ::= isnot Typ OCTET STRING to dowolnej długości ciąg znaków. Znaki mogą przybierać dowolną wartość od 0 do 255. Każdy znak zajmuje osiem bitów. Ciąg ten nie musi być zakończony znakiem 0 jak w przypadku C, a za określenie jego długości odpowiedzialne są wyłącznie zasady kodowania. Typ OCTET STRING jest w samej definicji notacji okrojony przez co powstaje kilka nowych typów zawierających charakterystyczne zestawy znaków, np. typy NumericString, PrintableString i inne. Przykład definicji typu pochodnego od typu OCTET STRING: AtLeastOneByte ::= OCTET STRING (SIZE (1..MAX)) Przykład definicji wartości dla tego typu: anyone AtLeastOneByte ::= '4fde'h Typ ENUMERATED to skończony zbiór wartości, którego każdy element ma odpowiadającą mu wartość liczbową, służącą jako dodatkowy identyfikator. W przeciwieństwie do typu INTEGER przyznanie wartości określonego symbolu powoduje umieszczenie tej wartości w typie ENUMERATED. Wartości nie umieszczone w definicji typu nie wchodzą w jego skład. Brak jest relacji porządkującej wartości tego typu. Wartość numeryczna liczb odpowiadających identyfikatorom nie jest istotna, wykorzystywana jest tylko przy kodowaniu. Przykład definicji typu pochodnego od typu ENUMERATED: Priority ::= ENUMERATED { low(-1), Przykład definicji wartości dla tego typu: medium(0), high(1) } status Priority ::= low Typ OBJECT IDENTIFIER jest wbudowanym w język typem ściśle związanym z prezentacją i identyfikacją obiektów znajdujących się w Drzewie Identyfikatorów Obiektów (OIT) tworzonym i nadzorowanym przez ISO. Głównym zadaniem drzewa OIT jest zapewnienie bezbłędnego dostępu do obiektów informacyjnych definiowanych w ogólnie dostępnych aplikacjach np.: protokołach sieciowych. Węzły tego drzewa oznaczone są numerycznie przez ciąg nieujemnych liczb całkowitych, a identyfikator danego węzła to ścieżka jaką trzeba pokonać od korzenia tego drzewa do interesującego nas węzła. Tworzenie nowych węzłów drzewa jest ściśle Iok_3wg 3-27

28 nadzorowane przez ISO. Ten typ danych używany jest przy tworzeniu nowych aplikacji. Przykład definicji typu pochodnego od typu OBJECT IDENTIFIER: CCProduct ::= OBJECT IDENTIFIER Przykład definicji wartości dla tego typu: joint-iso-ccitt OBJECT IDENTIFIER ::= {2} directory OBJECT IDENTIFIER ::= {joint-iso-ccitt ds(5)} Jak widać tworzenie nowych typów danych w ASN.1 nie nastręcza większych trudności. W tym celu możemy okroić istniejący dotychczas typ danych poprzez ograniczenie zakresu (p. INTEGER) lub ograniczenie rozmiaru( p. OCTET STRING). Definicja typów złożonych Oprócz redefinicji typów prostych możemy tworzyć bardziej skomplikowane typy jako kombinację typów podstawowych lub wcześniej zdefiniowanych. Język zapewnia nam w tym celu następujące konstrukcje do tworzenia typów złożonych: SEQUENCE SET SEQUENCE OF SET OF CHOICE Typy utworzone przy użyciu SEQUENCE i SET są do siebie zbliżone i przypominają konstrukcję struct w C lub record w PASCALu. Różnica między tymi dwoma typami uwidacznia się w procesie kodowania i przesyłania danych. Typ utworzony przy pomocy SEQUENCE wymaga aby dane były przesyłane w takiej kolejności w jakiej zostały zapisane w definicji typu. W przypadku SET kolejność przesyłanych danych jest dowolna a odbiornik orientuje się w typie danej na podstawie znacznika (tag) jaki z nią przyszedł. Różnice te są w praktyce nie widoczne na poziomie ASN.1. Przykład definicji typu złożonego: RejectTPDU ::= SET { credit Credit, Message ::= SEQUENCE { destref Reference } envelope MessageTransferEnvelope, content Content } Iok_3wg 3-28

29 Przykład definicji wartości dla typu złożonego: val RejectTPDU ::= { destref 90, credit 9000} msg Message ::= { envelope '0d4f'h, content "content of envelope"} Jeżeli dana przesyłana może przyjąć jeden z kilku typów to reprezentacja typu tej danej tworzona jest przy pomocy typu CHOICE. Konstrukcja ta przypomina konstrukcję union z języka C. Spośród kilku typów danych, które wchodzą w skład CHOICE przesłany zostaje tylko jeden i odpowiadający mu znacznik. Przykład definicji typu CHOICE: TypN ::= CHOICE { x y REAL, INTEGER, z BIT STRING(SIZE(32)) } Przykład definicji wartości dla typu CHOICE: val1 TypN ::= x {45,10,2} val3 TypN ::= z '0000ffff'h Typ SET OF i SEQUENCE OF to ciąg pewnej liczby obiektów tego samego typu. Jest to typ danych podobny do tablic występujących w innych językach programowania np.: typu array zdefiniowanego w PASCALu. Znacząca różnica to brak ograniczenia rozmiaru typów ASN.1, podczas gdy w PASCALu rozmiar musi być dokładnie określony. W przypadku ASN.1 możliwe jest również określenie rozmiaru poprzez użycie ograniczenia rozmiaru słowem kluczowym SIZE. Typy SET OF i SEQUENCE OF podobnie jak typy SET I SEQUENCE odróżnia od siebie istotność kolejności występowania elementów wewnątrz danej jednego z tych typów. Kolejność jest istotna w przypadku SEQUENCE OF. Przykład definicji typu: Students ::= SEQUENCE SIZE(100) OF StudentID Parameters ::= SET OF Parameter Przykład definicji wartości dla tego typu: TempInGdańskFeb Readings ::= { 0,3,5,0,-1,3,6,9} Iok_3wg 3-29

30 Najobszerniejszą i zarazem najtrudniejszą w implementacji formę tworzenia nowych typów danych tworzy mechanizm makroinstrukcji zdefiniowany w standardzie ASN.1. Nowe konstrukcje rozszerzające składnie ASN.1 opisywane są definicjami zapisanymi w postaci BNF. Ta forma zapisu pozwala na przedstawienie syntaktyki konstrukcji opisanych w definicji, nie ma jednak możliwości analizy semantyki tych konstrukcji, która zapisana jest w postaci komentarzy towarzyszących makroinstrukcjom. Z tego powodu nie jest możliwe automatyczne rozszerzanie składni ASN.1 poprzez dołączanie do niej dynamicznie wczytywanych makroinstrukcji. Wiele makroinstrukcji mimo, że nie wchodzą w skład standardu ASN.1 upowszechniło się i są powszechnie wykorzystywane np w przypadku konstrukcji MIB-ów. Obsługiwane przez analizator są OBJECT-TYPE i TRAP-TYPE. Ich znaczenie semantyczne opisane jest w punkcie o SNMP(3.0). Tu krótko bądzie omówiona ich składnia. Makro OBJECT-TYPE wymaga wypełnienia następujących pól: SYNTAX - typ zmiennej w danym węźle. Dowolny typ zdefiniowany module. ACCESS - dostęp do tej zmiennej (read-only, read-write...). STATUS - status zmiennej obowiązkowa, dowolna, nieużywana. Dodatkowo mogą występować pola: DESCRIPTION - opis zmiennej. Ciąg znaków w cudzysłowach. REFERENCE - odwołanie do innych opisów zmiennej. Ciąg znaków w cudzysłowach. DEFVAL - wartość zgodna z typem określonym w polu SYNTAX INDEX - pola klucze. Występuje tylko w przypadku gdy typ zmiennej jest typem złożonym. W makro TRAP-TYPE obowiązkowo muszą być wypełnione pola: ENTERPRISE - Węzeł w drzewie MIB. Określa organizację, która jest twórcą urządzeń nadających te ramki. VARIABLES - Opcjonalna lista zmiennych(węzłów w drzewie), które zawarte są w nadchodzącej ramce TRAP. Opcjonalne jest wypełnienie pól: DESCRIPTION - Ciąg znaków zawierający opis danej ramki TRAP REFERENCE - Ciąg znaków zawierający odwołania do danego TRAP w innych obiektach i modułach. Modułowy charakter definicji tworzonych w notacji ASN.1 ASN.1 ma naturę języka modułowego i zezwala na wykorzystywanie w module danych zawartych w innych modułach. Pogrupowanie poszczególnych definicji i nazwanie ich odrębną nazwą daje możliwość lepszej orientacji w definicjach danych. Iok_3wg 3-30

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY 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ółowo

Języki programowania zasady ich tworzenia

Języki programowania zasady ich tworzenia Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie

Bardziej szczegółowo

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych: Zmienna i typ Pascal typy danych Zmienna to obiekt, który może przybierać różne wartości. Typ zmiennej to zakres wartości, które może przybierać zmienna. Deklarujemy je w nagłówku poprzedzając słowem kluczowym

Bardziej szczegółowo

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia? D D L S Q L Co to jest DDL SQL i jakie s jego ą podstawowe polecenia? D D L S Q L - p o d s t a w y DDL SQL (Data Definition Language) Jest to zbiór instrukcji i definicji danych, którym posługujemy się

Bardziej szczegółowo

Języki skryptowe w programie Plans

Języki skryptowe w programie Plans Języki skryptowe w programie Plans Warsztaty uŝytkowników programu PLANS Kościelisko 2010 Zalety skryptów Automatyzacja powtarzających się czynności Rozszerzenie moŝliwości programu Budowa własnych algorytmów

Bardziej szczegółowo

Język ludzki kod maszynowy

Ję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ółowo

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów Adresowanie obiektów Bit - stan pojedynczego sygnału - wejście lub wyjście dyskretne, bit pamięci Bajt - 8 bitów - wartość od -128 do +127 Słowo - 16 bitów - wartość od -32768 do 32767 -wejście lub wyjście

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

Bardziej szczegółowo

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++ Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu

Bardziej szczegółowo

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

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

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

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

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

asix4 Podręcznik użytkownika CtSNPX - drajwer protokołu SNPX sterowników GE Fanuc Podręcznik użytkownika

asix4 Podręcznik użytkownika CtSNPX - drajwer protokołu SNPX sterowników GE Fanuc Podręcznik użytkownika Podręcznik użytkownika CtSNPX - drajwer protokołu SNPX sterowników GE Fanuc Podręcznik użytkownika Dok. Nr PLP4060 Wersja: 05-10-2005 Podręcznik użytkownika asix4 ASKOM i asix to zastrzeżone znaki firmy

Bardziej szczegółowo

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,

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

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

Materiały do laboratorium MS ACCESS BASIC

Materiały do laboratorium MS ACCESS BASIC Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I

Bardziej szczegółowo

Język programowania PASCAL

Język programowania PASCAL Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO

Bardziej szczegółowo

Inżynieria oprogramowania

Inżynieria oprogramowania Inżynieria oprogramowania Wykład 8 Inżynieria wymagań: analiza przypadków użycia a diagram czynności Patrz: Stanisław Wrycza, Bartosz Marcinkowski, Krzysztof Wyrzykowski, Język UML 2.0 w modelowaniu systemów

Bardziej szczegółowo

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji. 1 Moduł Modbus TCP Moduł Modbus TCP daje użytkownikowi Systemu Vision możliwość zapisu oraz odczytu rejestrów urządzeń, które obsługują protokół Modbus TCP. Zapewnia on odwzorowanie rejestrów urządzeń

Bardziej szczegółowo

Właściwości i metody obiektu Comment Właściwości

Właściwości i metody obiektu Comment Właściwości Właściwości i metody obiektu Comment Właściwości Właściwość Czy można zmieniać Opis Application nie Zwraca nazwę aplikacji, która utworzyła komentarz Author nie Zwraca nazwę osoby, która utworzyła komentarz

Bardziej szczegółowo

Programowanie obiektów

Programowanie obiektów Programowanie obiektów lokalne tabele tymczasowe, globalne tabele tymczasowe, zmienne lokalne, zmienne globalne przypisane wartości zmiennym 1 T-SQL Transact SQL (T-SQL), tak jak inne języki programoawania

Bardziej szczegółowo

ForPascal Interpreter języka Pascal

ForPascal Interpreter języka Pascal Akademia Podlaska w Siedlcach Wydział Nauk Ścisłych Instytut Informatyki ForPascal Interpreter języka Pascal Przedmiot: Sieci i Systemy Wirtualne Informatyka IV Prowadzący: dr Krzysztof Trojanowski Grupa:

Bardziej szczegółowo

Rozdział 4 KLASY, OBIEKTY, METODY

Rozdział 4 KLASY, OBIEKTY, METODY Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej

Bardziej szczegółowo

Ję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. 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ółowo

Wprowadzenie Management Information Base (MIB) Simple Network Management Protocol (SNMP) Polecenia SNMP Narzędzia na przykładzie MIB Browser (GUI)

Wprowadzenie Management Information Base (MIB) Simple Network Management Protocol (SNMP) Polecenia SNMP Narzędzia na przykładzie MIB Browser (GUI) Wprowadzenie Management Information Base (MIB) Simple Network Management Protocol (SNMP) Polecenia SNMP Narzędzia na przykładzie MIB Browser (GUI) () SNMP - Protokół zarządzania sieciami TCP/IP. - UDP

Bardziej szczegółowo

Logika Temporalna i Automaty Czasowe

Logika Temporalna i Automaty Czasowe Modelowanie i Analiza Systemów Informatycznych Logika Temporalna i Automaty Czasowe (7) Automaty czasowe NuSMV Paweł Głuchowski, Politechnika Wrocławska wersja 2.3 Treść wykładu NuSMV NuSMV symboliczny

Bardziej szczegółowo

FAQ: 00000041/PL Data: 09/06/2012. Zastosowanie zmiennych Raw Data Type WinCC v7.0

FAQ: 00000041/PL Data: 09/06/2012. Zastosowanie zmiennych Raw Data Type WinCC v7.0 Zmienne typu Raw Data są typem danych surowych nieprzetworzonych. Ten typ danych daje użytkownikowi możliwość przesyłania do oraz z WinCC dużych ilości danych odpowiednio 208 bajtów dla sterowników serii

Bardziej szczegółowo

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Studia podyplomowe dla nauczycieli INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Przedmiot JĘZYKI PROGRAMOWANIA DEFINICJE I PODSTAWOWE POJĘCIA Autor mgr Sławomir Ciernicki 1/7 Aby

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

Siemens S7-1200 Konfiguracja regulatora PID

Siemens S7-1200 Konfiguracja regulatora PID Siemens S7-1200 Konfiguracja regulatora PID 1 Wprowadzenie Środowisko STEP 7 umożliwia wykorzystanie instrukcji sterownika S7-1200 które pozwalają na prostą konfiguracje i zastosowanie regulatora PID.

Bardziej szczegółowo

Warstwy i funkcje modelu ISO/OSI

Warstwy i funkcje modelu ISO/OSI Warstwy i funkcje modelu ISO/OSI Organizacja ISO opracowała Model Referencyjny Połączonych Systemów Otwartych (model OSI RM - Open System Interconection Reference Model) w celu ułatwienia realizacji otwartych

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

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu. AGH, EAIE, Informatyka Winda - tutorial Systemy czasu rzeczywistego Mirosław Jedynak, Adam Łączyński Spis treści 1 Wstęp... 2 2 Przypadki użycia (Use Case)... 2 3 Diagramy modelu (Object Model Diagram)...

Bardziej szczegółowo

Komunikacja pomiędzy S7-1200 i S7-300/400 przez Ethernet (1)

Komunikacja pomiędzy S7-1200 i S7-300/400 przez Ethernet (1) Komunikacja pomiędzy AUTOMATYKA S7-1200 i S7-300/400 I MECHATRONIKA przez Ethernet Komunikacja pomiędzy S7-1200 i S7-300/400 przez Ethernet (1) W artykule przedstawiamy rozwiązanie komunikacji sieciowej

Bardziej szczegółowo

1 Moduł Modbus ASCII/RTU 3

1 Moduł Modbus ASCII/RTU 3 Spis treści 1 Moduł Modbus ASCII/RTU 3 1.1 Konfigurowanie Modułu Modbus ASCII/RTU............. 3 1.1.1 Lista elementów Modułu Modbus ASCII/RTU......... 3 1.1.2 Konfiguracja Modułu Modbus ASCII/RTU...........

Bardziej szczegółowo

asix4 Podręcznik użytkownika CtMus04 - drajwer do wymiany danych z urządzeniami sterującymi MUS-04 firmy ELEKTORMETAL S.A.

asix4 Podręcznik użytkownika CtMus04 - drajwer do wymiany danych z urządzeniami sterującymi MUS-04 firmy ELEKTORMETAL S.A. asix4 Podręcznik użytkownika CtMus04 - drajwer do wymiany danych z urządzeniami sterującymi MUS-04 firmy ELEKTORMETAL S.A. w Cieszynie Podręcznik użytkownika Dok. Nr PLP4083 Wersja: 23-01-2007 Podręcznik

Bardziej szczegółowo

Opis podstawowych funkcji PC- SHELLa

Opis podstawowych funkcji PC- SHELLa Opis podstawowych funkcji PC- SHELLa addfact - instrukcja addfact umożliwia utworzenie i dodanie faktu do bazy wiedzy - w sposób dynamiczny - podczas wykonywania programu z bloku control. neditbox - Instrukcja

Bardziej szczegółowo

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można

Bardziej szczegółowo

Zasady programowania Dokumentacja

Zasady 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ółowo

Pierwsze kroki z easy Soft CoDeSys. 2009 Eaton Corporation. All rights reserved.

Pierwsze kroki z easy Soft CoDeSys. 2009 Eaton Corporation. All rights reserved. Pierwsze kroki z easy Soft CoDeSys Tworzenie prostego programu Rozpoczęcie pracy 2 Tworzenie prostego programu Wybór aparatu 3 Tworzenie prostego programu Wybór języka programowania Do wyboru jest sześć

Bardziej szczegółowo

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)

Bardziej szczegółowo

Zdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1

Zdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1 Zdalne wywołanie procedur Krzysztof Banaś Systemy rozproszone 1 RPC Komunikacja za pomocą gniazd jest wydajna, gdyż korzystamy z funkcji systemowych niewygodna, gdyż musimy wyrażać ją za pomocą jawnego

Bardziej szczegółowo

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski Informatyka- wykład Podstawy programowania w Pythonie dr Marcin Ziółkowski Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie 23 listopada 2015 r. JĘZYK PYTHON Język Python jest

Bardziej szczegółowo

Generatory analizatorów

Generatory analizatorów Generatory analizatorów Generator analizatora leksykalnego flex ( http://www.gnu.org/software/flex/ ) Generator analizatora składniowego bison ( http://www.gnu.org/software/bison/ ) Idea ogólna Opis atomów

Bardziej szczegółowo

Kolumna Zeszyt Komórka Wiersz Tabela arkusza Zakładki arkuszy

Kolumna Zeszyt Komórka Wiersz Tabela arkusza Zakładki arkuszy 1 Podstawowym przeznaczeniem arkusza kalkulacyjnego jest najczęściej opracowanie danych liczbowych i prezentowanie ich formie graficznej. Ale formuła arkusza kalkulacyjnego jest na tyle elastyczna, że

Bardziej szczegółowo

Numeracja dla rejestrów zewnętrznych

Numeracja dla rejestrów zewnętrznych Numeracja dla rejestrów zewnętrznych System ZPKSoft Doradca udostępnia możliwość ręcznego nadawania numerów dla procedur i dokumentów zgodnie z numeracją obowiązującą w rejestrach zewnętrznych, niezwiązanych

Bardziej szczegółowo

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] 3-2 5 8 12-4 -26 12 45-76

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] 3-2 5 8 12-4 -26 12 45-76 . p. 1 Algorytmem nazywa się poddający się interpretacji skończony zbiór instrukcji wykonania zadania mającego określony stan końcowy dla każdego zestawu danych wejściowych W algorytmach mogą występować

Bardziej szczegółowo

DECLARE typ [( )] [ NOT NULL ] [ { := DEFAULT } ];

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ]; Braki w SQL obsługi zdarzeń i sytuacji wyjątkowych funkcji i procedur użytkownika definiowania złożonych ograniczeń integralnościowych Proceduralny SQL Transact- SQL używany przez Microsoft SQL Server

Bardziej szczegółowo

Na podstawie: Kirch O., Dawson T. 2000: LINUX podręcznik administratora sieci. Wydawnictwo RM, Warszawa. FILTROWANIE IP

Na podstawie: Kirch O., Dawson T. 2000: LINUX podręcznik administratora sieci. Wydawnictwo RM, Warszawa. FILTROWANIE IP FILTROWANIE IP mechanizm decydujący, które typy datagramów IP mają być odebrane, które odrzucone. Odrzucenie oznacza usunięcie, zignorowanie datagramów, tak jakby nie zostały w ogóle odebrane. funkcja

Bardziej szczegółowo

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia. ARYTMETYKA BINARNA ROZWINIĘCIE DWÓJKOWE Jednym z najlepiej znanych sposobów kodowania informacji zawartej w liczbach jest kodowanie w dziesiątkowym systemie pozycyjnym, w którym dla przedstawienia liczb

Bardziej szczegółowo

Wstęp do programowania 2

Wstęp do programowania 2 Wstęp do programowania 2 wykład 1 rekordy z wyróżnikami Agata Półrola Wydział Matematyki UŁ 2005/2006 Egzamin z I roku - problemy Problemy z wczytywaniem danych: skip_line Problemy z obliczeniami: zerowanie

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, 09 grudnia 2014 Zasady budowy i przekazywania komunikatów XML w systemie kdpw_otc Wersja 1.4.3 1 Spis treści Tabela zmian... 3 Wstęp... 4 Budowa komunikatów XML... 4 Przestrzenie nazw (namespaces)...

Bardziej szczegółowo

asix4 Podręcznik użytkownika Drajwer OPC Podręcznik użytkownika

asix4 Podręcznik użytkownika Drajwer OPC Podręcznik użytkownika Podręcznik użytkownika Drajwer OPC Podręcznik użytkownika Dok. Nr PLP4048 Wersja: 13-12-2005 Podręcznik użytkownika asix4 ASKOM i asix to zastrzeżone znaki firmy ASKOM Sp. z o. o., Gliwice. Inne występujące

Bardziej szczegółowo

asix4 Podręcznik użytkownika S7_TCPIP - drajwer do wymiany danych ze sterownikami SIMATIC poprzez Ethernet

asix4 Podręcznik użytkownika S7_TCPIP - drajwer do wymiany danych ze sterownikami SIMATIC poprzez Ethernet Podręcznik użytkownika S7_TCPIP - drajwer do wymiany danych ze sterownikami SIMATIC poprzez Ethernet Podręcznik użytkownika Dok. Nr PLP4081 Wersja: 04-01-2007 Podręcznik użytkownika asix4 ASKOM i asix

Bardziej szczegółowo

Szablony funkcji i szablony klas

Szablony funkcji i szablony klas Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

Elektroniczna Skrzynka Podawcza

Elektroniczna Skrzynka Podawcza Elektroniczna Skrzynka Podawcza Instrukcja dla administratora Wersja 1.6.0 Przewodnik przeznaczony jest dla użytkowników, którzy administrują kontem urzędu w systemie Elektronicznej Skrzynki Podawczej.

Bardziej szczegółowo

Poczta Polska S.A. Opis struktury pliku z danymi przekazów pocztowych lub Ekspresów Pieniężnych. Wersja 2.1

Poczta Polska S.A. Opis struktury pliku z danymi przekazów pocztowych lub Ekspresów Pieniężnych. Wersja 2.1 Poczta Polska S.A. Opis struktury pliku z danymi przekazów pocztowych lub Ekspresów Pieniężnych Wersja 2.1 Lipiec 2014 1. Struktura pliku z przekazami pocztowymi/ekspresami Pieniężnymi Niniejszy dokument

Bardziej szczegółowo

Kalkulator. Programowanie komputerów. Kalkulator możliwe udoskonalenia. Kalkulator. Kalkulator. Kalkulator możliwe udoskonalenia

Kalkulator. Programowanie komputerów. Kalkulator możliwe udoskonalenia. Kalkulator. Kalkulator. Kalkulator możliwe udoskonalenia Programowanie komputerów Relatywnie prosty interfejs użytkownika Złożony algorytm. Elementy obowiązkowe (2,) Klawisze: numeryczne..9, znak dziesiętny (","), operacje arytmetyczne, -, *, /, wynik () oraz

Bardziej szczegółowo

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika Programowanie w SQL procedury i funkcje UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika 1. Funkcje o wartościach skalarnych ang. scalar valued

Bardziej szczegółowo

FAQ: 00000014/PL Data: 26/11/2008 Komunikacja w protokole MPI za pomocą Global Data (GD) pomiędzy sterownikami S7-300

FAQ: 00000014/PL Data: 26/11/2008 Komunikacja w protokole MPI za pomocą Global Data (GD) pomiędzy sterownikami S7-300 PoniŜszy dokument zawiera opis konfiguracji programu STEP7 dla sterowników SIMATIC S7 300/S7 400 w celu stworzenia komunikacji między dwoma stacjami S7 300 za pomocą sieci MPI i usługi komunikacyjnej Danych

Bardziej szczegółowo

Metody Metody, parametry, zwracanie wartości

Metody 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ółowo

Instrukcja użytkownika

Instrukcja użytkownika SoftwareStudio Studio 60-349 Poznań, ul. Ostroroga 5 Tel. 061 66 90 641 061 66 90 642 061 66 90 643 061 66 90 644 fax 061 86 71 151 mail: poznan@softwarestudio.com.pl Herkules WMS.net Instrukcja użytkownika

Bardziej szczegółowo

UML w Visual Studio. Michał Ciećwierz

UML w Visual Studio. Michał Ciećwierz UML w Visual Studio Michał Ciećwierz UNIFIED MODELING LANGUAGE (Zunifikowany język modelowania) Pozwala tworzyć wiele systemów (np. informatycznych) Pozwala obrazować, specyfikować, tworzyć i dokumentować

Bardziej szczegółowo

System Rozproszone Komunikator Dokumentacja. Maciej Muszkowski Jakub Narloch

System Rozproszone Komunikator Dokumentacja. Maciej Muszkowski Jakub Narloch System Rozproszone Komunikator Dokumentacja Maciej Muszkowski Jakub Narloch Wymagania Zgodnie ze wstępnymi założeniami komunikator musi, realizowad następujące funkcje: 1. Jest oparty o model Peer2Peer,

Bardziej szczegółowo

Pliki. Informacje ogólne. Obsługa plików w języku C

Pliki. Informacje ogólne. Obsługa plików w języku C Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych (np. dysku twardym, pendrive, płycie DVD itp.). Może posiadać określone atrybuty, a odwołanie do niego

Bardziej szczegółowo

Wprowadzenie do projektu QualitySpy

Wprowadzenie do projektu QualitySpy Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować

Bardziej szczegółowo

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

Ć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ółowo

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Modelowanie hierarchicznych struktur w relacyjnych bazach danych Modelowanie hierarchicznych struktur w relacyjnych bazach danych Wiktor Warmus (wiktorwarmus@gmail.com) Kamil Witecki (kamil@witecki.net.pl) 5 maja 2010 Motywacje Teoria relacyjnych baz danych Do czego

Bardziej szczegółowo

MASKI SIECIOWE W IPv4

MASKI SIECIOWE W IPv4 MASKI SIECIOWE W IPv4 Maska podsieci wykorzystuje ten sam format i sposób reprezentacji jak adresy IP. Różnica polega na tym, że maska podsieci posiada bity ustawione na 1 dla części określającej adres

Bardziej szczegółowo

Raport dotyczący przeprowadzonych zmian w aplikacji

Raport dotyczący przeprowadzonych zmian w aplikacji Łukasz Dobrodziej Warszawa, 8.01.2011 Jakub Madkowiak Raport dotyczący przeprowadzonych zmian w aplikacji Optymalizacja wydajnościowa Operacjami wykazującymi znaczący czas wykonywania się są grupowe operacje

Bardziej szczegółowo

Przejrzystość, intuicyjny charakter i łatwość oprogramowania sterowników FATEK.

Przejrzystość, intuicyjny charakter i łatwość oprogramowania sterowników FATEK. Darmowe oprogramowanie narzędziowe sterowników PLC FATEK. Przejrzystość, intuicyjny charakter i łatwość oprogramowania sterowników FATEK. WinProllader jest prostym interfejsem użytkownika służącym do programowania

Bardziej szczegółowo

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. PYTHON Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. Aby program napisany w danym języku mógł być wykonany, niezbędne

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

1 Moduł Modbus ASCII/RTU

1 Moduł Modbus ASCII/RTU 1 Moduł Modbus ASCII/RTU Moduł Modbus ASCII/RTU daje użytkownikowi Systemu Vision możliwość komunikacji z urządzeniami za pomocą protokołu Modbus. Moduł jest konfigurowalny w taki sposób, aby umożliwiał

Bardziej szczegółowo

Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only. System Szablonów

Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only. System Szablonów System Szablonów System szablonów System szablonów to biblioteka, która pozwala oddzielić warstwę prezentacji od warstwy logicznej. Aplikacja WWW najpierw pobiera wszystkie dane, przetwarza je i umieszcza

Bardziej szczegółowo

Java. 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 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ółowo

RPC Remote Procedural Call. Materiały do prezentacji można znaleźć na stronie: http://www.houp.info/rpc

RPC Remote Procedural Call. Materiały do prezentacji można znaleźć na stronie: http://www.houp.info/rpc RPC Remote Procedural Call Materiały do prezentacji można znaleźć na stronie: http://www.houp.info/rpc 1 Wprowadzenie Podstawowe założenia RPC: Program uruchamiany na maszynie A może wywołać procedurę

Bardziej szczegółowo

Podstawy programowania - 1

Podstawy programowania - 1 Podstawy programowania - 1 doc. dr inż. Tadeusz Jeleniewski Wykład: sobota B, godz. 10.30 12.55 sala 12 Laboratorium: sobota B, godz. 13.00 15.25 sala 2 sobota B, godz. 15.30-17.55 sala 2 e-mail: tadeusz.jeleniewski@pwr.wroc.pl

Bardziej szczegółowo

Instrukcja do laboratorium Systemów Operacyjnych. (semestr drugi)

Instrukcja do laboratorium Systemów Operacyjnych. (semestr drugi) Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) Ćwiczenie drugie (jedne zajęcia) Temat: Procesy i sygnały w Linuksie. Opracowanie: mgr in ż. Arkadiusz Chrobot Wprowadzenie 1. Budowa procesu

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

Struktura i działanie jednostki centralnej

Struktura i działanie jednostki centralnej Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala

Bardziej szczegółowo

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.

Strona 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ółowo

Paweł Kurzawa, Delfina Kongo

Paweł Kurzawa, Delfina Kongo Paweł Kurzawa, Delfina Kongo Pierwsze prace nad standaryzacją Obiektowych baz danych zaczęły się w roku 1991. Stworzona została grupa do prac nad standardem, została ona nazwana Object Database Management

Bardziej szczegółowo

WTYCZKA FARA-TCM Dane techniczne dla twórców zewnętrznych aplikacji do obsługi map cmentarza

WTYCZKA FARA-TCM Dane techniczne dla twórców zewnętrznych aplikacji do obsługi map cmentarza 2015 WTYCZKA FARA-TCM Dane techniczne dla twórców zewnętrznych aplikacji do obsługi map cmentarza Dokumentacja techniczna dostępu do podstawowych danych cmentarnych w programie FARA. wersja 1.0 aktualizacja:

Bardziej szczegółowo

Programowanie obiektowe

Programowanie 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ółowo

Smarty PHP. Leksykon kieszonkowy

Smarty PHP. Leksykon kieszonkowy IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Smarty PHP. Leksykon kieszonkowy Autor: Daniel Bargie³ ISBN: 83-246-0676-9 Format: B6, stron: 112 TWÓJ KOSZYK

Bardziej szczegółowo

Podstawy programowania (1)

Podstawy programowania (1) Podstawy programowania (1) doc. dr inż. Tadeusz Jeleniewski Konsultacje pokój 19 Poniedziałki, godz. 9:45 11:20 e-mail: tadeusz.jeleniewski@neostrada.pl Podstawy programowania (1) - wykład 1. Wprowadzenie

Bardziej szczegółowo

Komunikacja i wymiana danych

Komunikacja i wymiana danych Budowa i oprogramowanie komputerowych systemów sterowania Wykład 10 Komunikacja i wymiana danych Metody wymiany danych Lokalne Pliki txt, csv, xls, xml Biblioteki LIB / DLL DDE, FastDDE OLE, COM, ActiveX

Bardziej szczegółowo

INSTRUKCJA OBSŁUGI SUPLEMENT

INSTRUKCJA OBSŁUGI SUPLEMENT INSTRUKCJA OBSŁUGI SUPLEMENT PROGRAM SONEL ANALIZA 2 Dotyczy analizatorów jakości zasilania PQM-710 i PQM-711 i instrukcji obsługi programu w wersji 1.1 SONEL SA ul. Wokulskiego 11 58-100 Świdnica, Poland

Bardziej szczegółowo

Współpraca z platformą Emp@tia. dokumentacja techniczna

Współpraca z platformą Emp@tia. dokumentacja techniczna Współpraca z platformą Emp@tia dokumentacja techniczna INFO-R Spółka Jawna - 2013 43-430 Pogórze, ul. Baziowa 29, tel. (33) 479 93 29, (33) 479 93 89 fax (33) 853 04 06 e-mail: admin@ops.strefa.pl Strona1

Bardziej szczegółowo

Język XML Schema. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

Język XML Schema. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz Język Schema Po zrealizowaniu materiału student będzie w stanie Stworzyć formalny opis dokumentu Deklarować elementy i atrybuty Określić strukturę elementów w dokumencie Operować dostępnymi typami danych

Bardziej szczegółowo

Typy danych, zmienne i tablice. Tomasz Borzyszkowski

Typy danych, zmienne i tablice. Tomasz Borzyszkowski Typy danych, zmienne i tablice Tomasz Borzyszkowski Silne typy Javy Java jest językiem wyposażonym w silny system typów. Wywodzi się stąd siła i bezpieczeństwo tego języka. Co to znaczy silny system typów?

Bardziej szczegółowo

Rysunek 1: Przykłady graficznej prezentacji klas.

Rysunek 1: Przykłady graficznej prezentacji klas. 4 DIAGRAMY KLAS. 4 Diagramy klas. 4.1 Wprowadzenie. Diagram klas - w ujednoliconym języku modelowania jest to statyczny diagram strukturalny, przedstawiający strukturę systemu w modelach obiektowych przez

Bardziej szczegółowo

2. Format danych i zaimplementowane funkcje MODBUS

2. Format danych i zaimplementowane funkcje MODBUS SIC184 Protokół MODBUS-RTU (v1.10) Spis treści 1. Informacje wstępne... 1 2. Format danych i zaimplementowane funkcje MODBUS... 1 3. Opis rejestrów i funkcji... 2 3.1 Odczyt stanu wejść/wyjść... 2 3.2

Bardziej szczegółowo

Symfonia Mała Księgowość 2013 Specyfikacja zmian

Symfonia Mała Księgowość 2013 Specyfikacja zmian Symfonia Mała Księgowość 2013 Specyfikacja zmian Odświeżony interfejs użytkownika 2 Rozwój wizerunkowy programu obejmuje odświeżenie interfejsu użytkownika. Wymieniona została ikona desktopowa programu,

Bardziej szczegółowo