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. Vue 事件的高级使用方法

    Vue 事件的高级使用方法 事件方法 在Vue中提供了4中事件监听方法,分别是: $on(event: string | Array, fn) $emit(event: string) $once(e ...

  2. 如何制作一个手机上的Github图床捷径(workflow)

    准备工作 github账号与绑定邮箱 建立一个仓库用于存放图片 生成github token 注意生成之后要备份以免后面要用到(页面刷新之后会看不见) 了解github上传文件的 GitHub API ...

  3. burpsuite抓包乱码问题

    网上百度说只需要Change Font选择中文字体即可,但是我这边试过还是乱码,按照网上一篇博客说抓包中按钮展示乱码的问题,在下面Character Sets选择Use a specific char ...

  4. loadrunner跑场景时报错Full MDB file. New error messages will be ignored

    这个原因是在controller跑场景时,controller的日志文件占用内存太大 解决办法:先找到controller的日志文件Results——Results Setting——找到日志的路径, ...

  5. oracle之复杂查询之一:多表连接技术

    复杂查询之一:多表连接技术 7.1 简单查询的解析方法: 全表扫描:指针从第一条记录开始,依次逐行处理,直到最后一条记录结束: 横向选择+纵向投影=结果集 7.2 多表连接 交叉连接(笛卡尔积) 非等 ...

  6. Unit5:广播

    静态广播 1.定义 public class TestBroadCast extends BroadcastReceiver { @Override public void onReceive(Con ...

  7. [LeetCode]415. 字符串相加、43. 字符串相乘

    题目 415. 字符串相加 给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和. 题解 维护一个temp表示当前两数相加+上一个进位的和. 每次更新结果的一位. 注意终止条件. 最后将 ...

  8. [Java并发编程之美]第1章 线程基础 补充知识

    1.2线程创建与运行 创建线程有三种方式: 继承Thread类并重写run方法: 实现Runnable接口的run方法,new Thread时将该类对象作为参数传入: 实现Callable接口的cal ...

  9. 从CSDN博客下载的图片如何无损去水印

    如果你想下载别人CSDN博客文章中很好看的图片,但却有水印 想要下载去水印的图片,可以先鼠标右击该图片,选择复制图片地址 https://img-blog.csdnimg.cn/20200916140 ...

  10. 关于JAVA的一些零碎小知识

    1.经常遇到集合之间需要互相转化的 Array和List转化:Arrays.asList(数组):list.toArray(); List和Set转化:Set<String> set = ...