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/10 00:16]
gjn
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 ====
 +
 +We model the system aiming at matching the original rules.
 +
 +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.
 +
 +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}}
 +
 +The Transformation Process History diagram is given below:
 +
 +{{:​hekate:​thermostat-tph.png|:​hekate:​thermostat-tph.png}}
  
 === Full ARD Model === === Full ARD Model ===
  
-see ''​therm-model.pl''​ in [[hekate:​varda]]+See ''​{{:hekate:therm-model.pl|therm-model.pl}}''​ in [[hekate:​varda]]
  
 ==== Refined Conceptual Design ==== ==== Refined Conceptual Design ====
Line 121: Line 184:
  
 ===== Structuralization ===== ===== Structuralization =====
 +
 +XTT prototype generated by [[VARDA]]:
 +
 +{{:​hekate:​thermostat-varda-xtt.png|:​hekate:​thermostat-varda-xtt.png}}
  
 ===== Logical design ===== ===== Logical design =====
 +
 +{{:​hekate:​thermostat-xtt.png|:​hekate:​thermostat-xtt.png}}
  
  
 +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.1205104579.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