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).

ARD history (TPH):

TPH and ARD combined:

Full ARD Model

Refined Conceptual Design

Physical Attribute Specification

Structuralization

Logical design

ARD MODEL in XML :

<?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>
pl/miw/2009/piw09_hades_1/hekate_case_lift.txt · ostatnio zmienione: 2017/07/17 08:08 (edycja zewnętrzna)
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