Föreläsning 11 Tisdag 6/6 2000

Relevanta dokument
Föreläsning 8 2EMHNWRULHQWHUDG5HDOWLGVSURJUDPPHULQJ UML O2P 2000

OCTOPUS utvecklingsmetod samt relaterade frågeställningar och diagram

Objektorientering. Grunderna i OO

Utvecklingsmetoder och processer. UML och OCTUPUS en kort introduktion

Arkitektur Michael Åhs

Objektorientering Användning

UML: Exempel. Ett modelleringsspråk. UML: Ansvar. UML: tre huvudanvändningar. Exempel: En klass position storlek. UML Unified Modelling Language

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur

Mer OOP. Variation i typ. Medlen repetition. Generiska klasser. Gränssnitt - Interface. Mer om klasser Några exempel UML

Objektorienterad analys och design

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo

Objekt-orienterad programmering. Klassbegreppet och C++ UML. UMLs fördelar

Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: Tid: 14:00-18:00.

Föreläsning 2. Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program.

LIPS Kravspecifikation. Institutionen för systemteknik Mattias Krysander

Programmerbar logik och VHDL. Föreläsning 4

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur

UML 1(5) Introduktion till Unified Modeling Language. 1 Bakgrund och historik

Datakom II (MNP) ht 1998 Bengt Ahlgren 1. Vad är speciellt med implementering av kommunikationsprotokoll?

IE1204/IE1205 Digital Design

IE1205 Digital Design: F9: Synkrona tillståndsautomater

Objektorienterad programmering. Grundläggande begrepp

Vad handlar kursen om? Algoritmer och datastrukturer. Vad handlar kursen om? Vad handlar kursen om?

RUP - Rational Unified Process

7.1.1 Modulindelning. Delsystem: Pneumatiskt system. Elmotor för rotation. Axel. Lager. Chuck. Ram. Kylsystem. Sensorer

Hantering av hazards i pipelines

Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document

Interaktions- och klassdiagram, kap F4 ht -10

Tentamen i Objektorienterad modellering och design

UML. Översikt UML. Relationer mellan klasser. A är ett aggregerat av B:n. Kontor aggregat av Enheter. 12 olika diagramtyper, bl.a.

INSTITUTIONEN FÖR DATA- OCH INFORMATIONSTEKNIK

Dynamiska modellen. Objektorienterad modellering programmering OOMPA Föreläsning 6. Innehåll. Tid. Sekvensiering, synkronisering

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Objektorienterad analys och design

F5 Introduktion till digitalteknik

Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt idnummer på varje blad (så att vi inte slarvar bort dem).

Designmönster - EMW. Kent Petersson epost1: kentp@cs.chalmers.se epost2: kent.petersson@emw.ericsson.se URL:

Översikt. Introduktion. Objektorienterad programutveckling UML UML. Analys Design. Klassdiagram Aktivitetsdiagram

Objektorienterad programmering

Lambdas. (och fler design patterns) Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2017

TSEA22 Digitalteknik 2019!

Företagsmodellering i UML

Information från programledningen

Föreläsning 3 Användare, uppgift och omgivning. Kapitel 3-4 i Stone et al.

Fö 5+6 TSEA81. Real-time kernel + Real-time OS

IE1205 Digital Design: F10: Synkrona tillståndsautomater del 2

Svar till Övning3 Datorteknik, HH vt12 Avbrott och timers

Tentamen i EDAF25. 1 juni Skrivtid: Skriv inte med färgpenna enda tillåtna färg är svart/blyerts.

1 Kravspecifikation Snake App

Författare: Juha Söderqvist IT-GUI. Version 1.0. Datum

Interaktions- och klassdiagram, kap F4 vt -07

Innehåll. Användarstudier. Användarstudier enligt Microsoft. Varför? Aktivt lyssnande. Intervjuteknik. Intervju Observation Personor Scenarier Krav

Synkronisering. Föreläsning 8

7. Konstruera Koncept

Innehållsförteckning 2 IKOT

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum:

Specialiseringar InfoCom

SKAPA DET FÖRSTA PROJEKTET I mikrobasic PRO for AVR

Föreläsning 9. NDAB01 Statistik; teori och tillämpning i biologi

Objekt, klasser. Tillstånd Signatur Kommunikation Typ. Fält, parametrar och lokala variabler. Konstruktorer Metoder DAVA15

Institutionen för elektro- och informationsteknologi, LTH

Datorteknik. Föreläsning 5. Realtidssystem och realtidsprogrammering. Institutionen för elektro- och informationsteknologi, LTH.

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU

Konstruktionsmetodik för sekvenskretsar. Föreläsning 7 Digitalteknik Mattias Krysander Institutionen för systemteknik

Opponentrapport på examensarbete Utveckling av ett affärssystem med Unified Process av Therese Sundström.

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU

Mekanismer. (implementation)

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning.

TDDE10 TDDE11, 725G91/2. Objektorienterad programmering i Java, Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU

Datorarkitekturer med operativsystem ERIK LARSSON

In- och utenheter. Händelsebaserad programmering i GLUT. Interrupt-baserad interaktion. Sampling / polling. Händelsebaserad interaktion (forts.

TDP005. Föreläsning 3 - UML. Filip Strömbäck

Manual Lead tracking. Version

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier

OOMPA 2D1359 Föreläsning 2

Föreläsning 8, Design

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Tentamen i Objektorienterad modellering och design Helsingborg

Objektorienterad konstruktion

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.

Reflekterande Design. Materialet utan egenskaper. God Design. Grundbegrepp. Introduktion till Design. Introduktion till Design

Datorteknik ERIK LARSSON

Exempel på LAX-uppgifter

INSIKT nr 4 årgång vetlanda.pingst.se

Digitala Projekt Konstruktion av Tamagocchi. Av: Oskar Andersson D05 & Danial Rehman D05

MIKRODATORTEKNIK 2012 INNEHÅLLSFÖRTECKNING

Accelerometer. Rikard Ekström Mattias Kindborg. Informationsteknologi Lunds Universitet

Observer Pattern och MVC. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018

Objektorienterad programmering E. Telefonboken, än en gång. Gränssnitt. Telefonboken med gränssnitt specificerat, del 1.

Outline. Datorsystemtekni. Kravspecifikation. Kravspecifikation (forts.)

Projektkaos. Chaos-rapporten. 34% av projekten avslutades i tid och enligt budget % misslyckades!

RemoteBud. Inlämnas: Patrik Johnsson, e01pjo Viktor Karlsson, e01vk

Asynkrona sekvensmaskiner

KravinsamlingAnalys Design Implementation Testning

Användning av modeller för system/produktutveckling

TNM040 Kommunika3on och användargränssni< HT2015, FÖ3 TNM040 HT2015. Bra överblick. h<p:// anvandbarhet/metoder

Analys och design. Objekt. Klass. med hjälp av CRC. Klassdiagram

Transkript:

2EMHNWRULHQWHUDG5HDOWLGVSURJUDPPHULQJ Föreläsning 11 Tisdag 6/6 2000 OCTOPUS en kort repetition Farthållare previous next OCTOPUS Kravspec Vi konstruerar bla användningsfall Användningsfallsdiagram Systemarkitektur Dela upp systemet på applikationsdel hårdvara hårdvaruwrapper(s) previous next 2 Björn Eiderbäck 2000 1

... Delsystem analysfas skapa objektmodeller statisk struktur funktionell modell funktionalitet dynamisk modell operationer mellan "applikationsgränser" ta hänsyn till realtidsspecifika aspekter analysera händelser, tillstånd, mm previous next 3... Delsystem designfas Delsystem implementationsfas previous next 4 Björn Eiderbäck 2000 2

Farthållare Som exempel skapar "vi" en farthållare huvudsyfte: hålla konstant fart farthållaren konstrueras för en automatväxlad låda kan operera då högsta växeln ilagd föraren skall när som helst kunna återta kommandot opereras från speciell meny Awad figur 1-14 previous next 5 Användningsfall Vi identifierar användningsfall På systemnivå U1-U3 Autonoma U4-U5 Vissa nästlade eller relaterade till föregående, tex U6, U10- U12 Exceptions U7-U9 användningsfallsdiagram Awad figur 10-1 Tolv användningsfall Awad figur s 200-204 previous next 6 Björn Eiderbäck 2000 3

Systemkontextmodell (mjukvaru-)systemet och dess relationer till omgivningen/hårdvaran Awad figur 10-2 previous next 7 Hårdvara Vissa hårdvaruregler Två avbrott INT0 och INT1, den första triggas av rotationspuls och den senare av 10ms timer RealtidsOS med kvasiparallella processer, preemption Oset kan schedulera process schedulera process med fördröjning stänga av respektive slå på avbrottsmöjlighet stänga av respektive slå på kontextbyte Awad figur 10-3 och 10-4 previous next 8 Björn Eiderbäck 2000 4

Analys av applikationens delsystem Vi "behöver" bara ett delsystem i applikationen Delsystemdiagram Awad figur 10-6 Objektmodell, delsystem Awad figur 10-6 Beskrivning av omgivning Awad tabell 10-1 och 10-2 previous next 9 Funktionell modell Operationerna O1-O7 Awad figur s 211-213 previous next 10 Björn Eiderbäck 2000 5

Dynamisk modell I den dynamiska modellen analyserar vi händelser tillstånd därefter gör vi en fördjupad analys av både händelser och tillstånd tillsammans vi tittar också på interaktionen mellan objekten previous next 11 Analys av händelser Identifiera händelser Ordna händelser i hierarkier Beskriv händelser Awad figur s 214-217 previous next 12 Björn Eiderbäck 2000 6

Analys av tillstånd Vilka tillstånd har dom ingående objekten? Vilka är objektens associationer? Hur sker tillståndsövergångar? Vilka "aktiviteter" sker? Awad figur 217-219 previous next 13 Utvidgad analys av händelser och tillstånd Vi undersöker/avgör vilka händelser som är kritiska, viktiga respektive kan ignoreras samt är neutrala i ett visst tillstånd metod Awad s 86-87 exemplet Awad tabell 10-6 previous next 14 Björn Eiderbäck 2000 7

... Vi ser om vi kan slå ihop händelser också metod Awad s 87-88 exemplet Awad tabell 10-7 till 10-9 previous next 15 Delsystem-omgivning: interaktionsdiagram Några typiska scenarier när objekt i omgivningen interagerar Awad figur 10-11 till 10-13 previous next 16 Björn Eiderbäck 2000 8

Analys och design av hårdvaruwrapper Vi tittar på applikationsobjekten och relaterar dem till logisk vy fysisk vy avbildning av vy Awad s 224-228 previous next 17 Objektmodell och andra beståndsdelar av hårdvaruwrappern Dom två avbrotten INT0 och INt1 generarar alla primitiva händelser antingen via avbrottsservicerutinerna ISPRINT0 och ISPRINT1 eller indirekt genom att ticka OS:et Awad tabell 10-10 till 10-11 Objektmodell figur 10-15 previous next 18 Björn Eiderbäck 2000 9

Funktionell modell för hårdvaruwrapper Awad s 231-232 previous next 19 Dynamisk modell för hårdvaruwrapper Precis som för delsystemen analyserar vi händelser tillstånd och interaktion för hårvaruwrappern previous next 20 Björn Eiderbäck 2000 10

... analys av händelser Vi undersöker vilka dom primitiva händelserna är Awad tabell 10-12 Vi grupper också händelserna Awad figur 10-16 previous next 21... analys av tillstånd för vissa klasser gör vi tillståndsdiagram Awad figur 10-17 till 10-18 previous next 22 Björn Eiderbäck 2000 11

... analys av scenarier För att bena ut hur instanser av klasser i wrappern reagerar på frågor från tillämpningen och interagerar med hårdvara och operativsystem så konstruerar vi sekvensdiagram Awad figur 1-19 till 10-20 previous next 23 Design av hårdvaruwrappern Hårdvaruwrappern drivs av två avbrott INT0 INT1 Dom genererar alla primitiva händelser antingen direkt eller via avbrottsservicerutinerna ISPRINT0 ISPRINT1 previous next 24 Björn Eiderbäck 2000 12

Design av händelsetrådar Händelsetrådsar, Awad figur 6.13 Synkron kontra asynkron Välja ut vad som ska vara vad i händelsetråden, Awad figur 6.14 Kvalificerade händelsetrådar, Awad figur 6.16 Objektgrupper Maximal mängd, Awad figur 6.17 Överlagra händelsetrådar, Awad figur 6.18 fair set, Awad figur 6.19 Balansering, Awad figur 6.20 previous next 25... design av hårdvaruwrappern Följande figur visar händelsetråden för dom primitiva hårdvaruhändelserna rotation pulse, take measurement och poll input Dom kommer från antingen ISPRINT0 eller ISPRINT1 och är alla synkrona Awad figur 10-21 previous next 26 Björn Eiderbäck 2000 13

... design av hårdvaruwrappern Nästa figur visar i mer detalj hur interaktion för CES1/CSA1 (Command Event Set 1/Control Signal Assignment 1) svarar mot 15.2 i figur 10-21 (dvs poll input till Command Interface) Awad figur 10-22 Resten av dom primitiva händelserna är mjuka, throttle update, pulse tick och blink tick. Dessa genereras indirekt av operativsystemet Awad figur 10-23 previous next 27... Nästa figur, Awad figur 10-24, slår ihop händelsetrådarna från dom tidigare figurerna i kvalificerad form Trådarna grupperas vilket resulterar i två objektgrupper WG1 och WG2 Även om vissa av dom genererade applikationshändelserna naturligt definierar rötterna till flera objektgrupper så spar vi definitionerna av dessa tills dess att vi designar applikationens delsystem previous next 28 Björn Eiderbäck 2000 14

... En skiss av processernas funktioner och avbrottshanterande rutiner följer i Awad s 239-242 previous next 29 Design av applikationens delsystem Från designen av hårdvaruwrappern får vi insikt i vilka händelser som kan skickas till applikationens delsystem Från kunskaper från scenarier och objektmodeller konstruerar vi händelsetrådar för varje händelse Awad figur 10-25 visar alla händelser hörande till händelsegruppen Command Awad figur 10-26 visar händelsetrådarna för övriga händelser previous next 30 Björn Eiderbäck 2000 15

... Vi delar upp det hela på två grupper Icke kommandoorienterade objektgrupper Awad figur 10-27 Kommandoorienterade objektgrupper Awad figur 10-28 previous next 31 Översikt av processen Hårdvaruwrappern skickar endast vidare händelsen rotation pulse, vilket medför att G3 styrs av avbrottsrutinen för INT0 Pss styrs G1 av INT1 G2, G4 och G5 använder OS-processer Awad s 246-247 previous next 32 Björn Eiderbäck 2000 16

Delade objekt och synkronisering Den valda grupperingen och att dom exekverar via oberoende exekveringsvägar resulterar i en del delade objekt För dessa analyserar vi om hanteringen är kritisk, om avbrottsmöjlighet skall stängas av eller om kontextbyte skall stängas av Awad tabell 10-13 previous next 33 Utkast av koden Slutligen tittar vi på utkast av koden för delsystemet Awad s 248-251 previous next 34 Björn Eiderbäck 2000 17