[[
✎ pl:miw:2009:piw09_hades_1:hekate_case_lift
]]
aiWiki
Pokaż stronę
Ostatnie zmiany
Indeks
Zaloguj
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
====== HeKatE Case Lift (Elevator) ====== This case analysis is based on [[hekate process]]. Eliasz Kańtoch, Tomasz Michalski ====== Introduction ====== It is a Lift (elevator) case. The main problem described here is to create a lift (elevator) control system in a building. ===== Description ===== The example shows basic lift functions: call up the lift, choosing target floor, indicating the direction, calculating where the lift has to go. ===== Conceptualization ===== ==== Vocabulary ==== Inputs: calling the lift from outside and inside, Outputs: choosing the direction and the target floor Internal stages: Current position and direction ==== Original Rules ==== Decision table → direction Decision table + current floor → stop or go ===== Analysis ===== ===== Conceptual design ===== Level 0: Elavator Level 1: Finalization Elavator to: CurrentElevatorDirection, LastElevatorDirection, IsHigherFloorSelectedFromCabin, IsLowerFloorSelectedFromCabin, IsThisFloorSelectedFromCabin, CallElevatorFromHigherFloorToGoUp, CallElevatorFromHigherFloorToGoDown, CallElevatorFromLowerFloorToGoUp, CallElevatorFromLowerFloorToGoDown, CallElevatorFromActualFloorToGoUp, CallElevatorFromActualFloorToGoDown, WhereToGo Level 2: Split: CurrentElevatorDirection → LastElevatorDirection → IsHigherFloorSelectedFromCabin → IsLowerFloorSelectedFromCabin → IsThisFloorSelectedFromCabin → CallElevatorFromHigherFloorToGoUp → CallElevatorFromHigherFloorToGoDown → CallElevatorFromLowerFloorToGoUp → CallElevatorFromLowerFloorToGoDown → CallElevatorFromActualFloorToGoUp → CallElevatorFromActualFloorToGoDown → WhereToGo, Level 3-13: Finalization of each attributes. ==== General 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 ''Elevator''. 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. === Full Optimized Design === Diagram genereted with HQEd M6_6: The full hierarchical diagram is presented below: ARD model was designed using Varda M_3 (Visual ARD Rapid Development Alloy). \\ {{:pl:miw:2009:piw09_hades_1:elevator_test.png?400|}} ARD history (TPH): \\ {{:pl:miw:2009:piw09_hades_1:elevator_generated_tsh.dot.png?600|}} TPH and ARD combined: \\ {{:pl:miw:2009:piw09_hades_1:elevator_generated_tphard.dot.png?600|}} === Full ARD Model === ==== Refined Conceptual Design ==== ===== Physical Attribute Specification ===== ===== Structuralization ===== ===== Logical design ===== ARD MODEL in XML : <code> <?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE hml SYSTEM "hml.dtd"> <!-- for HML2 --> <hml version="2.0"> <types> <type id="tpe_1" name="default" base="symbolic"><domain><value is="none"/></domain></type> </types> <attributes> <attr name="Elavator" id="att_1" type="tpe_1"/> <attr name="CurrentElevatorDirection" id="att_2" type="tpe_1"/> <attr name="LastElevatorDirection" id="att_3" type="tpe_1"/> <attr name="IsHigherFloorSelectedFromCabin" id="att_4" type="tpe_1"/> <attr name="IsLowerFloorSelectedFromCabin" id="att_5" type="tpe_1"/> <attr name="IsThisFloorSelectedFromCabin" id="att_6" type="tpe_1"/> <attr name="CallElevatorFromHigherFloorToGoUp" id="att_7" type="tpe_1"/> <attr name="CallElevatorFromHigherFloorToGoDown" id="att_8" type="tpe_1"/> <attr name="CallElevatorFromLowerFloorToGoUp" id="att_9" type="tpe_1"/> <attr name="CallElevatorFromLowerFloorToGoDown" id="att_10" type="tpe_1"/> <attr name="CallElevatorFromActualFloorToGoUp" id="att_11" type="tpe_1"/> <attr name="CallElevatorFromActualFloorToGoDown" id="att_12" type="tpe_1"/> <attr name="WhereToGo" id="att_13" type="tpe_1"/> <attr name="currentElevatorDirection" id="att_14" type="tpe_1"/> <attr name="lastElevatorDirection" id="att_15" type="tpe_1"/> <attr name="isHigherFloorSelectedFromCabin" id="att_16" type="tpe_1"/> <attr name="isLowerFloorSelectedFromCabin" id="att_17" type="tpe_1"/> <attr name="isThisFloorSelectedFromCabin" id="att_18" type="tpe_1"/> <attr name="callElevatorFromHigherFloorToGoUp" id="att_19" type="tpe_1"/> <attr name="callElevatorFromHigherFloorToGoDown" id="att_20" type="tpe_1"/> <attr name="callElevatorFromLowerFloorToGoUp" id="att_21" type="tpe_1"/> <attr name="callElevatorFromLowerFloorToGoDown" id="att_22" type="tpe_1"/> <attr name="callElevatorFromActualFloorToGoUp" id="att_23" type="tpe_1"/> <attr name="callElevatorFromActualFloorToGoDown" id="att_24" type="tpe_1"/> <attr name="whereToGo" id="att_25" type="tpe_1"/> </attributes> <properties> <property id="prp_1"> <attref ref="att_1"/> </property> </properties> <tph> </tph> <ard> </ard> </hml> </code>
pl/miw/2009/piw09_hades_1/hekate_case_lift.txt
· ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
Pokaż stronę
Poprzednie wersje
Menadżer multimediów
Do góry