De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Deel I Hoofdstuk 5: Modelleren van toestand -- gevorderd

Verwante presentaties


Presentatie over: "Deel I Hoofdstuk 5: Modelleren van toestand -- gevorderd"— Transcript van de presentatie:

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

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

3 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

4 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

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

6 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

7 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

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

9 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

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

11 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

12 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

13 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

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

15 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

16 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

17 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

18 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

19 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

20 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

21 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

22 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

23 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

24 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

25 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

26 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

27 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

28 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


Download ppt "Deel I Hoofdstuk 5: Modelleren van toestand -- gevorderd"

Verwante presentaties


Ads door Google