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:27]
wojnicki process link added
hekate:hekate_case_thermostat [2019/06/27 15:49] (current)
Line 6: Line 6:
  
 ====== 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 106: 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 112: 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.
  
-Subsequent ​ARD levels are given below:+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 123: Line 174:
  
 {{:​hekate:​thermostat-tph.png|:​hekate:​thermostat-tph.png}} {{:​hekate:​thermostat-tph.png|:​hekate:​thermostat-tph.png}}
- 
-XTT prototype generated by [[VARDA]]: 
- 
-{{:​hekate:​thermostat-varda-xtt.png|:​hekate:​thermostat-varda-xtt.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 137: Line 184:
  
 ===== Structuralization ===== ===== Structuralization =====
 +
 +XTT prototype generated by [[VARDA]]:
 +
 +{{:​hekate:​thermostat-varda-xtt.png|:​hekate:​thermostat-varda-xtt.png}}
  
 ===== Logical design ===== ===== Logical design =====
Line 143: 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.1205238425.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