Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

pl:miw:2009:piw09_hades_1:hekate_case_lift [2017/07/17 10:08]
pl:miw:2009:piw09_hades_1:hekate_case_lift [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
 +====== 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>​
 +
  
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