Forlæsningsplan Del 1: Introduktion, definition af sandtidssystemer og gennemgang af analyse og design metoder. Kort intro til AVR platform. Del 2: Scheduleringsprincipper:

Slides:



Advertisements
Lignende præsentationer
Hvem er vi? Martin Dahl Karin Dam Nielsen
Advertisements

Introduktion til HTML HTML dokumentets struktur & Indhold.
Web 2.0 Teoretisk viden.
1 Problemkompleksitet 2 Problemers kompleksitet En ineffektiv algoritme: køretiden vokser eksponentielt med input- størrelsen Et problem, der ikke kan.
Notation Oversigt Kapitel 18.
Modul 1 - Processer.
Arkitektur - data.
Kursusgang 9 Oversigt: Sidste kursusgang Principper for visuelt design
Formularer (Access, del 3)
Krav og usecases Larman kap. 5 og 6 (del1) Larman kap del1
Digitalisering i Praktiken Workshops den 9. februar 2007
Perspektiverende Datalogi Internetalgoritmer MapReduce Gerth Stølting Brodal.
1 Intro nedarvning (eng.: inheritance) Nedarvningshierarkier Intro polymorfisme (eng.: polymorphism) Abstract / virtual / override / sealed Intro interfaces.
Virksomheder - definition
Lavet af: Paw Petersen Design Design Class Diagram (DCD)
NetBeans Installation og brug.
WOC2006 foranalyse workshop del 1
Slide 1 Lindalsbakken Hadsund Sandtidssystemer del 4 Forlæsningsplan Del 1:Introduktion, definition.
Slide 1 Lindalsbakken Hadsund Sandtidssystemer Del 5 Forlæsningsplan Del 1:Introduktion, definition.
Slide 1 Lindalsbakken Hadsund Sandtidssystemer Del 3 Forlæsningsplan Del 1:Introduktion, definition.
Slide 1 Lindalsbakken Hadsund Sandtidssystemer del 2 Forlæsningsplan MM1:Introduktion, definition.
Analyse af anvendelsesområde
Hanne-Pernille Stax, ph.d
Masterpages/Otto Knudsen 1 Master Pages Master Pages i ASP.NET 2.0.
Introduktion/Otto Knudsen 1 Overblik WebForms ASP.NET.
Larman, 2. udgave kap. 11 Grundlæggende Systemudvikling zHvad er systemudvikling ? zHvad er UML ? zHvad er analyse og design ? zHvad er UP ?
Introduktion til Access (Access, del 1)
Rapporter (Access, del 5)
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Programklasser for bladhus Den efterfølgende beskrivelse er ikke komplet. Der er ikke taget afsæt i use cases, sekvensdiagrammer og operationsbeskrivelser.
Beskrivelses- og analyse-teknikker understøttet af Oracle Designer Del 2 af 2: Proces- og funktionsdiagrammering Aalborg Universitet, d. 9. oktober 2006.
03.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Klasser Oversigt, principper og teknikker Kapitel 3.
1 Dagens gang Repeter systemvalg Gennemgang af klasser og strukturer (kap. 3+4 OOA+D) Tavle opgave Gruppe opgave til næste gang.
07.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Funktioner Oversigt, principper og teknikker Kapitel 7.
12.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Modelkomponent Oversigt, principper og teknikker Kapitel 12.
11.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Processer Oversigt, principper og teknikker Kapitel 11.
18 – Java Server Faces. 2 NOEA2009Java-kursus – JSF 2 Web-applikationer - 1 Brugere interagerer med en Web-browser Browseren sender forespørgsler til.
13.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Funktionskomponent Oversigt, principper og teknikker Kapitel 13.
Introduktion til arkitektur design Arkitektur design handler om at få en forståelse for, hvordan et system skal organiseres og designe den overordnede.
Perspektiverende Datalogi Internetalgoritmer MapReduce Gerth Stølting Brodal.
Powerpoint Jeopardy Data flow diagrammer Entity relationship diagrammer State diagrammerSammenhænge mellem systemmodeller
Effektiv adgang til data Niels Mørck, Carl Bro GIS & IT  Carl Bro GIS og IT  Problemstillingen  Nordjyllands Amts Blanketsystem  Centralisering / decentralisering.
1 HMAK XMLRelationel model og XMLNOEA / PQC 2005 SQLServer og XML Hent data via URL Generering af xml –Raw –Auto –Explicit Hent data via template Evt.
Context- og flow-diagrammer (databaser, del 3)
Dagens gang Sidste uges opgaver Design af grænseflader
05.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Adfærd Oversigt, principper og teknikker Kapitel 5.
MMP Model og Metode til Programudvikling – MMP 1 Kursusindhold: Modellering af postkontor Objekt Orienteret Programudvikling - OO* Unified Modelling.
09.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Kriterier Oversigt, principper og teknikker Kapitel 9.
Udregning af UseCasePoints UCP = UUCP*TCF*EF UseCasePoint = Ujusteret Use Case Point * Tekniske Komplexitets Faktor * Miljø Mæssige Faktor.
MSBuild & Team Build i C#/C++ solutions VSTS ERFA d. 25 November.
1 Dagens gang Sidste uges opgaver OA+D: Adfærd Nye opgaver.
Fundamentale datastrukturer
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Objekter og klasser Rasmus D. Lehrmann DM
Introduktion til Access (Access, del 1). RHS – Informationsteknologi – Fra design til udvikling Vi ved nu, hvordan vi finder et design for en database,
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
1 Kursusafslutning. 2 Plan Opgaveseminar Kursusevaluering.
DIEB4.1 Kursusgang 4 Oversigt: Sidste kursusgang Opgaver Aktivitet 2: Generer design (fortsat) Design af interaktionselementer.
OIM Fælles Udviklingstargets | Side 1 Fælles udviklingstargets Analyseopgave Resultatet bliver en tilføjelse/rettelse i OIM-bilag A.2 Udføres med fokus.
INTERPERSONEL KOMMUNIKATION MODEL 1
Økonometri 1: Specifikation og dataproblemer1 Økonometri 1 Specifikation og dataproblemer 2. november 2004.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
DIEB4.1 Kursusgang 4 Oversigt: Sidste kursusgang Opgaver Aktivitet 2: Generer design (fortsat) Design interaktionselementer Analysedokumentet.
Unified Modeling Language
DIEB10.1 Kursusgang 10 Oversigt: Sidste kursusgang Eksempler på løsning af opgaven Arkitektur for brugergrænsefladen og for systemet Dokumentation af designet.
Dagens gang Komponenter Projektetablering Opgave i komponenter til næste gang.
Design af brugerflader13.1 Kursusgang 13 Oversigt: Sidste kursusgang Beskrivelser af komponenter Typiske komponenter Arkitektur for en GUI.
23. juni 2015 Det Semantiske Web Mads Carlsen. 23. juni 2015 Problemer med det nuværende Internet Ingen semantiske specifikationer. Søgning giver mange.
01.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Objektorienteret Analyse & Design (OOA&D) Grundbegreber, principper og metode Kapitel 1.
Abstraktioner.
Præsentationens transcript:

Forlæsningsplan Del 1: Introduktion, definition af sandtidssystemer og gennemgang af analyse og design metoder. Kort intro til AVR platform. Del 2: Scheduleringsprincipper: Statiske/dynamiske f.eks. round robin/dynamic priority. Scheduleringskriterier: Generelt og for enkelte scheduleringsprincipper. Del 3: Schedulerbarhedskriterier ved fixed priority schedulering. Del 4: Schedulerbarhedskriterier ved dynamic priority schedulering. Del 5: Aperiodiske tasks og lidt køteori.

Introduktion: Generelt Begrebet system har tæt sammenhæng med definitionen af en matematisk funktion. Mapping fra rum til billedrum. Sekvens af data mappet til en associeret sekvens af data. Sandtidssystemer. Rum og billedrum er sekvenser af hændelser. En modsætning til ikke-sandtidssystemer. (Der er ikke en fælles mængde – det er enten eller!) Tænk! Er føren af en bil et sandtidssystem? Hvad gør han/hun er det eller ikke er det? Er en automatisk oversættelse af ”Ringenes Herre” fra engelsk til dansk et sandtidssystem. Kan det være både/og?

Introduktion: Eksempel HW opdeling i forhold til et sandtidssystems natur. I/O punkter. Hændelsesgeneratorer. Hændelsesreflektorer. Tænk! Hvor meget kræves der af en microcontroller for at fungere som kerne i et sandtidssystem? Er alle input punkter hændelsgeneratorer? Er alle output punkter forbundet til en ekstern enhed hændelsesreflektorer?

Deling af et system (eller ej) To intuitive dele i et system Process: Den fysiske verden der eksistere udafhængigt af vores teknologiske indsats. Controller: Den enhed (Et meget brugt IKKE-ORD!) der konstrueres for at interagere med den fysiske verden. Begge dele kan opfattes som hvert sit sandtidssystem. Begge har sekvenser af hændelser som input og output. Tænk! Findes der sandtidssystemer andre steder end inden for process kontrol? Vil vi altid kunne dele et system i process og controller? Fysisk? Logisk?

Implementering og systemtyper Lokalt eller distribueret system Sand parallelisme. Multiple uafhængige controllere. Tyndt interface mellem controllerne. Køre fysisk set parallelt. Falsk/pseudo parallelisme. Implementeret i SW med scehduler. Udnytter differentieret adgang til den fysiske verden. Se ud til at køre parallelt. Real-time OS RTOS, Solaris, Windows NT, RT Linux, OSE, eCos etc. Indeholder IPC (Inter Process Comm.) Tænk! Kan et system både indeholde sand og pseudo parallelisme?

Hård eller blød sandtid Den teoretiske beskrivelse Hård sandtid: systemet er kun anvendeligt hvis de korrekte resultater opnåes før fastsatte dead-lines. Blød sandtid: systemer er anvendeligt hvis de korrekt resultater opnåes inden for en given periode. (Blødere end dead-lines!) Den praktiske beskrivelse Hård sandtid: systemet er kun anvendeligt hvis de korrekte resultaterne opnåes mens de er relevante. (Systemet dør med et udeblevet resultat.) Blød sandtid: systemet er anvendeligt selv om alle hændelser ikke opfattes og behandles hver gang de opstår. (Systemet overlever selv om resultater udebliver.) Tænk! Er hård sandtid ofte relevant?

Analyse og design: Forudsætninger Sandtid er en egenskab der basere sig på vores synsvinkel og er ikke en system egenskab Sandtidssystemer agerer i forhold til en parallel verden med op til flere forskellige interface og har derfor selv en parallel natur Nogle metoder til analyse og design: COBRA – Concurrent Object-Based Real-Time Analysis RTSA – Real-Time Structured Analysis CODARTS – Concurrent Object oriented Design and Analysis of Real-Time Systems Real-Time UML – Real-Time Unified Modeling Language Er ikke ROOM (UML Real-Time) Er ikke SDL Tænk! Er A & D metoder nødvendige?

Real-Time UML og ROPES ”Iterative Rapid Development Process” er bedre kendt som ROPES (Rapid Object-Oriented Process for Embedded Systems) Hver iteration generere en virkende model (Artifact) Korte dead-lines og høj målbarhed Use-Case baseret krav analyse Aktører behøver ikke være mennesker Use-Case diagrammer viser black-box egenskaber for et system Indholdet af use-cases skal være tilgængeligt for ikke-teknikkere Kan løbende udbygges med yderligere informationer efterhånden som ”eksperterne” oplyser dem Giver overblik Tænk! Hvad er fordelene ved en udviklingsspiral? Hvad er alternativerne til use-cases?

Real-Time UML og Use-Cases Use-cases kan relateres til hinanden Inkludere – sub use-case Udvider – super use-case Generalisere – specialiseret use-case QoS (Quality of Service) krav Tilføjes som kommentarer i de enkelte use-cases Kan løbende uddybes Normale real-time QoS elementer Hastighed Tidslinier Kapacitet Forudsigelighed Stabilitet Sikkerhed Tænk! Hvornår stopper udvidelserne af en use-case?

Real-Time UML og sekvens diagrammer Use-cases fører til scenarier som kan beskrivelse i sekvens diagrammer Viser sekvenser af messages mellem objekter Vertikale linier repræsenterer objekter Horisontale linie repræsenterer messagess To message type i UML, signal og metode Sekvens diagrammer kan bruges til at fange Mulige tilstande i et objekt Mulige tilstandsskift – typisk på begrund af et signal og ikke en metode Timing begrænsninger Kommunikationsflow Et system kan typisk have fra nogle få til nogle dusin use-case En use-case kan typisk have fra nogle få til nogle dusin scenarier

RT-UML: Use-case opstart Råd og retningslinier Glem teknikken Spørg brugerne Observer brugerne Beskriv systemet ud fra brugernes synsvinkel Hold konsentrationen omkring den strukturelle kontekst Tænk! Er der andet man skal holde sig for øjet når man går igang med use-cases?

RT-UML: Opdagelse af objekter En iterativ process Man kan ikke finde alle objekter i første hug Initial identificering Begreb understregning Fysiske elementer Transaktioner etc. De enkelte mulige objekter skal valideres som anvendelige objekter Hold hovedet koldt Der er en overhængende fare for overstrukturering Vær kritisk overfor de mulige objekter Tænk! Hvordan ved man om man har overstruktureret? Hvordan ved man at man har fundet de korrekte objekter?

RT-UML: Use-case til objekt-model Samarbejdes (Collaboration) diagram Tag udgangspunkt i de enkelt use-cases Indsæt idenficerede sæt af objekter Træk relationer mellem aktører og objektsæt Første tekniske realisering af use-cases Systemets funktionalitet er identificeret før der udføres objekt analyse Hold overgangen fra use-cases til objekt-model simpel Tænk! Er det en fordel at vente med tekniske beskrivelser til nuværende tidspunkt? Hvordan adskiller dette sig fra CODARTS?

RT-UML: Sekvens til objekt model Udvidelse af scenarie sekvens diagrammer Udgangspunkt i collaboration diagrammerne Tilføje kommunikation mellem objeksæt Udvid med nye identificerede tilstande (states) Tænk! Hvor tæt er vi på et egentligt design? Har vi alle detaljer omkring timing på dette stadie?

RT-UML: Class diagram Objekt adfærd Beskrives i class diagrammer Alle realiterede objekter includeres i deres respektive sub-systemer Deres indbyrdes relationer uddybes Relationer til tidligere arbejde Use-case diagrammer Collaboration diagrammer Objekt og attribut identificering Tænk! Hvor er timingen blevet af? Adskiller Real-time UML sig indtil videre fra standard UML?

Real-time UML er mere under overfladen Yderligere detaljeringsgrader Message stereotypes Tilstandsdiagrammer Tilstandstiming Objekt timing Detaljeret design etc. Sammenhæng med andre analyse og design metoder Høj abstraktionsgrad Use-case dybt indlejret i analyse og design metoden Tænk! Hvor store er forskellene mellem de forskellige analyse og design metoder?

Task: Karakteristikker og definitioner 1 Et job er en afgrænset mængde arbejde der skal udføres af en task i sandtidssystemet En task er en samling af jobs (J1, J2....) Ready time r er tidspunktet hvorfra et job kan begynde en eksekvering Computation time c er tiden et job antages at tage i total processor tid. Starting time S er tidspunktet hvor jobbet starter. Completion time C er tidspunktet hvor jobbet afsluttes. Deadline d er tidspunktet hvor jobbet skal være afsluttet for at overholde de givne sandtidskrav. At afbryde et job Preemptible Non-preemptible At afbryde en task Preemptible, hvis alle jobs er preemptible Tænk! Hvad er den mest normale job type som preempter andre jobs? Gælder dette også for ikke sandtidssystemer?

Task: Karakteristikker og definitioner 2 Task kategorier Deterministisk, hvis det til tiden 0 er muligt at forudsige alle ready tider for de associerede jobs Ikke-determinstisk, hvis tasken ikke opfylder kravet til en determinisk task Interarrival time T(j) T(j) er lig tiden mellem r(j-1) og r(j) Periodisk, hvis alle T(j) = T (T = periode) Aperiodisk, hvis tasken ikke er periodisk Aperiodiske tasks Der må findes en minimum interarrival time, Tmin Er Tmin >> c kaldes tasken sporadisk Tænk! Kan et timer interrupt i en microcontroller være aperiodisk? Kan man tillade sig at behandle aperiodisk tasks med svagt divergerende T(j) som periodiske tasks? Sandtid Hvis d <= T er tasken underlagt hård sandtid Hvis d > T er tasken underlagt sandtid Hvis d = en gennemsnitsværdi er tasken underlagt blød sandtid Ingen d er tasken ikke underlagt sandtid Tænk! Passer overstående med de tidligere definitioner af sandtid?

AVR microcontroller: Den store RISK baseret 8-bit microcontroller 4K intern SRAM 4K intern EEPROM 128K intern Flash (64K instruktioner) Multiple timere Et hav at I/O muligheder Op til 16MHz clock frekvens Free/Open Source RTOS (http://www.avrfreaks.net) FreeRTOS AvrX RTOS Ethernut Tænk! Hvad er det største problem fra en Atmel AVR når den skal køre et RTOS? Kan et RTOS på en Atmel AVR bruges til noget fornuftigt eller er det bare leg?