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
Next revision Both sides next revision
hekate:hekate_case_thermostat [2008/03/11 17:39]
wojnicki
hekate:hekate_case_thermostat [2008/05/28 12:48]
gjn
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 113: Line 123:
 ==== General Conceptual Design ==== ==== General Conceptual Design ====
  
-Subsequent ​ARD levels are given below:+ 
 + 
 + 
 + 
 + 
 + 
 + 
 +==== 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}} {{:​hekate:​thermostat-ard.png|:​hekate:​thermostat-ard.png}}
Line 120: 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]]
- +
-==== Directed Conceptual Design ====+
  
 ==== Refined Conceptual Design ==== ==== Refined Conceptual Design ====
Line 136: Line 184:
  
 ===== Structuralization ===== ===== Structuralization =====
 +
 +XTT prototype generated by [[VARDA]]:
 +
 +{{:​hekate:​thermostat-varda-xtt.png|:​hekate:​thermostat-varda-xtt.png}}
  
 ===== Logical design ===== ===== Logical design =====
hekate/hekate_case_thermostat.txt · Last modified: 2019/06/27 15:49 (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