De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

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

Verwante presentaties


Presentatie over: "© 2011 Prof Dr. O. De Troyer | OO modelleren Deel I Hoofdstuk 5: Modelleren van toestand -- gevorderd."— Transcript van de presentatie:

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

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

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

4 © 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”

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

6 © 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

7 © 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

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

9 © 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

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

11 © 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)

12 © 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)

13 © 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

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

15 © 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

16 © 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

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

18 © 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

19 © 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.

20 © 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

21 © 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

22 © 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

23 © 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)

24 © 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)

25 © 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

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

27 © 2011 Prof Dr. O. De Troyer | OO modelleren User Interface toestandsdiagram: 3 gelijktijdige subdiagrams. 1.Voor de temperatuur 2.Voor de nachtlicht 3.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 begintoestand Hierdoor gaan de andere gelijktijdige subdiagrammen naar hun begin toestand

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 "© 2011 Prof Dr. O. De Troyer | OO modelleren Deel I Hoofdstuk 5: Modelleren van toestand -- gevorderd."

Verwante presentaties


Ads door Google