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 13:00]
wojnicki diagrams added
hekate:hekate_case_thermostat [2008/05/28 12:48]
gjn
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 =====
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