Objektorienterad Realtidsprogrammering

Slides:



Advertisements
Liknande presentationer
Fritidshem Elever 2013 Fritidshem - Elever 2013 Enhet:
Advertisements

Seminarieboken Kapitel 4 – Metodmedvetenhet
Objektorienterad Analys och UML En animation i Powerpoint © Kenneth Norrgård Ingår i studieperioden ”Planering av datasystem” vid Vasa Yrkeshögskola.
Att förstå anonymiteten (översättning från
Atomer och kemiska reaktioner
En Dag i Ramadan Ramadan
Utveckla en applikation Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling Fredric Ragnar
Learning Study / Stöd för genomförande och dokumentation
Vattenkemiska data Workshop, maj 2014 Claudia von Brömssen, SLU.
OOMPA 2000 Föreläsning 4 Utvecklingsprocessen en översikt. Lite om kravspecifikationer. CRC-kort. XP som exempel på lättviktigare process.
Relationsdatabasdesign
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning
1 Optimala rundvirkeslager m.h.t. stokastiska leveransvariationer -Lager B Introduktion Peter Lohmander
Introduktion Kort allmän presentation och översikt
Next previous • Realtidsrelaterade nyheter i CORBA 3 • Designmönster med relationer till realtidsprogrammering • Skräpsamling och realtidsprogrammering.
Klasser och objekt.
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.
Leif Håkansson’s Square Dancer Rotation
Systemutvecklingsprocess, hitta objekt och lite Javakodning
Next previous Internetprogrammering 2000 Internetprogrammering 2000 Föreläsning 10 Distribuerad programmering med Javas RMI, Remote Method Invocation.
Objektorienterad Realtidsprogrammering
DCV Idéskiss Design Jag tror att jag ska ha en mörk och stilren design på mitt DCV. Det ska finnas dynamisk funktionalitet där designen byts utan att sidan.
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.
Föreläsning 1.
Objektorienterad tänkande
Next previous OCTOPUS en kort repetition Farthållare Objektorienterad Realtidsprogrammering 2000 Objektorienterad Realtidsprogrammering 2000 Föreläsning.
Next previous Innehåll Inledning Några enkla exempel Pekare till och kort beskrivning av större exempel Speciella referenser (som används i marginalen)
Next previous Lite mer om CGI-programmering Innehåll Vad är CGI? Vad är Forms? Vad är Perl? Forms, CGI och Perl Internetprogrammering F 14 Läs också: Kursboken.
Stora additionstabellen
Modellering med UML
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.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2004 Datastrukturer och algoritmer Föreläsning 3.
Programmering B PHP Lektion 2
PROCESSPROGRAMMERING
Möte beträffande kvalitetsgranskning
Sid 1 CD5250 OOP med C++ Daniel Flemström MDH/IDT Lite OOA/OOD.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 4 ( )‏ Innehåll:Trådsäkerhet - Intrinsic locks och synkronisering - Synchronized statements.
Programmering B PHP Lektion 3
Planering av datasystem (4sv)
DATABASHANTERING för programmerare
TÄNK PÅ ETT HELTAL MELLAN 1-50
Lennart Edblom, Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 6: Semantik Statisk semantik Attributgrammatiker Dynamisk semantik Axiomatisk.
1 Joomla © 2009 Stefan Andersson 1. 2 MÅL 2 3 Begrepp Aktör: en användare som interagerar med webbplatsen. I diagrammet till höger finns två aktörer:
Listor En lista är en föränderlig ordnad samling objekt.
Vaasa Polytechnic1999 / kno / OOA Definiera systemet OOA-Analysdokument - metodöversikt Sid: / Definiera uppgiften A.1.1 Syfte A.1.2Systemdefinition A.1.3Omgivning.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 10: Objektorientering Objektorientering och abstrakta datatyper Dynamisk bindning Singel mot multipelt.
Datamodeller C21.2 Kursansvarig: Eva Lindh
© 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.
Vaasa Polytechnic1999 / kno / OOA Definiera systemet OOA-Analysdokument - metodöversikt Sid: / Definiera uppgiften A.1.1 Syfte A.1.2Systemdefinition A.1.3Omgivning.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Next previous RMI, Remote Method Invocation Om du har boken av Marty Hall, läs avsnitt 15.8 För fler exempel se:
Utvecklingsmetoder och processer. UML och OCTUPUS en kort introduktion
Föreläsning 1. Innehåll Introduktion till objektorientering –OOP (objektorienterad programmering) –Objekt, instanser, klasser C++ –OO i C++ –Standardbibliotek.
Ingenjörsmetodik IT & ME 2008
INFORMATIONSSYSTEM Informationssystem: datoriserat system som stödjer en organisations informationsförsörjning VERKSAMHET avbildar Definitionen alltför.
Strukturering av informationssystem Föreläsningsunderlag
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( )‏ Innehåll:  Introduktion till Java EE (Enterprise Edition)  Enterprise Java Beans.
Formella metoder i MDI Behovet Vad menas med formell? Verktyg Exempel Att läsa: Kapitel 14 i Carroll.
Räkna till en miljard 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,14,15,16,17,18,19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, En miljard är ett.
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Lite OOA/OOD.
1 Mjukvaru-utveckling av interaktiva system God utveckling av interaktiva system kräver abstrakt funktionell beskrivning noggrann utvecklingsmetod Slutanvändare.
När infaller Julafton och hur ofta?
Lite ObjektOrienterad Analys och Design sid. 1 6/1/2015 CD5250 OOP med C++ Mats Medin MDH/IDT Lite OOA/OOD.
Formella metoder i MDI Behovet Vad menas med formell? Verktyg Exempel Att läsa: Kapitel 14 i kursboken.
Föreläsning 1 Introduktion till kursen. Algoritmer
Föreläsning om RUP RUP – Rational Unified Process
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 16.
RMI Av: Josefina & Sarah DS04.
Presentationens avskrift:

Objektorienterad Realtidsprogrammering 2000 Föreläsning 6 OCTOPUS utvecklingsmetod en översikt. Något om kravspecifikationer och systemarkitektur. Några RMI-exempel till

OCTOPUS-metoden en översikt Objektorienterad Hanterar viktiga problem i realtidssystem som parallellitet synkronisering kommunikation avbrottshantering ASICs (Application-Specific Integrated Circuit), kundanpassad hårdvara på chip hårdvarugränssnitt responstider I huvudsak för icke hårda realtidssystem Utgår från OMT och Fusion

Olika faser, en översikt systemkravfas struktur via kontextdiagram funktionalitet och dynamiskt beteende mha användingsfallsdiagram och användningsfall kan kompletteras med scenarier systemarkitekturfas systemstruktur via delsystemdiagram delsystem analysfas görs för varje delsystem delsystem designfas delsystem implementationsfas

Utvecklingsprocessen: mjukvarusystem Systemkravsfas Användningsfall och kontextdiagram Systemarkitektur Delssystem och gränssnitt Delsystem analys Delsystem analys Hårdvaru- wrapper Delsystem design Delsystem design Delsystem implementation Delsystem implementation Delsystem program Delsystem program Wrapper program Systemprogram

Diagram som används i dom olika faserna Tabell 2-1 visar vilka diagram som används i dom olika faserna och abstraktionsnivåerna

Utvecklingsprocessen: delsystem Analys Objektmodell Funktionell modell Dynamisk modell Händelser Klassdiagram Operationslakan Tillståndsdiagram Scenarier Delsystem Design Händelsetrådar Interaktionsmekanismer Objektgrupper Klasskisser Processkisser Meddelandeskisser Delsystem Implementation Klassbeskrivningar Processbeskrivningar Metodbeskrivningar Delsystemprogram

Kravspecifikationsfas I denna fas definieras vad systemet skall göra typiskt infaller mjukvaruspecifikationsfasen efter andra "faser" som tex att bestämma vilken hårdvara som skall användas I OCTOPUS, och i många andra metoder, börjar man med att specificera användningsfall som beskriver hur systemet skall användas man beskriver både externa aktiviteter, tex hur användare använder systemet, och interna, autonoma, aktiviteter I OCTOPUS strukturerar man användningsfallen i ett användningsfallsdiagram (se Awad fig 2-4, s 21)

... I OCTOPUS beskriver man användningsfall på följande tabellform: Se Awad fig 2-5 s 22 för exempel Användningsfall Användningsfallets namn Aktörer Dom som använder detta användningsfall Previllkor Villkor som måste vara uppfyllda innan användningsfallet används Beskrivning Kort beskrivning av användningsfallet, tidsvillkor och möjliga undantag (eng. exceptions) Delanvändingsfall Referenser till ingående användningsfall Undantagshantering Hur reagerar användningsfallet på undantag Aktiviteter Referenser till användningsfall som beskriver aktiviteter som inträffar vid det aktuella användnings- fallets genomförande Postvillkor Villkor som gäller efter användningsfallets genomförande eller vid undantag

... Man kan komplettera tabellen med andra illustrationer, tex UMLs (se föreläsning 2, s 16) I OCTOPUS gör man också ett systemkontextdiagram som visar relationerna mellan systemet och dess omgivning, se Awad fig 2-6 s 23

Systemarkitekturfas Systemet bryts ned på delsystem för att hantera komplexitet och få mer hanterbara enheter utgå från användningsfall och systemkontextdiagram Följ god oo-tradition och gör delsystemen så oberoende av varandra som möjligt Analysera alla delsystem innan design och implementation påbörjas bla för att identifiera gränssnitt och verifiera arkitekturen Undvik att hårdvaran påverkar mjukvarudesignen I OCTOPUS används bla hårdvaurwrappers för att dölja detaljer i hårdvaran, se Awad fig 2-7 s 24

Delsystem analysfas I analysfasen försöker vi göra en konceptuell beskrivnimg av systemet undvik detaljer och konstruktionslösningar Olika delar associeras med varandra, Awad figur 2-8 Vi antar att all bearbetning är momentan och problem relaterade till parallellitet beskrivs senare i designfasen I OCTOPUS (och OMT) pratar man om följande delar i analysen objektmodell-statisk struktur, objekt i domänen, relationer och relevanta attribut funktionell modell-systemets funktionella gränssnitt dynamisk modell-operationer samt reaktiva och realtidsaspekter I UML pratar man om strukturella modeller-som OMTs objektmodeller beteendemodeller-som OMTs dynamiska modeller med inslag av funktionella modeller (samt några nya diagramtyper, tex aktivitetsdiagram)

Objektmodellen OCTUPUS objektmodell beskriver statisk struktur klassdiagram som beskriver klasser och associationer, Awad fig 2-9

Funktionell modell Beskriver funktionella gränssnittet för delsystem Bland annat beskrivs systemets operationer i operationslakan Awad fig 2-10

Dynamisk modell Beskriver operationerna i ett delsystem över "applikationsgränserna", tar hänsyn realtids- och reaktiva aspekter Man analyserar händelser tillstånd undersöker signifikans för händelser och tillstånd kritisk, viktig, möjlig att ignorera, neutral validerar modellen Se fig 2-11 till fig 2-14

Design av delsystem Man analyserar hur objekten interagerar och skapar händelseträd (motsvarar ungefär UMLs samarbetsdigram) Awad fig 2-15 till 2.17 Exempel på implementation från fig 2-17 se listning 2-1 Man grupperar objekten efter om dom kommunicerar synkront eller asynkront med varandra se Awad fig 2-18 samt listning 2-2 respektive 2-3

Mer om analys och design Vi återkommer till kapitel 2 och resten av kapitlen i Awad samt fördjupningar under del 2 av kursen, dvs bla Delsystem designfas Delsystem implementationsfas Då kommer också fler jämförelser med UML och andra tekniker att göras

RMI mer beskrivningar och fler exempel Läs också tutorialen som du hittar på följande adress: http://www.javasoft.com/docs/books/tutorial/rmi/index.html Vi tittar också på dom tre exemplen på följande sida http://www.nada.kth.se/kurser/kth/2D4334/99-00/contents/exempel.html dvs följande: Transport av serialiserat objekt Calbackrutin Meddelandesystem Ingen av exemplen skyddar sina kritiska regioner. Den intresserade kan ju fundera över hur kritiska regioner skall skyddas.