|
|
hekate:hekate_case_thermostat [2008/03/13 11:02] wojnicki |
hekate:hekate_case_thermostat [2019/06/27 15:49] |
====== HeKatE Case Thermostat ====== | |
| |
This case analysis is based on [[hekate process]]. | |
| |
FIXME | |
| |
| |
====== 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 ===== | |
| |
===== Conceptualization ===== | |
| |
==== Vocabulary ==== | |
| |
==== Original Rules ==== | |
| |
<code> | |
Rule: 1 | |
if the day is Monday | |
or the day is Tuesday or the day is Wednesday | |
or the day is Thursday or the day is Friday | |
then today is a workday | |
| |
Rule: 2 | |
if the day is Saturday | |
or the day is Sunday | |
then today is the weekend | |
| |
Rule: 3 | |
if today is workday | |
and the time is 'between 9 am and 5 pm' | |
then operation is 'during business hours' | |
| |
Rule: 4 | |
if today is workday | |
and the time is 'before 9 am' | |
then operation is 'not during business hours' | |
| |
Rule: 5 | |
if today is workday | |
and the time is 'after 5 pm' | |
then operation is 'not during business hours' | |
| |
Rule: 6 | |
if today is weekend | |
then operation is 'not during business hours' | |
| |
Rule: 7 | |
if the month is January | |
or the month is February or the month is December | |
then the season is summer | |
| |
Rule: 8 | |
if the month is March | |
or the month is April or the month is May | |
then the season is autumn | |
| |
Rule: 9 | |
if the month is June | |
or the month is July or the month is August | |
then the season is winter | |
| |
Rule: 10 | |
if the month is September | |
or the month is October or the month is November | |
then the season is spring | |
| |
Rule: 11 | |
if the season is spring | |
and operation is 'during business hours' | |
then thermostat_setting is '20 degrees' | |
| |
Rule: 12 | |
if the season is spring | |
and operation is 'not during business hours' | |
then thermostat_setting is '15 degrees' | |
| |
Rule: 13 | |
if the season is summer | |
and operation is 'during business hours' | |
then thermostat_setting is '24 degrees' | |
| |
Rule: 14 | |
if the season is summer | |
and operation is 'not during business hours' | |
then thermostat_setting is '27 degrees' | |
| |
Rule: 15 | |
if the season is autumn | |
and operation is 'during business hours' | |
then thermostat_setting is '20 degrees' | |
| |
Rule: 16 | |
if the season is autumn | |
and operation is 'not during business hours' | |
then thermostat_setting is '16 degrees' | |
| |
Rule: 17 | |
if the season is winter | |
and operation is 'during business hours' | |
then thermostat_setting is '18 degrees' | |
| |
Rule: 18 | |
if the season is winter | |
and operation is 'not during business hours' | |
then thermostat_setting is '14 degrees' | |
</code> | |
| |
===== Analysis ===== | |
| |
===== Conceptual design ===== | |
| |
==== General Conceptual Design ==== | |
| |
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. | |
| |
Subsequent ARD levels 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}} | |
| |
XTT prototype generated by [[VARDA]]: | |
| |
{{:hekate:thermostat-varda-xtt.png|:hekate:thermostat-varda-xtt.png}} | |
| |
=== Full ARD Model === | |
| |
See ''therm-model.pl'' in [[hekate:varda]] | |
| |
==== Directed Conceptual Design ==== | |
| |
==== Refined Conceptual Design ==== | |
| |
===== Physical Attribute Specification ===== | |
| |
===== Structuralization ===== | |
| |
===== Logical design ===== | |
| |
{{:hekate:thermostat-xtt.png|:hekate:thermostat-xtt.png}} | |
| |
| |