GA001-181-21

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.18-1.21 Oozie Coordinator调度
一.时区问题 1.修改系统时区 ## [root@hadoop-senior hadoop-2.5.0-cdh5.3.6]# rm -rf /etc/localtime [root@hadoop-se ...
- Apache commons-net用法的一个示例
jar: commons-io-2.4.jarcommons-net-3.3.jar Code: import java.io.File; import java.io.FileInputStream ...
- SVG:中国地图
中国地图 <svg height="578" version="1.1" width="718" xmlns="http:/ ...
- Suricata的规则解读(默认和自定义)
不多说,直接上干货! 见suricata官网 https://suricata.readthedocs.io/en/latest/rules/index.html 一.Suricata的规则所放位置 ...
- blog主题——黑夜
blog主题,存储一下 /* Author: Io_oTI*/ /*Public*/ * { margin: 0; padding: 0; box-sizing: border-box; trans ...
- 人工神经网络(从原理到代码) Step 01 感知器 梯度下降
版权声明: 本文由SimonLiang所有,发布于http://www.cnblogs.com/idignew/.如果转载,请注明出处,在未经作者同意下将本文用于商业用途,将追究其法律责任. 感知器 ...
- centos-Linux静态IP地址配置
首先在VMware菜单中点击编辑-->虚拟网卡编辑器,查看NAT网段(子网掩码.网关.起止IP地址) 1.用nmcli命令配置IP地址 [root@Core ~]# nmcli connecti ...
- Android 性能优化(21)*性能工具之「GPU呈现模式分析」Profiling GPU Rendering Walkthrough:分析View显示是否超标
Profiling GPU Rendering Walkthrough 1.In this document Prerequisites Profile GPU Rendering $adb shel ...
- 2014.1.21 DNS大事故(dns原理、网络封锁原理)
1.21那天发生了什么,由1.21联想补充…… 很多网站都上不去,域名解析都到了65.49.2.178这个IP地址 先科普,再深挖 dns查询类型 递归查询,迭代查询 DNS解析过程,这里使用 ...
- 21天学通PythonPDF高清完整版免费下载|百度云盘
百度云盘:21天学通PythonPDF高清完整版免费下载 提取码:nqa9 豆瓣评分: 书籍封面: 内容简介 · · · · · · <21天学通Python>全面.系统.深入地讲解了P ...
随机推荐
- JavaScript浮点数及其运算
.普及两个函数Math.pow(底数,几次方)Number.toFixed(小数位数)2.浮点数相加function accAdd(arg1,arg2){ var r1,r2,m; try{r ...
- 怎么把后台传过来的Json拼成table 用Jquery ajax()
页面上的表格定义:<table id="tableId"></table> js中的代码:var $parent0 = $('#tableId);//获取页 ...
- elo system
今天了解了一下游戏中的PVP模块的实现,大多数的游戏都使用到了ELO算法,刚开始的时候并不清楚这个算法是做什么的,对此开始大量查找有关于ELO算法的资源,功夫不负有心人,总算找到一些有用的资源了. 先 ...
- oracle之时间类型
Oracle 时间类型及Timezone 20.1 Oracle的六种时间类型 DATETIMESTAMPTIMESTAMP WITH TIME ZONETIMESTAMP WITH LOCAL TI ...
- 【系统之音】Android进程的创建及启动简述
Android系统中的进程(这里不包括init等底层的进程)都是通过Zygote fork而来的,那这些进程的启动流程都是怎样的呢? 这里将Android进程分为两个部分: (1)系统框架进程Syst ...
- openstack (共享服务) 消息队列rabbitmq服务
云计算openstack共享组件——消息队列rabbitmq(3) 一.MQ 全称为 Message Queue, 消息队列( MQ ) 是一种应用程序对应用程序的通信方法.应用程序通过读写出入队 ...
- 数据库:drop、truncate、delete的区别
近日在删除数据时,发现除了常用的Delete & Drop语句之外,还有Truncate也是与删除数据相关的,针对上述三种有进行简单的比较与整理 用法 drop 用法:drop table 表 ...
- LevelDb 101学习
转自http://www.cnblogs.com/haippy/archive/2011/12/04/2276064.html LevelDb日知录之一:LevelDb 101 说起LevelDb也许 ...
- Linux 命令: sed
sed -- sed 命令对于Linux系统来说,在命令行修改,操作文本是非常的方便. 特别是批量的修改某些字符等,是非常省时省力的,非常适合在自动化的脚本中去应用. 如下的几个小例子: 1)如何删除 ...
- PHP审计基础
php核心配置 register_globals 全局变量注册开关 设置为on时,把GET/POST的变量注册成全局变量 PHP 5.4.0中移除 allow_url_include 包含远程文件 设 ...