Next previous • Realtidsrelaterade nyheter i CORBA 3 • Designmönster med relationer till realtidsprogrammering • Skräpsamling och realtidsprogrammering.

Slides:



Advertisements
Liknande presentationer
Wikinggruppen Presentation av ”WIKING SMS” – Effektivisera din verksamhet.
Advertisements

Mjukvara och nätverk Vad är det?.
Klasser och objekt.
”Ett sätt att distribuera Business Objects via webben”
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 3 ( ) Innehåll: -Namngivna rörledningar -Signaler -Signalhantering.
Next previous XP: varför fungerar det? Något om tentan. Innehåll Introduktion till eXtreme Programming (XP) Varför fungerar XP? Något om tentan Vad ska.
Objektorienterad Realtidsprogrammering
Programmeringsteknik Föreläsning 13 Skolan för Datavetenskap och kommunikation.
Introduktion till IT och e-Tjänster Delkurs 3 1 Datorer i Nätverk En introduktion till ’Hård Infrastruktur’ DEL 1.
Next previous Internetprogrammering 2000 Internetprogrammering 2000 Föreläsning 10 Distribuerad programmering med Javas RMI, Remote Method Invocation.
2D1311 Programmeringsteknik med PBL Föreläsning 7 Skolan för Datavetenskap och kommunikation.
Next previous Refactoring och lite mönster kodade i Java Innehåll Vad är refactoring? Ett större refactoringexempel Några mönster kodade i Java OOMPA 2000.
OOP Objekt-orienterad programmering
Föreläsning 1.
1 Liten summering: 1.Adress: ’ För att logga in på wlanet med bibliotekskortet är lösen = ’1111’. Kortnummer står på kortet! 2.Välj ’Admin’
Arv.
Inkapsling.
Objektorienterad tänkande
Next previous OCTOPUS en kort repetition Farthållare Objektorienterad Realtidsprogrammering 2000 Objektorienterad Realtidsprogrammering 2000 Föreläsning.
Distribuerade filsystem
Introduktion till IT och e-Tjänster Delkurs 3 1 Datorer i Nätverk En introduktion till ’Hård Infrastruktur’ DEL 2.
1 Föreläsning 6 Klass Object, instans av klass public/private Klassvariabler och klassmetoder.
DAV B04 - Databasteknik Indexering (kap 14).
Alice in Action with Java
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 13: I/O-system.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 7: Deadlocks.
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Objektbaserad programmering –Grundläggande om klasser och objekt – (Arv får vänta)  Iden med klasser.
Programmering B PHP Lektion 2
PROCESSPROGRAMMERING
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 7 ( ) Innehåll: -Datakanaler och datakanalpar -Kommunikation på samma dator med datakanaler.
Pekare och speciell programstruktur i inbyggda system
Pointers. int a=5; int f(int b) { a--; b++; return b; } int main() { int a=3; printf("%d,",f(a)); printf("%d",a); return 0; }
Föreläsning 4 Kö Implementerad med array Implementerad med länkad lista Djup kontra bredd Bredden först mha kö.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 4 ( )‏ Innehåll:Trådsäkerhet - Intrinsic locks och synkronisering - Synchronized statements.
Next previous CORBA: vad, varför, hur? Innehåll Datornätverk Behov och krav CORBA Historik, principer, arkitektur och beståndsdelar Exempel i Java Internetprogrammering.
Spam/virus-kontroll 1 Spam/virus-kontroll vid Lunds universitet.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: Trådprogrammering i Java - Avbrott (”interrupts”) - Metoden join() -
UTVECKLING MED RAMVERKET.NET Marcus Medina. Dagens visdomsord ” Ingen vet vad han klarar innan han har försökt. ” - Publilius Syrus (85 f.Kr.-43 f.Kr.).
Projekt och Arkitektur
SWEDISH AGENCY FOR ECONOMIC AND REGIONAL GROWTH 1 4 Bered, fatta och effektuera ärendebeslut 11/ Jana Wahlberg Nyps utbildning- Företagsstöd.
PROCESSPROGRAMMERING Föreläsning ‏ Innehåll: Högnivå objekt för trådprogrammering: - Trådgrupper (”Thread pools”)‏ - Exekverare (Executor.
Next previous Mjukvaruprocessen: översikt och repetition. XP: problemformulering. JUnit. Innehåll Allmännt om utvecklingsprocesser från Bruegge kapitel.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 4 ( ) Innehåll: - Förening av dataströmmar - Signaler - Signalhantering.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Operating Systems Networking for Home and Small Businesses – Chapter.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 8 ( ) INNEHÅLL:Klasser: -Konstruktorer -Klassvariabler -Instansmetoder -Privata.
Next previous Innehåll Del 1-trådar Del 2-URLer Del 1: Trådar Föreläsning 8.
Next previous RMI, Remote Method Invocation Om du har boken av Marty Hall, läs avsnitt 15.8 För fler exempel se:
1 Logging and monitoring of TCP traffic in SSH tunnels Masters thesis Anton Persson.
Lågnivåprogrammering Översikt av I/O-mekanismer i hårdvara Olika språkkrav och modeller för komponent- hantering(device driving) Modeller för komponent-hantering.
Next previous CORBA: vad, varför, hur? Innehåll Datornätverk Behov och krav CORBA Historik, principer, arkitektur och beståndsdelar Exempel i Java Internetprogrammering.
Introduktion till klasser, objekt och BlueJ Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling.
Läsbar prolog CM 8.1. allmäna principer correctness user-friendliness efficiency readability modifiability robustness documentation.
Föreläsning 9 Gränssnitt. Super Super kan användas till anrop av en omdefinierad metod Super kan användas till anrop av konstruktorer i superklassen Super.
Schemaläggning Mål –Att förstå den roll som schemaläggning och schemaläggnings-analys spelar för att förutsäga hur realtids-tillämpningar uppfyller sina.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( )‏ Innehåll:  Introduktion till Java EE (Enterprise Edition)  Enterprise Java Beans.
PROCESSPROGRAMMERING Föreläsning 1 ( )‏ Innehåll: Introduktion till paralellprogrammering (“concurrent programming”)‏ Introduktion till parallellprogrammering.
1 Mjukvaru-utveckling av interaktiva system God utveckling av interaktiva system kräver abstrakt funktionell beskrivning noggrann utvecklingsmetod Slutanvändare.
Lennart Edblom, Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 15: Parallella subrutiner Parallellitet Processer och trådar Semaforer, monitorer.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 15: Parallella subrutiner Parallellitet Processer och trådar Semaforer, monitorer och synkroniseringsmeddelanden.
OOP F5:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 5 Klasser och objekt Skapa objekt - new Referenser Konstruktorer Inkapsling.
Programmeringsteknik för K och Media
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 6 ( )‏ Innehåll:  Att designa parallella program - manuell vs. automatisk parallellisering.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: -Exekveringstrådar.
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Repetition.
Program indata ? utdata 1/20 Vahid Mosavat, Nada, KTH.
Nätverk.
(Skriv överenskommelsens namn här) ÅÅÅÅ-ÅÅÅÅ Slutrapport (…och lägg gärna en bild här, exempelvis kommunloggan) En överenskommelse inom Västra Götalandsregionen.
Jag ser dig – jag ser dig inte! Om hat.
RMI Av: Josefina & Sarah DS04.
Fem varför? Fem varför? är ett enkelt och handfast sätt att hitta rotorsaker! Tänk på att: Svaren ska vara relevanta för problemet och inte vara svepande.
Presentationens avskrift:

next previous • Realtidsrelaterade nyheter i CORBA 3 • Designmönster med relationer till realtidsprogrammering • Skräpsamling och realtidsprogrammering Objektorienterad Realtidsprogrammering 2000 Objektorienterad Realtidsprogrammering 2000 Föreläsning 12 Tisdag 7/6 2000

previous next 2 Corba. Designmönster CORBA 3 (se CORBA 3 (se •Nyheter i CORBA 3 •Internet integration –Firewall –Interoperable Name Service •URLformat –tex, iioploc://

previous next 3 Corba. Designmönster... •Quality of Service Control –Asynkron meddelandesändning och Quality of Service Control •asynkron och tidsoberoende meddelandesändning –Minimal CORBA •För i huvudsak inbäddade system –Fault-Tolerant –Real-Time CORBA •standardiserar resurskontroll, trådning, protokoll, anslutning, etc •använder prioritetsmodeller för att få förutsägbart beteende för både hårda och statistiska realtidsomgivningar

previous next 4 Corba. Designmönster... •CORBACOMPONENTS PACKAGE –CORBAcomponents and CORBAscripting

previous next 5 Corba. Designmönster Object Interconnections •Nytt är –asynchronous method invocation (AMI) –time-independent invocation (TII) –general messaging quality of service (QoS) semantics •Tidigare meddelandespecifikationer –Synkron tvåvägs •skicka fråga vänta på svar •Problem: blockerar tråden under väntan på svar från servern •Går att lösa med flera trådar hos klienten, vilket kan vara bökigt –Envägs •skicka fråga utan att vänta på svar •Problem: ej garanterad leverans, dom flesta ORBar implementerar detta med TCP –Fördröjd synkron •skicka fråga “kör vidare” och polla senare för svar •Problem: kräver Dynamic Invocation Interface (DII), som är lite omständlig

previous next 6 Corba. Designmönster Asynchronous method invocation (AMI) •Ett tvåvägsmeddelande returnerar antingen –Poller •Poller n kan användas för att undersöka status för svaret och läsa detsamma –ReplyHandler •ReplyHandler n skickas med som parameter vid anropet och då svaret klart på servern så anropas denna callback-rutin •Fördelar –En enda tråd kan användas vid flera “överlappande” meddelanden till server

previous next 7 Corba. Designmönster Time-Independent Invocation •För att kunna använda en “lagra-och-vänta”-strategi införs TII •I TII kan man definiera att ett meddelande skall skickas senare eller då, exempelvis, en förbindelse etablerats

previous next 8 Corba. Designmönster Messaging Quality of Service (QoS) •Med denna nya service har vi som programmerare möjlighet att kontrollera bla –Synkroniseringspolicies –Meddelandeprioriteter –Timeout för meddelandesändningar –Routing av meddelanden –Rebind policies •Tex om enkelvägsmeddelande skall ha garanterad leverans eller ej (dvs om synkronisering med servern skall ske eller ej) –Kontrollera ordningen för köade meddelanden

previous next 9 Corba. Designmönster Minimal CORBA •Det finns också ett förlag på minimal CORBA avsedd för inbäddade och realtidssystem •Detta är i dagsläget en nedskalad version av CORBA 2.2

previous next 10 Corba. Designmönster Några designmönster •Nedan följer ett antal designmönster som kan vara av nytta i realtidssystem •Mallarna är medvetet kort-korta för att bara ge en snabb översikt av några mönster •Självklart finns det många andra mönster som kan vara intressanta dessa är bara några korta exempel

previous next 11 Corba. Designmönster Transaction pattern •Syfte –Kontrollera kommunikationen mellan objekt med möjlighet att ange tillförlitlighet •Problem –I ett realtidssystem kan olika meddelanden vara olika kritiska och ha olika tillförlitlighetskrav. Vidare kan olika undeliggande transportmedia vara olika tillförlitliga •Lösning –Skapa speciella objekt som skickar över respektive tar emot meddelanden –Dessa objekt skall kommunicera med varandra för att se om meddelandet kommit fram och behandlats, annars kan sändaren skicka om det hela Douglass2 figur 6-3

previous next 12 Corba. Designmönster Smart Pointer •Syfte –Undvika problem med dumma pekare i tex C++ •Problem –Problemet med pekare är välkänt i C/C++ •dom kan användas innan dom är initierade eller efter minnet dom pekare på frigjorts •vi kan också ha minnesläckor, felaktiga adresser kan användas, osv •Lösning –Skapa en klass med konstruktor och destruktor som indirekt pekar ut minnesadressen Douglass2 figur 6-4

previous next 13 Corba. Designmönster Rendevouz •Syfte –Erbjuda en flexibel mekanism för lättviktig interprocesskommunikation •Problem –Det är inte helt enkelt att synkronisera flera parallella processer •Lösning –Skapa ett speciellt Rendezvous-objekt som olika processer använder för att synkronisera Douglass2 figur 6-8 och 6-9

previous next 14 Corba. Designmönster Några andra mönster i ännu kortare form •Latch (Douglass och Lea bla s 229) –kom ihåg att ett visst tillstånd har inträffat –i Lea används en Latch som bara kan ändras en gång •Watchdog (Douglass ) –gör en kontinuerlig check om process lever (eller omvänt meddela kontinuereligt att process lever) –Om meddelande uteblir: starta om systemet

previous next 15 Corba. Designmönster Skräpsamling i realtidssystem •I Jones och Lins bok Garbage Collection beskrivs flera algoritmer som passar för realtidssystem [se utdelat material] •Dock gör man troligt (avsnitt 8.9) att skräpsamlare för hårda realtidssystem måste ha hårdvarustöd –i enbart mjukvara kommer man ner på i värsta fall ca 50 mikrosekunder för varje atomisk operation men med hårvarustöd kan man nå värsta-fall på 1 mikrosekund (boken skriven 1996) –ett förslag är att använda en speciell hårdvaru-minnesmodul •bla för att hålla ner kostnaderna