Deel I Hoofdstuk 5: Modelleren van toestand -- gevorderd

Slides:



Advertisements
Verwante presentaties
Les 2 klassediagrammen II
Advertisements

INTERACTION DESIGN Week 3.
Samenstelling van deze presentatie Erik VAN AS Automatisch afsluiten van uw PC Je kan je pc automatisch laten afsluiten door het Windows operatings- systeem.
On-line toevoeging, annulering en wijziging van fiches. Algemene beschrijving van de functionaliteit Als er wijzigingen moeten aangebracht worden aan fiches.
VOERTUIGCONTROLE AUDI A1
Serieel naar parallel omzetting
Sequence Diagrammen & Toestandsdiagrammen
CODEERELEMENTEN DECODERS BCD naar 7-SEGMENT
Programmeren in Java met BlueJ
gebouw applicaties binnen een gebouwbesturingssysteem
Meer over de semantiek van basiselementen van TM en AD van UML (er zijn elementen en aspecten die niet door deze slides gedekt zijn) Meer over Toestandmachine.
Objecten en Volgordediagrammen
Dienstencatalogus 24 november Programma Wat is een productencatalogus Alle componenten op een rij – De generieke informatie – De specifieke informatie.
Spelregelwijzigingen Instructies Spelregelwijzigingen: Gebruik gele vlag bij de jurytafel Een speler die tijdens de serie wordt uitgesloten,
bewerkingen in programmeeromgevingen
Kwaliteit en betrouwbaarheid van simulaties ir. Rudolf van Mierlo Efectis Nederland BV.
Objecten Hoofdstuk 6 Hoofdstuk 6 Hoofdstuk 6 1.
Hoofdstuk 6: Controle structuren
Inleiding Informatica Prof. Dr. O. De Troyer Hoofdstuk 10: Omgaan met problemen.
Cursus VHDL Aansturing van een stappenmotor Peter Slaets KHLim.
Gegevensverwerving en verwerking
‘Inleiding programmeren in Java’ Derde college Maandag 22 januari 2001 drs. F. de Vries.
Verdieping Programmeren in Java - deel 1 college 6 mei 2001.
Java patterns Introductie tot GoF patterns in Java.
Inleidend probleem Data structuur (hiërarchie van classes)
Hoofdstuk 2: Verbranden en verwarmen
Inleiding Kennistechnologie §Hoofdstuk 7: Kennisrepresentaties 1: Eigenschappen en representatievormen §Hoofdstuk 8: Kennisrepresentaties 2: Eenvoud en.
Dr. Patrick De Causmaecker, KaHo St.-Lieven, Agententechnologie Les 4: praktisch redeneren dr. Patrick De Causmaecker.
Jezelf bewegen…… De ander bewegen……
Meet-, stuur- en regelsystemen
Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Accessors en polymorfie zGoede gewoonte voor objectgeoriënteerde programma -> voor alle eigenschappen:
C/S varianten s /CSpaginas/
Event Handling in Embedded Systems.  Wat is een event?  Welke events zijn het meest “time-critical”?  Welke toestand wordt door de CPU opgeslagen?
Temperatuur en moleculen 4.1 en 4.2
Wetenschapsfilosofie Werkcollege 2. Programma Opzet: 1. Vragen over het afgelopen hoorcollege 2. Vragen over de leesstof (studieboek en essay Popper uit.
Object georiënteerd programmeren in Alice
OO Analyse in de praktijk OO Analyse in de praktijk IV OO basisregels.
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 2: IDaSS.
Visual Basic.NET voor studenten De VB- ontwikkelomgeving Hoofdstuk 2.
Les 2: Interactie in je space door middel van klikbare objecten en actionscript. Wat is actionscript en programmeren?
VOERTUIGCONTROLE VOLKSWAGEN TIGUAN
Overerving: It’s a kind of magic…. Principes van OO: 1) Overerving 2) Encapsulatie 3) Polymorphisme = (deel van het) OO. paradigma.
Interfaces Hoofdstuk 23 Hoofdstuk 23.
Inhoud Analyse van sequentiële netwerken Sequentiële bouwblokken
Datamodellering en –verwerking 8C020 college 6
Les 4 De Muis (deel 1) Programmeren met Visual Basic Karl Moens.
Basisfuncties Operating System.
Besturingssysteem Vaak wordt de Engelse term gebruikt: Operating System ( OS ) Plaats van het OS in een computersysteem: Hardware Applicatie Operating.
Philosopher’s Index Presentatie van zoekresultaten Klik met muis = verder gaan.
Inhoud Analyse van sequentiële netwerken Sequentiële bouwblokken
Serie/Parallel Schakelingen
Java Objectgeoriënteerd Programmeren in Java met BlueJ
Docentinstructie: Het is aan te bevelen de eerste dia’s klassikaal te tonen en met uitleg te bespreken. Als na zes dia’s een korte demo van Celsius/Fahrenheit.
Periode 1 Detail en marketing Kerntaak: optimaliseren verkoop en assortiment Hoofdstuk: Visual merchandising Par: 2.2 Blz. 562 t/m 567.
Grafentheorie Graaf Verzameling knopen al dan niet verbonden door takken, bijv:
Vier vormen van betekenisgeving
Gebruikerstraining: QRAE Plus persoonlijke multigas monitor.
Voorbeeldvraag 1 Welke uitspraak is JUIST: 1. De basisstelling van Nicolas Carr (auteur van "IT doesn't matter") is dat de investeringen die in IT gedaan.
De definitie van een object. Een object is een verzameling van eigenschappen en bewerkingen. Veel voorkomende objecten zijn: D (display) Gui (user interface)
Navigatie Om ergens naar toe te gaan moet men de weg wel kennen.
On-line toevoeging, annulering en wijziging van fiches.
Gameprogrammeren: Overerving
Gameprogrammeren: Interfaces
Unified Modeling Language
Schepping en Evolutie in de Bahá’í geschriften (1)
Unified Modeling Language
Beoordeling investeringen
SQL Les February 2019.
Leren programmeren met Scratch
Unified Modeling Language
Transcript van de presentatie:

Deel I Hoofdstuk 5: Modelleren van toestand -- gevorderd © 2011 Prof Dr. O. De Troyer | OO modelleren

Problemen met platte toestandsdiagrammen Bij complexe systemen krijgt men een explosie van toestanden en transities © 2011 Prof Dr. O. De Troyer | OO modelleren

Subdiagrammen Subdiagrammen worden gebruikt om bepaalde toestanden verder te beschrijven Naam van de toestand : naam van het subdiagram © 2011 Prof Dr. O. De Troyer | OO modelleren

Subdiagrammen Betekenis: De “toestand” dient vervangen te worden door het subdiagram om het volledige diagram te bekomen Soort “placeholder” © 2011 Prof Dr. O. De Troyer | OO modelleren

Samengestelde toestanden Een samengestelde toestand groepeert toestanden. Het is een abstracte toestand. Samengestelde toestand © 2011 Prof Dr. O. De Troyer | OO modelleren

Samengestelde toestanden “push N” in eerder welke Forward-toestand brengt het systeem terug in toestand Neutral “stop” in eerder welke Forward-toestand brengt het systeem in toestand First © 2011 Prof Dr. O. De Troyer | OO modelleren

Samengestelde toestanden Is ook mogelijk: Een transitie van een genestelde toestand naar een toestand buiten de samengestelde toestand Een transitie van een toestand naar een genestelde toestand © 2011 Prof Dr. O. De Troyer | OO modelleren

Samengestelde toestanden © 2011 Prof Dr. O. De Troyer | OO modelleren

Samengestelde toestand Een samengestelde toestand kan ook een begin en eindtoestand hebben Begintoestand: default toestand die actief wordt bij een transitie naar de samengestelde toestand Eindtoestand: duidt aan dat de activiteit binnen de samengestelde toestand beëindigd is. Het bereiken van een eindtoestand in een samengestelde toestand veroorzaakt een voltooiingtransitie van de samengestelde toestand © 2011 Prof Dr. O. De Troyer | OO modelleren

Samengestelde toestand © 2011 Prof Dr. O. De Troyer | OO modelleren

Samengestelde toestanden Een samengestelde toestand kan andere samengestelde toestanden bevatten. Het niveau van nestelen is arbitrair. Samengestelde toestand vs subdiagram Hetzelfde wanneer er geen interactie is tussen de samengestelde toestand en de andere toestanden (behalve begin en einde) Samengestelde toestand is krachtiger modelleerconcept (kan meer uitdrukken) © 2011 Prof Dr. O. De Troyer | OO modelleren

Afhankelijkheden In principe zijn objecten onafhankelijk van elkaar; ze kunnen onafhankelijk van toestand wijzigen en dingen doen. Echter soms is een vorm van synchronisatie nodig Bijvoorbeeld bij samengestelde objecten (aggregatie of compositie) © 2011 Prof Dr. O. De Troyer | OO modelleren

Toestand van een aggregatie/compositie Het toestandsdiagram voor een aggregatie is een collectie van toestandsdiagrammen, nl één voor elk onderdeel. De actieve toestand van een aggregatie correspondeert met de combinatie van de actieve toestanden van de onderdelen. Soms kan de transitie voor een bepaald onderdeel afhangen van de toestand van een ander onderdeel Voorbeeld: Auto zal niet starten tenzij de transmissie in toestand ‘neutraal’ is © 2011 Prof Dr. O. De Troyer | OO modelleren

Toestandsdiagram voor een aggregatie/compositie © 2011 Prof Dr. O. De Troyer | OO modelleren

Gelijktijdige toestanden Soms kan een object gelijktijdig in twee of meer toestanden verkeren. Via een samengestelde toestand Voorbeeld: Schrijver © 2011 Prof Dr. O. De Troyer | OO modelleren

Gelijktijdige toestanden Soms moet een object twee of meer activiteiten gelijktijdig uitvoeren Zonder synchronisatie moeten alle activiteiten uitgevoerd zijn voor men naar een volgende toestand kan Voorbeeld: cash automaat Cash geven Kaart terug geven Volgorde niet belangrijk maar beide moeten uitgevoerd zijn eer het toestel zich kan resetten © 2011 Prof Dr. O. De Troyer | OO modelleren

Gelijktijdige toestanden 2 gelijktijdige subtoestanden Beide zijn gelijktijdig actief Impliciet samenvoegen van de gelijktijdigheid De transitie vindt enkel plaats indien beide gelijktijdige subtoestanden beëindigd zijn Uitsplitsen van de controle in 2 gelijktijdige activiteiten © 2011 Prof Dr. O. De Troyer | OO modelleren

Gelijktijdige toestanden Expliciet samenvoegen van de gelijktijdigheid kan men ook op dezelfde wijze als het uitsplitsen aangeven © 2011 Prof Dr. O. De Troyer | OO modelleren

Gelijktijdige toestanden Een transitie van één enkele gelijktijdige toestand naar een toestand buiten de samengestelde toestand beëindigt ook de andere gelijktijdige toestanden Een samengestelde toestand is beëindigd wanneer elk van zijn gelijktijdige toestanden beëindigd is. © 2011 Prof Dr. O. De Troyer | OO modelleren

Verband tussen klassendiagram en toestandsdiagram Het toestandsdiagram van een klasse is ook van toepassing op een subklasse van deze klasse De subklasse zelf kan zijn eigen toestandsdiagram hebben maar er mogen geen conflicten ontstaan. Toestandsdiagram van subklasse moet een verfijning zijn van het toestandsdiagram van de superklasse Of Toestandsdiagram van de subklasse moet onafhankelijk zijn van het toestandsdiagram van de superklasse Te beschouwen als gelijktijdige toestanden © 2011 Prof Dr. O. De Troyer | OO modelleren

Verband tussen klassendiagram en toestandsdiagram Transities zijn meestal te realiseren door middel van operaties, waarbij de naam van de operatie overeenkomt met het signaal © 2011 Prof Dr. O. De Troyer | OO modelleren

Voorbeeld - thermostaat Programmeerbare thermostaat Controleer de verwarming, de airco en de ventilatoren Bedoeling is de temperatuur gelijk te houden aan de ingestelde temperatuur Er zijn 8 verschillende periodes: 4 in de weekend 4 op weekdagen © 2011 Prof Dr. O. De Troyer | OO modelleren

Voorbeeld - thermostaat De user interface heeft 10 drukknoppen, 3 schakelaars en een alfanumeriek display Elke knop genereert een event TEMP UP TEMP DOWN TIME FWD TIME BACK SET CLOCK SET DAY RUN PROGRAM VIEW PROGRAM HOLD TEMP (behoudt de huidige doeltemperatuur) F-C BUTTON (alterneren tussen Fahrenheit en Celsius) © 2011 Prof Dr. O. De Troyer | OO modelleren

Voorbeeld - thermostaat De 3 schakelaars worden gemodelleerd door middel van onafhankelijke gelijktijdige subdiagrammen Elke toestand komt overeen met een stand van de schakelaar De schakelaars zijn: NIGHT LIGHT: verlicht het alfanumeriek toetsenbord: waarden: Light off, light on SEASON: geeft aan welk toestel gecontroleerd wordt; waarden Heat (verwarming) Cool (airco) Off (geen enkel) FAN: geeft aan wanneer de ventilator functioneert; waarden: Fan on (continue) Fan auto (enkel wanneer verwarming of airco werken) © 2011 Prof Dr. O. De Troyer | OO modelleren

Voorbeeld - thermostaat Er is een ingebouwde thermometer en klok We beschouwen temp en time als externe parameters omdat we geen toestandsmodellen van de thermometer of de klok willen maken Target is een interne toestandsvariabele die gebruikt wordt om de doeltemperatuur te representeren Sommige activiteiten zullen die een waarde geven, andere zullen de waarde opvragen Laat communicatie toe tussen de verschillende delen van het toestandsmodel © 2011 Prof Dr. O. De Troyer | OO modelleren

7 gelijktijdige diagrams. Voor de user interface (subdiagram) Voor de season schakelaar Voor de fan schakelaar Voor de verwarming Voor de airco Voor de ventilator Voor het indicator licht Elk heeft een soort on en off toestand © 2011 Prof Dr. O. De Troyer | OO modelleren

User Interface toestandsdiagram: 3 gelijktijdige subdiagrams. begintoestand User Interface toestandsdiagram: 3 gelijktijdige subdiagrams. Voor de temperatuur Voor de nachtlicht Voor de display Met 2 samengestelde toestanden: Operate en Setup Operate heeft 3 gelijktijdige diagrams: Eén voor run en hold de tijd wordt elke seconde vergeleken met de tijd van het programma; indien gelijk wordt er overgegaan naar het volgende programma Eén om de doeltemperatuur te tonen Eén voor het tonen van de huidige tijd of huidige temperatuur (verandert om de 2 seconden) Setup heeft 3 subdiagrams om de klok, de dag en het programma in te stellen Hierdoor gaan de andere gelijktijdige subdiagrammen naar hun begin toestand © 2011 Prof Dr. O. De Troyer | OO modelleren

Geen expliciete uitgaande transities voor de verschillende toestandsdiagrammen: Ze worden beëindigd door een transitie naar een ander diagram in het diagram “Interactive Display” © 2011 Prof Dr. O. De Troyer | OO modelleren