Propozycje zadań projektowych
|
|
- Damian Tomaszewski
- 5 lat temu
- Przeglądów:
Transkrypt
1 Propozycje zadań projektowych 1. Profil Ravenscar Ada metoda wytwarzania aplikacji wysoko zintegrowanych 2. Tworzenie aplikacji rozproszonych z zastosowaniem języka Ada. 3. Wprowadzenie do programowania generycznego w języku Ada. 4. Interfejs RTAI specyfikacja, narzędzia programowe. 5. Mechanizmy i narzędzia programowania systemów wbudowanych na platformę WindowsXP Embedded. 6. Praktyczna realizacja przerwań Ada95/83 w systemie GNAT-Linux. 7. Programowanie współbieżne i rozproszone w języku Java. 8. Techniki programowania współbieżnego i rozproszonego na platformę Windows. 9. Wątki czasu rzeczywistego w Real-Time Java. 10. Biblioteki kryptograficzne na platformę Java. 11. Biblioteki kryptograficzne na platformę Linux. 1
2 Dostęp do rejestrów urządzeń Ada posiada pełny zestaw mechanizmów do specyfikowania implementacji typów danych. Mechanizmy nazywane są klauzulami reprezentacji (ang. Representation clauses) i wskazują jak typy języka zostaną zamapowane we wskazanym sprzęcie. Dostępne są następujące klauzule: Klauzule definicji atrybutów: umożliwiają powiązanie atrybutów z zadaniami, obiektami chronionymi lub podprogramami: np. rozmiar obiektu, uporządkowanie pamięci, maksymalna ilość pamięci przeznaczona na zadanie, adres obiektu; Klauzule wyliczeniowe: literały i typy wyliczeniowe mogą uzyskać ustaloną wartość Klauzule reprezentacji rekordów: dla składników rekordów można zdefiniować przesunięcie i długość w obrębie danej jednostki pamięci; Klauzula adresu (Ada83) przestarzałe możliwość ustawienia obiektu w określonym adresie. 2
3 Rozważany przykład definicja rejestru sterującego urządzenia type Error_T is (Read_Error, Write_Error, Power_Fail, Other); type Function_T is (Read, Write, Seek); type Unit_t is new Integer range 0.. 7; type Csr_T is record Errors : Error_T; Busy : Boolean; Unit : Unit_T; Done : Boolean; Ienable : Boolean; Dfun : Function_T; Denable : Boolean; end record; Rejestr urządzenia widoczny w postaci rekordu zdefiniowanego przez programistę 3
4 Klauzule wyliczeniowe Klauzule wyliczeniowe umożliwiają zdefiniowanie wewnętrznych wartości liczbowych dla literałów: 01 Read 10 Write 11 - Seek type Function_T is (Read, Write, Seek); for Function_T use (Read=>1,Write=>2,Seek=>3); 4
5 Klauzule reprezentacji rekordów Klauzule reprezentacji rekordów specyfikują sposób organizacji rekordów w pamięci, tj. kolejność pól, pozycję i ich rozmiar. Bity w rekordach są numerowane od 0, zasięg (ang. range) specyfikuje ilość bitów, które zostaną zaalokowane. Można również sformułować rozmiar, ustawienie i kolejność bitów. Word : constant :=2; --ilość bajtów w słowie Bits_In_Word : constant := 16; -- ilość bitów w słowie for Csr_T use record Denable at 0*Word range 0..0; Dfun at 0*Word range 1..2; Ienable at 0*Word range 6..6; Done at 0*Word range 7..7; Unit at 0*Word range ; Busy at 0*Word range ; Errors at 0*Word range ; end record; for Csr_T Size use Bits_In_Word; for Csr_T Alignment use Word; for Csr_T Bit_Order use Low_Order_First; 5
6 Zdefiniowanie i zastosowanie dostępu do rejestru Tcsr : Csr_T; for Tcsr Address use System.Storage_Elements.To_Address( 8#177566#); Tmp :Csr_T; -- The hardware register can be manipulated: Tmp := (Denable => True, Dfun => Read, Ienable => True, Done => False, Unit => 4, Errors => None ); Tcsr := Tmp; -- to ensure all bits are set at once -- To test for errors if Tcsr.Error = Read_Error then raise Disk_Error; end if; 6
7 METODY PROJEKTOWANIA OPROGRAMOWANIA SYSTEMÓW CZASU RZECZYWISTEGO Formalne Nieformalne Hybrydowe Algebry procesów Logiki temporalne Strukturalne RTSA, MASCOT RTSA + Sieci Petriego Automaty czasowe Sieci Petriego Obiektowe HOOD, COMET, ROPES TRIO + Sieci Petriego 7
8 Porównanie formalnych i nieformalnych metod projektowania Metody nieformalne: Reprezentacja systemu z wielu perspektyw Systematyczny opis systemu na kolejnych etapach wytwarzania Stosowanie wzorców projektowych Metody formalne: Ścisły, matematyczny opis systemu Możliwość formalnego wykazywania określonych własności Mniejsza siła wyrazu w porównaniu z metodami formalnymi Stosowanie zwykle we wczesnych etapach wytwarzania, lub do opisu systemu na wysokim poziomie abstrakcji 8
9 Przykład system odwadniania kopalni - specyfikacja Na powierzchni - pokój sterowania Czujnik CO Czujnik metanu Czujnik przepływu powietrza Stacja monitorowania otoczenia Pompa Czujnik przepływu wody Stacja sterowania pompą Czujnik wysokiego poziomu wody Czujnik niskiego poziomu wody 9
10 Przykład urządzenia zewnętrzne Czujnik przepływu wody wody Czujnik wysokiego poziomu wody wody Przerwanie wysoki poziom Odczyt przepływu wody Ustawienie silnika System sterowania Silnik Silnik pompy pompy Czujnik CO CO Odczyt CO Odczyt CH 4 Czujnik CH CH 4 4 Czujnik niskiego poziomu wody wody Przerwanie niski poziom Odczyt przepływu powietrza Czujnik przepływu powietrza 10
11 Przykład ograniczenia czasowe Typ Okres WCET Deadline Priorytet Czujnik CH 4 Cykliczny Czujnik CO Cykliczny Czujnik przepływu powietrza Cykliczny Czujnik przepływu wody Cykliczny Procedura obsł. przerwania Sporadyczny Silnik Chroniony 10 Sterownik przerwania Chroniony 11 Konsola operatora Chroniony 10 Log Chroniony 10 Obsługa przerwania Sporadyczny 2 Czas Okres zegara Narzut zegara Koszt przesunięcia zadania
12 Przykład notacja HRT-HOOD A Rodzic A Operacja Dziecko 1 Dane2 Wujek Operacja1 Wyjątek1 Dane2 Operacja2 P Operacja Dziecko 2 Relacja użycia Jest implementowane przez... Przepływ danych Przepływ wyjątków 12
13 Przykład notacja HRT-HOOD Typy obiektów w metodyce HRT-HOOD: Pasywne współużywane obiekty nie posiadające mechanizmów kontrolnych nad wywoływanymi w nich operacjach i nie wywołujące spontanicznie operacji w innych obiektach. Aktywne obiekty mogące kontrolować wywołania ich operacji i mogące spontanicznie wywoływać operacje w innych obiektach (najbardziej generalna klasa obiektów). Chronione obiektu, które mogą zawierać kontrolę nad wywoływanymi w nich operacjami i nie wywołują spontanicznie operacji w innych obiektach. W ogólnym przypadku obiekty chronione nie muszą posiadać z góry założonych ograniczeń synchronizacyjnych i muszą być analizowalne jeśli chodzi o czasy zablokowań, które powodują w wykonywaniu swoich klientów. Cykliczne obiekty reprezentujące okresowe wykonywanie obliczeń, mogące spontanicznie wołać inne obiekty z ograniczeniami na interfejs Sporadyczne obiekty reprezentując reakcje na sporadyczne zdarzenia w systemie, mogące spontanicznie wołać operacje w innych obiektach. Każdy obiekt sporadyczny posiada jedną operację sporadyczną. Obiekty aktywne ostatecznie muszą zostać zdekomponowane na zbiór obiektów chronionych/cyklicznych/sporadycznych/pasywnych. 13
14 Przykład pierwszy poziom dekompozycji A Mine control system A Pump controller A Environment monitor not safe is safe request status set pump CH 4 status check safe pump not safe command alarm reason status readings operation status A Operator console alarm reading A Data logger alarm CO log CH 4 log Air flow log High-low water log Water flow log motor log 14
15 Przykład hierarchiczna dekompozycja obiektu Pump controller A Pump controller not safe Is safe A High sensor Low sensor High-low water sensor Pump not safe Alarm reason Alarm reason Operator console Pr Motor CH 4 status Environment monitor request status not safe Is safe request status set pump Motor state change C Water flow sensor Water mark Data logger set pump Water flow 15
16 Przykład hierarchiczna dekompozycja obiektu high-low water sensor A High-low water sensor High sensor Pr Sensor high IH HLW controller Pump not safe Operator console Sensor low IH Alarm reason Low sensor Water mark Motor Pump status S HLW handler Data logger Start Water mark 16
17 Przykład specyfikacja obiektu motor -- atrybuty czasu rzeczywistego: package motor_rtatt is ceiling_priority: constant := 6; end motor_rtatt; -- interfejs obiektu motor: package motor is -- PROTECTED type pump_status is (on, off); type pump_condition is (enabled, disabled); type motor_state_changes is (motor_started, motor_stopped, motor_safe, motor_unsafe); PUMP_NOT_SAFE : exception; procedure not_safe; procedure is_safe; function request_status return pump_status; procedure set_pump(to : pump_status); end motor; 17
18 Przykład diagram stanów dla obiektu motor On Disabled not safe is safe On Enabled Set pump (On) Set pump (On) Set pump (Off) Set pump (Off) Off Disabled not safe is safe Off Enabled 18
19 Przykład definicja dostępu do rejestrów sterujących silnika package device_register_types is word : constant := 2; -- two bytes in a word one_word : constant := 16; bits in a word -- register field types type device_error is (clear, set); type device_operation is (clear, set); type interrupt_status is (I_disabled, I_enabled); type device_status is (D_disabled, D_enabled); -- register type itself type csr is record error_bit : device_error; operation : device_operation; done : boolean; interrupt : interrupt_status; device : device_status; end record; 19
20 Przykład definicja dostępu do rejestrów sterujących silnika -- bit representation of the register field for device_error use (clear => 0, set => 1); for device_operation use (clear => 0, set => 1); for interrupt_status use (I_disabled => 0, I_enabled => 1); for device_status use (D_disabled => 0, D_enabled => 1); for csr use record at mod word; error_bit at 0 range ; operation at 0 range ; done at 0 range 7.. 7; interrupt at 0 range 6.. 6; device at 0 range 0.. 0; end record; for csr'size use one_word; end device_register_types; 20
21 Przykład implementacja obiektu motor with CH4_status; use CH4_status; with device_register_types; use device_register_types; with system; use system; with motor_rtatt; use motor_rtatt; package body motor is -- define control and status register -- for the motor --Control_reg_addr : constant Address := 16#AA14#; pcsr : device_register_types.csr := (error_bit => clear, operation => set, done => false, interrupt => I_enabled, device => D_enabled); --for pcsr'address use Control_reg_addr; 21
22 Przykład implementacja obiektu motor protected Agent is PRAGMA PRIORITY(motor_rtatt. ceiling_priority); procedure not_safe; procedure is_safe; function request_status return pump_status; procedure set_pump(to : pump_status); private motor_status : pump_status := off; motor_condition : pump_condition := enabled; end Agent; 22
23 procedure not_safe is begin Agent.not_safe; end not_safe; Przykład implementacja obiektu motor procedure is_safe is begin Agent.is_safe; end is_safe; function request_status return pump_status is begin return Agent.request_status; end request_status; procedure set_pump(to : pump_status) is begin Agent.set_pump(to); end set_pump; 23
24 Przykład implementacja obiektu motor protected body Agent is procedure not_safe is begin if motor_status = on then pcsr.operation := clear; -- turn off motor end if; motor_condition := disabled; data_logger.motor_log(motor_unsafe); end not_safe; procedure is_safe is begin if motor_status = on then pcsr.operation := set; -- start motor data_logger.motor_log(motor_started); motor_condition := enabled; end if; data_logger.motor_log(motor_safe); end is_safe; 24
25 Przykład implementacja obiektu motor function request_status return pump_status is begin return motor_status; end request_status; 25
26 Przykład implementacja obiektu motor procedure set_pump(to : pump_status) is begin if to = on then if motor_status = off or motor_condition = disabled then if CH4_status.read = motor_safe then -- Environment_Monitor.Check_Safe motor_status := on; motor_condition := enabled; pcsr.operation := set; -- turn on motor data_logger.motor_log(motor_started); elsif motor_condition = disabled then raise pump_not_safe; end if; end if; else if motor_status = on then pcsr.operation := clear; -- turn off motor motor_status:= off; data_logger.motor_log(motor_stopped); end if; end if; end set_pump; end Agent; end motor; 26
27 Przykład specyfikacja obiektu waterflow sensor -- ustawienia czasu rzeczywistego: with system; use system; with Ada.Real_time; use Ada.Real_time; package water_flow_sensor_rtatt is period : Time_Span := To_Time_Span(60.0); thread_priority : constant priority := 2; end water_flow_sensor_rtatt; -- specyfikacja pakietu: package water_flow_sensor is -- CYCLIC pragma elaborate_body; type water_flow is (yes, no); -- calls Operator_Console.Alarm -- calls Data_Logger.Water_Flow_Log -- calls Motor.Request_Status end water_flow_sensor; 27
28 Przykład implementacja obiektu waterflow sensor with Ada.Real_Time; use Ada.Real_Time; with device_register_types; use device_register_types; with system; use system; with water_flow_sensor_rtatt; use water_flow_sensor_rtatt; with motor; use motor; with operator_console; use operator_console; with data_logger; use data_logger; package body water_flow_sensor is flow : Water_flow := No; current_pump_status, last_pump_status : pump_status := off; -- define control and status register -- for the flow switch -- define control and status register -- for the motor -- Control_reg_addr : constant Address := 16#AA14#; wfcsr : device_register_types.csr; -- for wfcsr'address use Control_reg_addr; 28
29 Przykład implementacja obiektu waterflow sensor procedure initialise is begin -- enable device wfcsr.device := D_enabled; end initialise; procedure PERIODIC_CODE is begin current_pump_status := motor.request_status; if (wfcsr.operation = set) then flow := yes; else flow := no; end if; if current_pump_status = on and last_pump_status = on and flow = no then operator_console.alarm(pump_dead); elsif current_pump_status = off and last_pump_status = off and flow = yes then operator_console.alarm(pump_dead); end if; last_pump_status := current_pump_status; data_logger.water_flow_log(flow); end PERIODIC_CODE; 29
30 Przykład implementacja obiektu waterflow sensor task THREAD is pragma priority(water_flow_sensor_rtatt.thread_priority); end thread; task body THREAD is T: TIME; PERIOD : time_span := water_flow_sensor_rtatt.period; begin T:= clock; initialise; loop periodic_code; T := T + PERIOD; delay until(t); end loop; end THREAD; end water_flow_sensor; 30
31 Przykład specyfikacja obiektu HLW controller -- specyfikacja ograniczeń czasu rzeczywistego: with system; use system; with Ada.Real_time; use Ada.Real_time; package HLW_controller_RTATT is -- for PROTECTED objects ceiling_priority : constant priority := 9; end HLW_controller_RTATT; -- specyfikacja pakietu zawierającego procedury obsługi -- przerwań: with HLW_controller_rtatt; use HLW_controller_rtatt; package HLW_controller is -- PROTECTED procedure sensor_high_ih; procedure sensor_low_ih; end HLW_controller; 31
32 Przykład implementacja obiektu HLW controller with HLW_handler; use HLW_handler; with system; use system; -- with Ada.Interrupts; use Ada.Interrupts; -- with Ada.Interrupts.Names; use Ada.Interrupts.Names; package body HLW_controller is protected Agent is PRAGMA PRIORITY(HLW_controller_rtatt. ceiling_priority); procedure sensor_high_ih; --pragma Attach_Handler(sensor_high_IH, WaterH_Interrupt); -- assigns interrupt handler procedure sensor_low_ih; --pragma Attach_handler(sensor_low_IH, WaterL_Interrupt); -- assigns interrupt handler private end Agent; 32
33 Przykład implementacja obiektu HLW controller procedure sensor_high_ih is begin Agent.sensor_high_IH; end sensor_high_ih; procedure sensor_low_ih is begin Agent.sensor_low_IH; end sensor_low_ih; protected body Agent is procedure sensor_high_ih is begin HLW_handler.START(high); end sensor_high_ih; procedure sensor_low_ih is begin HLW_handler.START(low); end sensor_low_ih; end Agent; end HLW_controller; 33
34 Przykład specyfikacja obiektu HLW handler -- ograniczenia czasu rzeczywistego: with system; use system; with Ada.Real_time; use Ada.Real_time; package HLW_handler_RTATT is ceiling_priority : constant priority := 11; thread_priority : constant priority := 6; MAT : Time_Span := To_Time_Span(100.0); end HLW_handler_RTATT; -- sporadyczny obiekt zwracający stan czujników poziomu wody with HLW_handler_rtatt; use HLW_handler_rtatt; with Ada.Real_Time; use Ada.Real_Time; package HLW_handler is -- SPORADIC type water_mark is (high, low); procedure START(int : water_mark); end HLW_handler; 34
35 Przykład implementacja obiektu HLW handler with device_register_types; use device_register_types; with system; use system; with motor; use motor; with data_logger; package body HLW_handler is -- define control and status registers -- for the high and low water switches --HW_Control_reg_addr : constant Address := 16#AA10# --LW_Control_reg_addr : constant Address := 16#AA12# hwcsr : device_register_types.csr; --for hwcsraddress use HW_Control_reg_addr; lwcsr : device_register_types.csr; --for lwcsr'address use LW_Control_reg_addr; -- procedure initialise is separate; -- procedure sporadic_code(int : water_mark) is separate; 35
36 Przykład implementacja obsługi przerwań (HLW handler) procedure sporadic_code(int : water_mark) is begin if int = high then motor.set_pump(on); data_logger.high_low_water_log(high); else motor.set_pump(off); data_logger.high_low_water_log(low); end if; end sporadic_code; 36
37 Przykład implementacja obsługi przerwań (HLW handler) procedure initialise is begin hwcsr.device :=D_enabled; hwcsr.interrupt := I_enabled; lwcsr.device :=D_enabled; lwcsr.interrupt := I_enabled; end initialise; task thread is pragma PRIORITY(HLW_handler_rtatt. thread_priority); end thread; 37
38 Przykład implementacja obsługi przerwań (HLW handler) protected Agent is pragma PRIORITY(HLW_handler_rtatt. ceiling_priority); -- for the Start operation procedure START(int : water_mark); entry WAIT_START(int : out water_mark); private START_OPEN : BOOLEAN := FALSE; W : water_mark; end Agent; procedure START(int : water_mark) is begin Agent.START(int); end start; 38
39 Przykład implementacja obsługi przerwań (HLW handler) protected body Agent is procedure START(int : water_mark) is begin W := int; START_OPEN := TRUE; end START; entry WAIT_START(int : out water_mark) when START_OPEN is begin int := W; START_OPEN := FALSE; end WAIT_START; end Agent; task body thread is int : water_mark; begin initialise; loop Agent.WAIT_START(int); sporadic_code(int); end loop; end THREAD; end HLW_handler; 39
40 Przykład hierarchiczna dekompozycja obiektu Environment monitor A Environment monitor Check safe read Pr CH 4 status C CH4 sensor CH 4 status Pump Controller write Alarm reason CH 4 status C Air flow sensor Alarm reason Operator console Air flow CH 4 reading C CO sensor Alarm reason Data logger CO reading 40
41 Przykład obiekt CH4 status with system; use system; with Ada.Real_time; use Ada.Real_time; package ch4_status_rtatt is -- for PROTECTED objects ceiling_priority : constant priority := 7; end ch4_status_rtatt; with CH4_status_rtatt; use CH4_status_rtatt; package CH4_status is -- PROTECTED type methane_status is (motor_safe, motor_unsafe); function read return methane_status; procedure write (current_status : methane_status); end CH4_status; 41
42 Przykład obiekt CH4 status package body CH4_status is protected Agent is PRAGMA PRIORITY(ch4_status_rtatt. ceiling_priority); procedure write (current_status : methane_status); function read return methane_status; private environment_status : methane_status := motor_unsafe; end Agent; function read return methane_status is begin return Agent.read; end read; procedure write (current_status : methane_status) begin Agent.write(current_status); end write; is 42
43 Przykład obiekt CH4 status protected body Agent is procedure write (current_status : methane_status) is begin environment_status := current_status; end write; function read return methane_status is begin return environment_status; end read; end Agent; end CH4_status; 43
44 Przykład obiekt CH4 sensor handling with system; use system; with Ada.Real_time; use Ada.Real_time; package ch4_sensor_rtatt is period : Time_Span := To_Time_Span(5.0); offset : Time_Span := To_Time_Span(0.0); thread_priority : constant priority := 5; end ch4_sensor_rtatt; package CH4_sensor is -- CYCLIC pragma elaborate_body; type CH4_reading is new integer range ; CH4_HIGH : constant CH4_READING := 400; -- calls Motor.Is_Safe -- calls Motor.Not_Safe -- calls Operator_Console.Alarm -- calls Data_Logger.Ch4_Log end CH4_sensor; 44
45 Przykład obiekt CH4 sensor handling with Ada.Real_Time; use Ada.Real_Time; with system; use system; with ch4_sensor_rtatt; use ch4_sensor_rtatt; with device_register_types; use device_register_types; with operator_console; use operator_console; with motor; use motor; with data_logger; use data_logger; with ch4_status; use ch4_status; package body CH4_sensor is CH4_present : ch4_reading; -- define control and status register for the CH4 ADC -- Control_reg_addr : constant Address := 16#AA18# -- Data_reg_addr : constant Address := 16#AA1A# CH4csr : device_register_types.csr; --for CH4csr'address use Control_reg_addr; -- define the data register CH4dbr : ch4_reading; --for CH4dbraddress use Data_reg_addr; JITTER_RANGE : constant ch4_reading := 40; now : TIme; 45
46 Przykład obiekt CH4 sensor handling procedure initialise is begin -- enable device CH4csr.device := D_enabled; end initialise; 46
47 Przykład obiekt CH4 sensor handling procedure PERIODIC_CODE is begin CH4csr.operation := set; -- start conversion now := clock; -- wait for conversion loop exit when clock >= now + Milliseconds(100); end loop; if not CH4csr.done then operator_console.alarm(ch4_device_error); else CH4_present := CH4dbr; if CH4_present > CH4_HIGH then if CH4_status.read = motor_safe then motor.not_safe; CH4_status.write(motor_unsafe); operator_console.alarm(high_methane); end if; elsif (CH4_present < (CH4_HIGH - jitter_range)) and (CH4_status.read = motor_unsafe) then motor.is_safe; CH4_status.write(motor_safe); end if; data_logger.ch4_log(ch4_present); end if; end PERIODIC_CODE; 47
48 Przykład obiekt CH4 sensor handling task THREAD is PRAGMA PRIORITY(ch4_sensor_rtatt. thread_priority); end thread; task body THREAD is T: TIME; PERIOD : Time_span := ch4_sensor_rtatt.period; begin T:= clock; initialise; loop PERIODIC_CODE; T := T + PERIOD; delay until(t); end loop; end THREAD; end CH4_sensor; 48
49 Przykład uzupełnienie Opis sytemu należałoby uzupełnić implementacjami obiektów: Air flow sensor CO sensor Data logger Operator console Konstrukcja obiektów Air flow sensor i CO sensor jest podobna do obiektu CH sensor. Nie komunikują się one tylko z obiektem chronionym w celu udostępnienia danych innym składnikom systemu. Interfejsy do obiektów data logger i operator console zostaną podane na następnych slajdach. Dokładniejsze studium omawianego przykładu można znaleźć w: Burns A., Wellings A.: Real-Time Systems and Programming Languages,Pearson Education Limited Burns A., Wellings A.: HRT-HOOD: A Structured Design Method for Hard Real-Time Ada Systems, Elsevier
50 Przykład uzupełnienie interfejs do obiektu data logger with CO_sensor; use CO_sensor; with CH4_sensor; use CH4_sensor; with air_flow_sensor; use air_flow_sensor; with HLW_handler; use HLW_handler; with water_flow_sensor; use water_flow_sensor; with motor; use motor; package data_logger is -- ACTIVE procedure CO_log(reading : CO_reading); procedure CH4_log(reading : CH4_reading); procedure air_flow_log(reading : air_flow_status); procedure high_low_water_log(mark : water_mark); procedure water_flow_log(reading : water_flow); procedure motor_log(state : motor_state_changes); end data_logger; 50
51 Przykład uzupełnienie interfejs do obiektu operator console package operator_console is -- ACTIVE type alarm_reason is (HIGH_METHANE, HIGH_CO, NO_AIR_FLOW, CH4_DEVICE_ERROR, CO_DEVICE_ERROR, PUMP_DEAD, UNKNOWN_ERROR); procedure alarm(reason: alarm_reason; Name : String := "Unknown"; Details : STRING:= ""); -- calls Request_Status in Pump_Controller -- calls Set_Pump in Pump_Controller end operator_console; 51
Programowanie systemów czasu rzeczywistego laboratorium. Ćwiczenie 2. Temat zajęć: pakiety, zadania, synchronizacja czasowa, mechanizm spotkań
Programowanie systemów czasu rzeczywistego laboratorium Ćwiczenie 2 Temat zajęć: pakiety, zadania, synchronizacja czasowa, mechanizm spotkań Autor: dr inż. Sławomir Samolej Zagadnienie 1. (Przykładowe
Ada-95. Dariusz Wawrzyniak
Część I Wskaźniki Plan Typy wskaźnikowe i obiekty wskazywane 1 Typy wskaźnikowe i obiekty wskazywane 2 3 4 Plan Typy wskaźnikowe i obiekty wskazywane 1 Typy wskaźnikowe i obiekty wskazywane 2 3 4 Wskaźniki
Komputerowe systemy sterowania
Komputerowe systemy sterowania Jerzy Nawrocki www.cs.put.poznan.pl/jnawrocki/wdi Start promu kosmicznego Discovery Systemy sterowania (2) Sterowanie w oparciu o gwiazdy Systemy sterowania (3) Sterowanie
Ada95 przetwarzanie rozproszone
Ada95 przetwarzanie rozproszone 1. Model systemu rozproszonego 2. Partycje i jednostki kompilacji 3. Glade narzędzie gnatdist język opisu konfiguracji 4. Przykład programu rozproszonego Model systemu rozproszonego
Ada95 przetwarzanie rozproszone
1 Ada95 przetwarzanie rozproszone 1. Model systemu rozproszonego 2. Partycje i jednostki kompilacji 3. Glade narzędzie gnatdist język opisu konfiguracji 4. Przykład programu rozproszonego 2 węzeł Model
w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze
w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze Cechy bloków nazwanych: w postaci skompilowanej trwale przechowywane na serwerze wraz z danymi wykonywane na żądanie użytkownika lub w
Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu
Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji
PODSTAWY BAZ DANYCH 13. PL/SQL
PODSTAWY BAZ DANYCH 13. PL/SQL 1 Wprowadzenie do języka PL/SQL Język PL/SQL - rozszerzenie SQL o elementy programowania proceduralnego. Możliwość wykorzystywania: zmiennych i stałych, instrukcji sterujących
Wyjątki - wprowadzenie
Wyjątki - wprowadzenie Wymaganie nieprzerwanego działania jest dla systemów czasu rzeczywistego podstawowe. Wszelkie nietypowe sytuacje, w których znajduje się program, muszą być obsłużone, po czym działanie
Wstęp do programowania 2
Wstęp do programowania 2 wykład 10 Zadania Agata Półrola Wydział Matematyki UŁ 2005/2006 http://www.math.uni.lodz.pl/~polrola Współbieżność dotychczasowe programy wykonywały akcje sekwencyjnie Ada umożliwia
Wstęp do programowania. Różne różności
Wstęp do programowania Różne różności Typy danych Typ danych określa dwie rzeczy: Jak wartości danego typu są określane w pamięci Jakie operacje są dozwolone na obiektach danego typu 2 Rodzaje typów Proste
Programowanie RAD Delphi
Programowanie RAD Delphi Dr Sławomir Orłowski Zespół Fizyki Medycznej, Instytut Fizyki, Uniwersytet Mikołaja Kopernika w Toruniu Pokój: 202, tel. 611-32-46, e-mial: bigman@fizyka.umk.pl Delphi zasoby Aplikacje
Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje.
Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje. 1. W języku VHDL zdefiniowano mechanizm odczytywania i zapisywania danych z i do plików. Pliki te mogą być wykorzystywane
JAVA W SUPER EXPRESOWEJ PIGUŁCE
JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie
DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0
Uwaga: DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0 1. Zostały pominięte diagramy: CYFRA, CYFRA SZESNASTKOWA, ZNAK i LITERA. Nie została uwzględniona możliwość posługiwania się komentarzami. 2. Brakuje
Programowanie 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
Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki.
Pakiety Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki. Pakiet składa się ze: specyfikacji (interfejsu) i ciała (implementacji). W specyfikacji mieszczą
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++)
Język PL/SQL Procedury i funkcje składowane
Język PL/SQL Procedury i funkcje składowane Podprogramy, procedury i funkcje składowane, typy argumentów, wywoływanie procedur i funkcji, poziomy czystości funkcji 1 Podprogramy Procedury (wykonują określone
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
Diagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com
Diagramy klas dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com O czym będzie? Notacja Ujęcie w różnych perspektywach Prezentacja atrybutów Operacje i metody Zależności Klasy aktywne,
PL/SQL. Zaawansowane tematy PL/SQL
PL/SQL Zaawansowane tematy PL/SQL Cele Poznanie złożonych i referencyjnych typów danych Poznanie konstrukcji kursora Poznanie kodu składowanego Poznanie procedur i funkcji 2 Złożone typy danych RECORD
Ada 95 #1/5 - typy. Typy skalarne. Hierarchia typów w Adzie. Typ znakowy. Typy dyskretne. Plan wykładu
Plan wykładu Ada 95 #1/5 - typy Wojciech Complak, Instytut Informatyki, Politechnika Poznańska e-mail : Wojciech.Complak@cs.put.poznan.pl www : http://www.cs.put.poznan.pl/wcomplak Hierarchia typów w Adzie
Elementy języka VHDL. obiekty typy danych atrybuty pakiety i biblioteki instrukcje współbieżne instrukcje sekwencyjne. PUE-w3 1
Elementy języka VHDL obiekty typy danych atrybuty pakiety i biblioteki instrukcje współbieżne instrukcje sekwencyjne PUE-w3 1 Obiekty (sygnały, zmienne, stałe, pliki) Obiekty służą do zapisu i pamiętania
Pakiety podprogramów Dynamiczny SQL
Pakiety podprogramów Dynamiczny SQL Pakiety podprogramów, specyfikacja i ciało pakietu, zmienne i kursory pakietowe, pseudoinstrukcje (dyrektywy kompilatora), dynamiczny SQL 1 Pakiety Pakiet (ang. package)
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
Materiały. Technologie baz danych. Plan wykładu Kursory. Wykład 5: Kursory jawne. Podprogramy. Kursory jawne. Kursory niejawne
Materiały dostępne są na stronie: Materiały Technologie baz danych aragorn.pb.bialystok.pl/~gkret Wykład 5: Kursory jawne. Podprogramy. Małgorzata Krętowska Wydział Informatyki Politechnika Białostocka
Procedury i funkcje składowane
Procedury i funkcje składowane Zmienne podstawienia i zmienne wiązane, podprogramy, procedury składowane, typy argumentów, wywoływanie procedur, funkcje składowane, poziomy czystości funkcji, funkcje tablicowe
Modelowanie złożonych układów cyfrowych (1)
Modelowanie złożonych układów cyfrowych () funkcje i procedury przykłady (przerzutniki, rejestry) style programowania kombinacyjne bloki funkcjonalne bufory trójstanowe multipleksery kodery priorytetowe
Wstęp do programowania
Wstęp do programowania wykład 2 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Język programowania Każdy język ma swoją składnię: słowa kluczowe instrukcje
Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780
Dane techniczne : Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 a) wielkość bufora znaków (DD RAM): 80 znaków (80 bajtów) b) możliwość sterowania (czyli podawania kodów znaków) za pomocą
Programowanie obiektowe w VB cz 2
Programowanie obiektowe w VB cz 2 Interfejsy Interfejsy są listą metod, właściwości, zdarzeń i indeksowników. Jeśli jakaś klasa implementuje jakiś interfejs, znaczy to, że użytkownik tej klasy może skorzystać
Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].
ABAP/4 Instrukcja IF Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. [ELSEIF warunek. ] [ELSE. ] ENDIF. gdzie: warunek dowolne wyrażenie logiczne o wartości
Kurs 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,
Mechanizmy komunikacji. spotkania symetryczne (język CSP) spotkania asymetryczne (Ada) przestrzenie krotek (Linda) potoki, komunikaty i kanały (Unix)
Mechanizmy komunikacji spotkania symetryczne (język CSP) spotkania asymetryczne (Ada) przestrzenie krotek (Linda) potoki, komunikaty i kanały (Unix) Język CSP Hoare (1978r.) Communicating Sequential Processes
SYLABUS/KARTA PRZEDMIOTU
PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W GŁOGOWIE SYLABUS/KARTA PRZEDMIOTU. NAZWA PRZEDMIOTU Systemy czasu rzeczywistego w automatyce i robotyce. NAZWA JEDNOSTKI PROWADZĄCEJ PRZEDMIOT Instytut Politechniczny
Efekty uboczne błędów
Obsługa wyjątków Efekty uboczne błędów Fragment kodu programu jest bezpieczny (ang. exception-safe) jeżeli błędy, które wystąpią w trakcie przetwarzania tego kodu nie będą powodowały niepożądanych efektów
Język PL/SQL. Rozdział 5. Pakiety podprogramów. Dynamiczny SQL
Język PL/SQL. Rozdział 5. Pakiety podprogramów. Dynamiczny SQL Pakiety podprogramów, specyfikacja i ciało pakietu, zmienne i kursory pakietowe, pseudoinstrukcje (dyrektywy kompilatora), dynamiczny SQL.
15. Funkcje i procedury składowane PL/SQL
15. Funkcje i procedury składowane PLSQL 15.1. SQL i PLSQL (Structured Query Language - SQL) Język zapytań strukturalnych SQL jest zbiorem poleceń, za pomocą których programy i uŝytkownicy uzyskują dostęp
Język PL/SQL Pakiety podprogramów
Język PL/SQL Pakiety podprogramów Pakiety podprogramów, specyfikacja i ciało pakietu, zmienne i kursory pakietowe, pseudoinstrukcje (dyrektywy kompilatora) 1 Pakiety Pakiet (ang. package) grupuje powiązane
Komputery klasy PC. Dariusz Chaberski
Komputery klasy PC Dariusz Chaberski Start systemu adres 0xFFFF:0x0000 POST (ang. Power On Self Test) sprawdzenie zmiennej BIOSu 0x0040:0x0072-0x1234 - zimny start (RESET, włączenie zasilania), gorący
ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko. Typy rozproszonych baz danych. Systemy klient-serwer. Klient-serwer: Przykład
ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko Typy rozproszonych baz Systemy typu klient-serwer (jeden serwer) Jednorodna rozproszona baza (kilka serwerow, jeden system zarzadzania baza ) Niejednorodna
Wyzwalacze. Anna Fiedorowicz Bazy danych 2
Wyzwalacze Wyzwalacze są specjalnymi procedurami składowanymi, uruchamianymi automatycznie w następstwie zaistnienia określonego typu zdarzenia. Ich główne zadanie polega na wymuszaniu integralności danych
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
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,
Bloki anonimowe w PL/SQL
Język PL/SQL PL/SQL to specjalny język proceduralny stosowany w bazach danych Oracle. Język ten stanowi rozszerzenie SQL o szereg instrukcji, znanych w proceduralnych językach programowania. Umożliwia
Procedury składowane. Funkcje vs. procedury Funkcja. Procedura. zazwyczaj ma parametry tylko typu IN; można wywoływać z poziomu
Procedury składowane Kolejnym typem programu języka PL/SQL są procedury składowane. Procedury mogą posiadać parametry typu IN, OUT lub IN OUT. Umożliwiają wykonanie operacji na danych w bazie, mogą też
Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki
Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu
Technologie i usługi internetowe cz. 2
Technologie i usługi internetowe cz. 2 Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 15 luty 2014 r. 1 Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania,
Ada pakiety ogólna struktura
Ada pakiety ogólna struktura -- Specyfikacja pakietu: package Nazwa is [Deklaracje_Stałych] [Deklaracje_Typów] [Deklaracje_Zmiennych] [Specyfikacje_Podprogramów] [private [Deklaracje_Stałych] [Deklaracje_Typów]
Programowanie obiektowe
Programowanie obiektowe Język programowania Ruby Marcin Młotkowski 12 kwietnia 2018 Plan wykładu 1 Wstęp 2 Typy numeryczne Łańcuchy znaków (klasa String) Przedziały Tablice i tablice asocjacyjne Nazwy
SQL 4 Structured Query Lenguage
Wykład 5 SQL 4 Structured Query Lenguage Instrukcje sterowania danymi Bazy Danych - A. Dawid 2011 1 CREATE USER Tworzy nowego użytkownika Składnia CREATE USER specyfikacja użytkownika [, specyfikacja użytkownika]...
Oracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 4 Wyjątki PL/SQL Mechanizmy dotyczące błędów Typy wyjątków Obsługa wyjątków PL/SQL Obsługa błędów predefiniowanych, użytkownika
OPERACJE NA PLIKACH. Podstawowe pojęcia:
OPERACJE NA PLIKACH Podstawowe pojęcia: plik fizyczny, zbiór informacji w pamięci zewnętrznej wykorzystywany do trwałego przechowywania danych lub jako przedłużenie pamięci operacyjnej w przypadku przetwarzania
Technologie obiektowe
WYKŁAD dr inż. Paweł Jarosz Instytut Informatyki Politechnika Krakowska mail: pjarosz@pk.edu.pl LABORATORIUM dr inż. Paweł Jarosz (3 grupy) mgr inż. Piotr Szuster (3 grupy) warunki zaliczenia Obecność
Języki opisu sprzętu VHDL Mariusz Rawski
CAD Języki opisu sprzętu VHDL rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ Języki opisu sprzętu System cyfrowy może być opisany na różnych poziomach abstrakcji i z wykorzystaniem różnych sposobów
Podstawy Programowania semestr drugi. Wykład czternasty
Wykład czternasty 1. Polimorfizm Ostatni wykład zakończyliśmy stwierdzeniem, że możemy obiektowi dowolnej klasy przypisa ć obiekt klasy dziedziczącej po tej klasie. Przypisanie takie obejmuje jednak jedynie
PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO
PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO Dr inż. Bartosz Trybus D202 C, tel: 865 1685 email: btrybus@prz-rzeszow.pl www: mail.prz-rzeszow.pl/~btrybus Dr inż. Sławomir Samolej D102 C, tel: 865 1766, email:
Aby w pełni przetestować układ o trzech wejściach IN_0, IN_1 i IN_2 chcemy wygenerować wszystkie możliwe kombinacje sygnałów wejściowych.
Generowanie sygnałów testowych VHDL Wariant współbieżny (bez procesu): sygnał
Wykorzystywanie 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
procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak
Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Abstrakcja programowania współbieżnego Instrukcje atomowe i ich przeplot Istota synchronizacji Kryteria poprawności programów współbieżnych
Wstęp do programowania 2
Wstęp do programowania 2 wykład 6 typy dostępu c.d Agata Półrola Wydział Matematyki UŁ 2005/2006 http://www.math.uni.lodz.pl/~polrola Przykład wykorzystania typów dostępu zob. pakiet rodzajowy listapak
Programowanie 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
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
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
Laboratorium 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
Podstawy Programowania Obiektowego
Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja
Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
Cheatsheet PL/SQL Andrzej Klusiewicz 1/9
Declare y integer; z varchar2(50); d date; null; Declare x integer:=10; null; x integer; x:=10; dbms_output.put_line('hello world'); for x in 1..10 loop Deklaracja 4 zmiennych. Jednej typu rzeczywistego,
Wstęp do programowania 2
Wstęp do programowania 2 wykład 2 pliki tekstowe i binarne Agata Półrola Wydział Matematyki UŁ 2005/2006 http://www.math.uni.lodz.pl/~polrola Pliki wewnętrzne i zewnętrzne Dotychczas przy pobieraniu danych
Procesory rodziny x86. Dariusz Chaberski
Procesory rodziny x86 Dariusz Chaberski 8086 produkowany od 1978 magistrala adresowa - 20 bitów (1 MB) magistrala danych - 16 bitów wielkość instrukcji - od 1 do 6 bajtów częstotliwośc pracy od 5 MHz (IBM
Podstawy programowania III WYKŁAD 4
Podstawy programowania III WYKŁAD 4 Jan Kazimirski 1 Podstawy UML-a 2 UML UML Unified Modeling Language formalny język modelowania systemu informatycznego. Aktualna wersja 2.3 Stosuje paradygmat obiektowy.
Detekcja zakleszczenia (1)
Detekcja zakleszczenia (1) Wykład prowadzą: Jerzy Brzeziński Jacek Kobusiński Plan wykładu Procesy aktywne i pasywne Definicja zakleszczenia Problem detekcji wystąpienia zakleszczenia Detekcja zakleszczenia
Współ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
typ zakres sposob zapamietania shortint integer bajty (z bitem znaku) longint byte word
Pascal - powtórka Alfabet, Nazwy W odróŝnieniu do C w Pascal nie odróŝnia małych i duŝych liter. Zapisy ALA i ala oznaczają tę samą nazwę. Podobnie np. słowo kluczowe for moŝe być zapisane: FOR. W Pascalu
Podstawy Programowania ELEMENTY PROGRAMU i TYPY DANYCH
Podstawy Programowania ELEMENTY PROGRAMU i TYPY DANYCH Michał Bujacz bujaczm@p.lodz.pl B9 Lodex 207 godziny przyjęć: środy i czwartki 10:00-11:00 http://www.eletel.p.lodz.pl/bujacz/ 1 Pytania weryfikacyjne:
Oracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 8 Wprowadzenie Definiowanie typu obiektowego Porównywanie obiektów Tabele z obiektami Operacje DML na obiektach Dziedziczenie -
Programowanie współbieżne i rozproszone - Ada. EAIiE Katedra Automatyki
Programowanie współbieżne i rozproszone - Ada EAIiE Katedra Automatyki 2011 Hello Ada with Ada.Text_Io;use Ada.Text_Io; procedure Main is type MyInt is range 1..6; begin Put_Line("witaj Ada"); for I in
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
Programowanie strukturalne
Programowanie strukturalne wykład pliki tekstowe Agata Półrola Wydział Matematyki UŁ sem. letni 2011/2012 http://www.math.uni.lodz.pl/~polrola Pliki wewnętrzne i zewnętrzne Dotychczas przy pobieraniu danych
Przykładowa implementacja
Wzorce projektowe, cz. 10 Facade Fasada służy do ujednolicenia dostępu do złożonego systemu poprzez udostępnienie uproszczonego i uporządkowanego interfejsu programistycznego. Fasada zwykle implementowana
Programowanie współbieżne i rozproszone
Programowanie współbieżne i rozproszone WYKŁAD 11 dr inż. CORBA CORBA (Common Object Request Broker Architecture) standard programowania rozproszonego zaproponowany przez OMG (Object Management Group)
Oracle Developer Suite. Budowa aplikacji użytkownika końcowego
Oracle Developer Suite Budowa aplikacji użytkownika końcowego Składniki pakietu Oracle Developer Suite Oracle Forms Builder formularze (aplikacje dostępne z poziomu przeglądarki internetowej, model 3-warstwowy)
Laboratorium 8 Diagramy aktywności
Laboratorium 8 Diagramy aktywności Zofia Kruczkiewicz Zofia Kruczkiewicz Lab_INP002017_8 1 Modelowanie zachowania obiektów za pomocą diagramów aktywności. Modelowanie zachowania obiektów za pomocą diagramów
Programowanie Komputerów
Programowanie Komputerów Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Wykład 30 godzin, Laboratoria 30 godzin 2012/ Strona 1 z 28 1. Tablice w C# Indeksowane od zera
Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 Zofia Kruczkiewicz
Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 http://www.junit.org/ Zofia Kruczkiewicz 1. Aby utworzyć test dla jednej klasy, należy kliknąć prawym przyciskiem myszy w oknie Projects na wybraną
Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 7
Instrukcja 7 Laboratoria 9, 10 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
Projektowanie automatów z użyciem VHDL
Projektowanie automatów z użyciem VHDL struktura automatu i jego modelu w VHDL przerzutnik T jako automat przykłady automatów z wyjściami typu: Moore'a Mealy stanu kodowanie stanów automatu Wykorzystano
Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści
Język programowania DELPHI / Andrzej Marciniak. Poznań, 2012 Spis treści Przedmowa 11 Przyjęta notacja 13 Rozdział 1. Wprowadzenie 15 1.1. Ogólne zasady programowania zorientowanego obiektowo 15 1.2. Historia
USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian
1 / 9 Content list / Spis Treści 1. Hardware and software requirements, preparing device to upgrade Wymagania sprzętowe i programowe, przygotowanie urządzenia do aktualizacji 2. Installing drivers and
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ć
Programowanie obiektowe
Programowanie obiektowe III. Refleksja Małgorzata Prolejko OBI JA16Z03 Plan Klasa Class. Analiza funkcjonalności klasy. Podstawy obsługi wyjątków. Zastosowanie refleksji do analizy obiektów. Wywoływanie
Programowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.
Aplikacje RMI Lab4
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Lab4 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych 1 1. Koncepcja budowy aplikacji RMI (aplikacja rozproszonych
Programowanie obiektowe
Programowanie obiektowe Wykład 5 Marcin Młotkowski 23 marca 2017 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 50 Historia Początkowe założenia Projekt OAK Sterowanie urządzeniami
Zarządzanie sieciami komputerowymi - wprowadzenie
Zarządzanie sieciami komputerowymi - wprowadzenie Model zarządzania SNMP SNMP standardowy protokół zarządzania w sieci Internet stosowany w dużych sieciach IP (alternatywa logowanie i praca zdalna w każdej
Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]
1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie
Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),
Tworzenie obiektów Dostęp do obiektów jest realizowany przez referencje. Obiekty w języku Java są tworzone poprzez użycie słowa kluczowego new. String lan = new String( Lancuch ); Obszary pamięci w których
Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32
Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:
Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego
Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować