Composite State with History

 

The Composite State with History Pattern describes an entity (e.g. Class, Actor, Use Case or Test Case) from the point of view of the important states that it exhibits. An Entry is an optional behavior that is executed whenever a tate is entered regardless of the transition taken to reach the state.

Figure 1. A state machine diagram showing two states and two transitions and an initial Psuedostate and a Final State. A number of Sub-states have been defined that are nested in the enclosing State. A History State serves to return to the Sub State that was active at the time the exiting transition (Transition A) fired.  The Transition exiting the History psuedostate is a default in the event that the machine can not identify which Sub State was active.

 

历史复合状态图

除非另有指定,bai当转移进入复合状态时,嵌du套状态机的操作将从zhi初始状态开始重新执行(dao除非转移直接以子状态为目标)。历史状态使状态机可以重新进入在它退出复合状态之前的最后一个活动子状态。

当软件工程师想要定义或描述类或其他元素可能显示的一组离散状态时,可以使用该模式。它们通常用于分析系统某些部分的行为,通常是因为难以理解或其行为复杂。

下面列出了使用此模式时可能需要执行的一些操作:

1.重命名包、状态机和关系图以适合该方案。

2.重命名图中的状态和转换,以适应计划。

3.通过从工具箱或项目浏览器拖到图表上来创建新的状态、其他元素和转换。

4.将显示更改为状态表。

作用是创建有助于将图表中包含的信息传播给其他团队成员的文档。

Nested States

 

The Nested States pattern describes a Class or other element that has a number of States one or more of which themselves have states (sub states). The pattern allows these states to be displayed on the same diagram.

嵌套的状态

嵌套状态模式描述了一个类或其他元素,该类或元素具有多个状态,其中一个或多个状态本身具有状态(子状态)。模式允许这些状态显示在同一个图表上。

其目的是允许软件工程师和其他涉众在一个图表上创建两个(或更多)状态转换级别的可视化表示。

当执行转换的遍历以了解所属元素的行为时,或者当将嵌套状态放置在同一个图上时,这种表示通常很有用,无需单击组合图就可以更容易地理解状态之间的转换。

重命名图中的状态和转换以适合计划。

新状态、其他元素和连接器可以从工具箱或项目浏览器拖到图表上。

Complete State Machine

 

The Complete State Machine Pattern describes an entity (e.g. Class, Actor, Use Case or Test Case) from the point of view of the important states that it exhibits. When a state is entered an entry Action can be fired and while in the state a do action can be fired and upon leaving the state an exit action can be fired.

完整状态机

完整状态机模式从它所展示的重要状态的角度描述了一个实体(例如,类、参与者、用例或测试用例)。当进入一个状态时,一个进入动作可以被触发,而在这个状态下一个do动作可以被触发,离开状态时可以触发一个退出动作。

提供一种机制来表示系统工程师或其他涉众认为在块或其他元素的生命周期中很重要的条件(状态)。它描述了状态相关的行为,显示了元素如何从一个状态转换到另一个状态,以及在元素处于该状态期间调用了哪些活动。

当软件工程师想要定义或描述块或其他元素可能显示的一组离散状态时,使用该模式。它们通常用于分析系统某些部分的行为,通常是因为难以理解或其行为复杂。

用于:

1.重命名图中的状态和转换以适合您的计划。

2.新状态、其他元素和连接器可以从工具箱或项目浏览器拖到图表上。

One Class Executable State Machine

 

The One Class Executable State Machine pattern creates elements and diagrams that model the important states in the lifetime of a Class allowing code to be automatically generated that can be included in the implementation of a system in a range of programming languages.

一类可执行状态机:

单类可执行状态机模式创建元素和图表,这些元素和图表为类生命周期中的重要状态建模,从而允许自动生成代码,这些代码可以包含在一系列编程语言的系统实现中。

模式的目的是对类中的重要状态建模,并以各种语言生成编程代码,这些语言可以被合并到系统中。可以模拟状态机,允许各种利益相关者可视化机器如何、为什么以及何时从一种状态转换到另一种状态。

模式通常是在一个计划的分析或实现阶段创建的,该计划用于在系统中的一个或多个重要类的生命周期中建模状态。但是,它也可以在支持阶段使用,以尝试和理解在测试或生产中运行的系统中存在的复杂问题。

在可执行模拟中可视化转换的能力允许建模者或设计者对复杂且通常难以解决的问题进行推理。

下面是在使用此模式时可能需要做的一些事情的列表:

1.更改类的名称和类(属性)的实例,以适应该主动性。

2.更改状态和事件的名称,并根据需要重新指导转换,以适应计划。

GA001-181-21的更多相关文章

  1. 1.18-1.21 Oozie Coordinator调度

    一.时区问题 1.修改系统时区 ## [root@hadoop-senior hadoop-2.5.0-cdh5.3.6]# rm -rf /etc/localtime [root@hadoop-se ...

  2. Apache commons-net用法的一个示例

    jar: commons-io-2.4.jarcommons-net-3.3.jar Code: import java.io.File; import java.io.FileInputStream ...

  3. SVG:中国地图

    中国地图 <svg height="578" version="1.1" width="718" xmlns="http:/ ...

  4. Suricata的规则解读(默认和自定义)

    不多说,直接上干货! 见suricata官网 https://suricata.readthedocs.io/en/latest/rules/index.html 一.Suricata的规则所放位置 ...

  5. blog主题——黑夜

    blog主题,存储一下 /* Author: Io_oTI*/ /*Public*/ * { margin: 0; padding: 0; box-sizing: border-box; trans ...

  6. 人工神经网络(从原理到代码) Step 01 感知器 梯度下降

    版权声明: 本文由SimonLiang所有,发布于http://www.cnblogs.com/idignew/.如果转载,请注明出处,在未经作者同意下将本文用于商业用途,将追究其法律责任. 感知器 ...

  7. centos-Linux静态IP地址配置

    首先在VMware菜单中点击编辑-->虚拟网卡编辑器,查看NAT网段(子网掩码.网关.起止IP地址) 1.用nmcli命令配置IP地址 [root@Core ~]# nmcli connecti ...

  8. Android 性能优化(21)*性能工具之「GPU呈现模式分析」Profiling GPU Rendering Walkthrough:分析View显示是否超标

    Profiling GPU Rendering Walkthrough 1.In this document Prerequisites Profile GPU Rendering $adb shel ...

  9. 2014.1.21 DNS大事故(dns原理、网络封锁原理)

    1.21那天发生了什么,由1.21联想补充……  很多网站都上不去,域名解析都到了65.49.2.178这个IP地址 先科普,再深挖  dns查询类型 递归查询,迭代查询   DNS解析过程,这里使用 ...

  10. 21天学通PythonPDF高清完整版免费下载|百度云盘

    百度云盘:21天学通PythonPDF高清完整版免费下载 提取码:nqa9 豆瓣评分: 书籍封面: 内容简介  · · · · · · <21天学通Python>全面.系统.深入地讲解了P ...

随机推荐

  1. selenium中各个模块操作:下拉框、鼠标悬浮连贯、拼图拖拽操作、以及其他拖拽操作、连线操作

    1.下拉框的修改操作 方法一:定位到元素后,通过select选择对应的值 方法二:通过两次点击的方法:没有select的value属性时,采用click两次的方法去选择: click第一次后,出现下拉 ...

  2. [LeetCode]面试题 01.06. 字符串压缩

    题目 字符串压缩.利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能.比如,字符串aabcccccaaa会变为a2b1c5a3.若"压缩"后的字符串没有变短,则返回原先 ...

  3. 初等函数——指数函数(Exponential Function)

    一般地,函数叫做指数函数,其中x是自变量,函数的定义域是R.

  4. 图灵机器人api的使用方法含微信版本和网页版

    访问图灵机器人官网http://www.tuling123.com/ 注册一个新的机器人账号 注册成功后转到主页 点击我的机器人>创建机器人>微信机器人 填写基本信息 点击微信介入> ...

  5. Docker镜像构建的两种方式(六)

    镜像构建介绍 在什么情况下我们需要自己构建镜像那? (1)当我们找不到现有的镜像,比如自己开发的应用程序 (2)需要在镜像中加入特定的功能 docker构建镜像有两种方式:docker commit命 ...

  6. J.U.C之ReentrantLock 可重入锁

    * A reentrant mutual exclusion {@link Lock} with the same basic * behavior and semantics as the impl ...

  7. ssh 远程执行命令 nohup 无效问题

    昨夜1:00多准备睡觉了,突然一哥们咨询了我一个问题. 他A机器上远程执行B机器(ssh user@ip "command")上的脚本,B上的服务并没有起来. 看了下截图,脚本确实 ...

  8. kafka学习(一)初识kafka

    文章更新时间:2020/06/08 一.简介 定义:kafka是一个分布式,基于zookeeper协调的发布/订阅模式的消息系统,本质是一个MQ(消息队列Message Queue),主要用于大数据实 ...

  9. 把VS Code打造成Java开发IDE

    近期,公司推行正版化,本人使用的是JetBrains教育版,是不允许进行商业开发的,因此开启了艰难的备用IDE选型之路.最终,我选定了轻量级的Visual Studio Code(以下简称VS Cod ...

  10. Hadoop框架:集群模式下分布式环境搭建

    本文源码:GitHub·点这里 || GitEE·点这里 一.基础环境配置 1.三台服务 准备三台Centos7服务,基础环境从伪分布式环境克隆过来. 133 hop01,134 hop02,136 ...