Elevator Design

modelling-an-elevator-using-object-oriented-analysis-and-design

from stackoverflow

Ans1:

  • 首先有一个电梯类,存储方向(up,down,stand,maintenance),一个当前floor,在那个方向存储的一系列floor requests,它接受这个电梯的请求。
  • 会有一个中央管理库bank,包含电梯,从楼层接收请求。请求被发送到所有的活跃电梯中。
    调度会如下:
    • 如果当前楼层有电梯,则pick一个在当前楼层电梯
    • 选择一个移动至当前楼层电梯
    • 选择一个standing 电梯从其它楼层
    • 选择最小加载的电梯
  • 每个电梯有一系列状态
    • maintenance:维护中,不接受请求
    • stand:固定在某个楼层。它接受请求,如果在当前楼层,打开门。如果在其它楼层,移到那个楼层。
    • Up:电梯向上移动。每次达到一个楼层,检查是否需要停留,如果是,停打开门。等待一段时间,关闭门。如果被需要打开门,则打开门。把这个楼层从请求列表移除,检查是否有其它请求。如果是继续移动,否则停止。
    • Down:和Up类似。
  • 额外的信号量:
    • alarm:电梯停止。如果在某个楼层,电梯打开,请求列表清除,请求返回给bank。
    • door open
    • dooor close.

Sample Code Here

Ans2:是否需要一个中心化的尝试让这个系统智能且有效,有load balance(让更多空闲电梯到底层)。

  • 中心控制类
  • 电梯类
  • 电梯接口单元的代表
  • 每个楼层向上向下指示
  • 人和货物类
  • 建筑物类

博士论文用UML描述电梯设计

1.介绍

从UML如何在实时分布式系统使用的不同观点出发,三组UML图标给出。这些图表区别主在它们的类图,着眼于object architecture,software architectur, 和system architecture.

  • UML的综述和分布式嵌入系统在Section2,Section3。
  • 电梯控制系统的设计被提出从一个静态结构角度,Use Case diagram 和Class Diagram被提出和分析。
  • Sequence Diagrams和State Chart Diagrams在Section5,强调系统的动态方面。

2.UML的简要介绍

UML简化了软件设计的复杂过程,做了构建的一个蓝本,现在是软件体系的标准概念。

  • Use Case diagram:显示了use cases 和actors(一个特殊的类)和他们的关系。Use case图成熟了一个系统的静态的use case。这些图表对于组织和建模一个系统的行为至关重要。
  • class diagram:一系列类,接口,合作和他们的关系。类图是最常见图在建模面向对象系统红。类图描述了一个系统的静态设计视图。
  • Sequence diagram
  • State chart diagram

3.实时、分布式、嵌入式系统的综观

用UML设计实时嵌入式系统存在以下挑战:

  • 特定硬件元素和它们特征的定义
  • 制定物体的时间限制,任务和硬件层次
  • 建模网络

4.Modeling the static aspects of the system

Use Case Diagram

主要内容包括:

  • Use Cases
  • Actors
  • 依赖性,一般化和关联关系

唯一的actor是乘客。乘客和电梯系统交互通过呼叫电梯。乘客决定是否进入电梯通过观察电梯的移动方向。因此use case图显示acotr和系统的四个case有关系。

Class Diagram

静态视图主要提供一个系统的功能性要求——系统需要提供给用户的服务。
一个类图显示了一系列类,接口,合作和它们的关系。类图包含了全局系统描述,比如系统体系,和细节方面比如属性和操作在一个类中。类图最常见的内容有:

  • 接口
  • collaborations
  • dependency,generalization和association relationships
  • notes and constraints

三组类图被提出和仔细分析:

  • Class Diagram- the object construction view 这个设计注定失败:

    • 中心物体负担过重。所有计算和控制任务都必须和ElevatorController打交道。
    • 一些其它物体的空闲。
    • 竞争计算资源。
    • 整个系统的低效性。
  • Class Diagram-the software architecture view 有两个不是控制物体在系统中:

    • Dispatcher,只要功能是计算目标移动方向和移动位置对于电梯,维持门的打开时间。
    • Safety。

    乘客也被建模为环境物体。乘客和hall buttons,car buttons交互,让门移动,观察电梯的方向等。这个设计解决了中心控制问题,由于控制任务分配给几个控制物体,每个控制一个或多个环境物体,没有负担过重或者空闲的。没有必要竞争计算资源。仍旧有以下问题:

    • 控制物体如何控制环境物体
    • 一个物体入伙从其它物体获取必要信息
    • 如何建模网络
  • Class Diagram- the system Architecture View 类图包含了更多细节,由于网络,传感器,制动器加入建模真实的系统体系。可以被分为八个种类.

5.Modeling the dynamic aspects of the system

5.1 Sequence Diagram


Elevator Simulator Design

另一篇论文 Elevator Design
描述一个系统的设计和开发模拟电梯模型的操作。建立模型的物体会被鉴别,系统会被开发来模拟模型。每个物体会独立操作管理它自身数据。一个或多个物体会管理用户接口。模型允许用户指定在一次给定的运行中多少物体应该被包括。模型的输出会是一个报告显示主要物体的活动。

results matching ""

    No results matching ""