Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
hekate:hekate_case_thermostat [2008/03/11 13:00]
wojnicki diagrams added
hekate:hekate_case_thermostat [2019/06/27 15:49] (current)
Line 1: Line 1:
 ====== HeKatE Case Thermostat ====== ====== HeKatE Case Thermostat ======
 +
 +This case analysis is based on [[hekate process]].
 +
 FIXME FIXME
  
 ====== Introduction ====== ====== Introduction ======
 +
 +The ARD process can be easily explained using the following example. ​
 +It is a reworked Thermostat case.
 +The main problem described here is to create a temperature control system
 +for an office.
 +The design process is shown below.
  
 ===== Description ===== ===== Description =====
 +
  
 ===== Conceptualization ===== ===== Conceptualization =====
  
 ==== Vocabulary ==== ==== Vocabulary ====
 +
  
 ==== Original Rules ==== ==== Original Rules ====
Line 103: Line 114:
 then  thermostat_setting is '14 degrees'​ then  thermostat_setting is '14 degrees'​
 </​code>​ </​code>​
 +
 +The seasons //ARE// correct, the Author lives in Australia.
  
 ===== Analysis ===== ===== Analysis =====
Line 109: Line 122:
  
 ==== General Conceptual Design ==== ==== General Conceptual Design ====
 +
 +
 +
 +
 +
 +
 +
  
 ==== Directed Conceptual Design ==== ==== Directed Conceptual Design ====
  
-=== Full ARD Model ===+We model the system aiming at matching the original rules.
  
-See ''​therm-model.pl'' ​in [[hekate:​varda]]+First, it is stated that there is a system to be designed which is described by 
 +a single conceptual attribute ​''​Thermostat''​.  
 +It is so called level 0 of the design.
  
-Subsequent ​ARD levels are given below:+Refining knowledge about what is the purpose of the system makes a transition to the diagram at level 1; it is a finalization.  
 +It is stated that the thermostat controls temperature and this control has something to do with time.  
 +That is why ''​Thermostat''​ is finalized into ''​Time''​ and ''​Temperature''​. 
 + 
 +Furthermore,​ at level 2, it is stated that ''​Temperature''​ 
 +depends on ''​Time'':​ there are two properties identified in the 
 +system and a functional dependency between them. 
 + 
 +The design process continues, through splits and/or finalizations,​ until all physical attributes (indicated with lower case letters) are identified and relationships among them are stated which is presented at level 8. 
 + 
 +The whole process is shown below: 
 + 
 +^ ARD diagram ​         ^ Corresponding THP  ^ VARDA model  ^ 
 +| <​graphviz file="​hekate:​therm-a0.dot"></​graphviz> ​ | | ard_att_add('​Thermostat'​),​ ard_property_add(['​Thermostat'​]) ​ | 
 +| <​graphviz file="​hekate:​therm-a1.dot"></​graphviz> ​ | <​graphviz file="​hekate:​therm-t1.dot"></​graphviz>​ | ard_att_add('​Time'​),​ ard_att_add('​Temperature'​),​ ard_finalize(['​Thermostat'​],​ ['​Time','​Temperature'​]) ​  | 
 +| <​graphviz file="​hekate:​therm-a2.dot"></​graphviz> ​ | <​graphviz file="​hekate:​therm-t2.dot"></​graphviz>​ | ard_split(['​Time','​Temperature'​],​[ ['​Time'​],​['​Temperature'​]],​ [ [ ['​Time'​],​['​Temperature'​]]])| 
 +| <​graphviz file="​hekate:​therm-a3.dot"></​graphviz> ​ | <​graphviz file="​hekate:​therm-t3.dot"></​graphviz>​ | ard_att_add('​Date'​), ​ ard_att_add('​Hour'​),​ ard_att_add(season),​ ard_att_add(operation),​ ard_finalize(['​Time'​],​['​Date','​Hour',​season,​operation])| 
 +| <​graphviz file="​hekate:​therm-a4.dot"></​graphviz> ​ | <​graphviz file="​hekate:​therm-t4.dot"></​graphviz>​ | ard_split(['​Date','​Hour',​season,​operation],​[ ['​Date','​Hour'​],​[season,​operation]],​[ [ ['​Date','​Hour'​],​ [season,​operation]],​[ [season,​operation],​['​Temperature'​]]])| 
 +| <​graphviz file="​hekate:​a5f.dot"></​graphviz>​ | <​graphviz file="​hekate:​t5f.dot"></​graphviz>​ | ard_split([season,​operation],​[ [season],​[operation]],​[ [ ['​Date','​Hour'​],​[season]],​[ ['​Date','​Hour'​],​[operation]],​[ [season],​['​Temperature'​]],​[ [operation],​ ['​Temperature'​]]])| 
 +| <​graphviz file="​hekate:​a6f.dot"></​graphviz>​ | <​graphviz file="​hekate:​t6f.dot"></​graphviz>​ | ard_split(['​Date','​Hour'​],​[ ['​Date'​],​['​Hour'​]],​[ [ ['​Date'​],​[season]],​[ ['​Date'​],​[operation]],​[ ['​Hour'​],​[operation]]])| 
 +| <​graphviz file="​hekate:​a7f.dot"></​graphviz>​ | <​graphviz file="​hekate:​t7f.dot"></​graphviz>​ | ard_att_add(day),​ ard_att_add(month),​ ard_att_add(today),​ ard_finalize(['​Date'​],​[day,​month,​today])| 
 +| <​graphviz file="​hekate:​a8f.dot"></​graphviz>​ | <​graphviz file="​hekate:​t8f.dot"></​graphviz>​ | ard_split([day,​month,​today],​[ [month],​[day,​today]],​[ [ [month],​[season]],​[ [day,​today],​[operation]]])| 
 +| <​graphviz file="​hekate:​a9f.dot"></​graphviz>​ | <​graphviz file="​hekate:​t9f.dot"></​graphviz>​ | ard_split([day,​today],​[ [day],​[today]],​[ [ [day],​[today]],​[ [today],​[operation]]]| 
 +| <​graphviz file="​hekate:​a10f.dot"></​graphviz>​ | <​graphviz file="​hekate:​t10f.dot"></​graphviz>​ | ard_att_add(hour),​ ard_finalize(['​Hour'​],​[hour]),​ ard_att_add(thermostat_settings),​ ard_finalize(['​Temperature'​],​[thermostat_settings])| 
 + 
 +=== Full Optimized Design === 
 + 
 +VARDA can automatically optimize the diagram, by re/​collapsing the lowest ARD using TPH. 
 + 
 +The subsequent //​optimized// ​ARD levels ​(as recreated by VARDA) ​are given below:
  
 {{:​hekate:​thermostat-ard.png|:​hekate:​thermostat-ard.png}} {{:​hekate:​thermostat-ard.png|:​hekate:​thermostat-ard.png}}
Line 124: Line 175:
 {{:​hekate:​thermostat-tph.png|:​hekate:​thermostat-tph.png}} {{:​hekate:​thermostat-tph.png|:​hekate:​thermostat-tph.png}}
  
-XTT prototype generated by [[VARDA]]:​ +=== Full ARD Model ===
- +
-{{:​hekate:​thermostat-varda-xtt.png|:​hekate:​thermostat-varda-xtt.png}}+
  
 +See ''​{{:​hekate:​therm-model.pl|therm-model.pl}}''​ in [[hekate:​varda]]
  
 ==== Refined Conceptual Design ==== ==== Refined Conceptual Design ====
Line 134: Line 184:
  
 ===== Structuralization ===== ===== Structuralization =====
 +
 +XTT prototype generated by [[VARDA]]:
 +
 +{{:​hekate:​thermostat-varda-xtt.png|:​hekate:​thermostat-varda-xtt.png}}
  
 ===== Logical design ===== ===== Logical design =====
Line 140: Line 194:
  
  
 +check if:
 +  * rules are consitant with the book
 +  * the xtt design is consistent with the book w.r.t seasons and temperature!
hekate/hekate_case_thermostat.1205236839.txt.gz · Last modified: 2019/06/27 16:00 (external edit)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0