Object Oriented Design

Page 1

2011 Object Oriented Design 990X2

RG van Voorthuizen 995279926 LOI Hogeschool 5-9-2011


990X1 RG van Voorthuizen 995279926

)


990X1 RG van Voorthuizen 995279926 1a Ja, er is sprake van een potential deadlock:

Resource 104

Task 5

Locked by

Claims

Task 2

Resource 103

Resource 105 5

Task) 3 1b Task 2 locks R103 Task 3 locks R105 Task 3 claims R103 (blocked) Task 5 locks 104 Task 2 claims R104 (blocked) Task 5 claims R105 (blocked) 2 In plaats van Multiple Implementation Inheritance kan wel Multiple Interface Inheritance toegepast worden. Het GoF Observer Pattern zou dus aangepast moeten worden, zodat een interface van Subject geïmplementeerd wordt.

public class ConcreteSubject extends AndereKlasse implements SubjectInterface { private SubjectInterface subject = new Subject(); // etc… }


990X1 RG van Voorthuizen 995279926 3a

Toegepaste Task Structuring Criteria :

-Hardwarearchitectuur Dit bepaald dat ElevatorButton en FloorButton de taak zouden moeten hebben voor de polling I/O

-I/O-karakteristieken De eigenschap van de knoppen dat deze uitgelezen dienen te worden dmv polling I/O en de eigenschap van de liftsensor die uitgelezen dient te worden dmv blocking I/O, zorgen voor een aparte taak voor deze objecten.

-Coรถrdinatie Er moet coรถrdinatie plaatsvinden tussen de liftsensor, de lift en de deuren van de lift en van de verdieping. Deze taak kan het best door ElevatorSystem uitgevoerd worden en moet dus een aparte taak zijn.

-Safety Bij een lift wil je de mogelijkheid hebben om het systeem in een fail-safe toestand te kunnen brengen. De aansturing van de motor speelt hierop in, deze dient continu pulse I/O te ontvangen. Dit is een extra argument om te kiezen voor een aparte taak voor ElevatorSystem die de motor aanstuurt.

-Seperations of Concern Zaken die bij elkaar horen, bij elkaar houden. Dit bepaald dat de Button-objecten zelf de taak moeten uitvoeren voor de polling I/O

3b Naast bovenstaande Task Structuring Criteria wordt in dit geval expliciet de beschikbaarheidseis toegevoegd. Daarom is in dit Task Diagram een Monitor Task toegevoegd, die het gehele systeem in de gaten kan houden en eventueel afgebroken taken kan herstarten.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.