共计 3211 个字符,预计需要花费 9 分钟才能阅读完成。
title: SDL 流程图在线制作工具, 轻松绘制业余 SDL 流程图, 在线 SDL 图设计 在线制图
什么是 SDL
SDL (Specification and Description Language) , 定义了一种标准和描述语言, 是一种用于形容实时零碎的建模语言。
SDL 图阐明了标准和描述语言建模的过程。它可广泛应用于汽车、航空、通信、医疗和电信畛域。
SDL 图有三个局部:
- 零碎定义
- 块
- 流程
零碎定义定义了零碎的次要节点 (块),如客户端和服务器,而块图显示了更多细节。
流程显示了每个块中的解决步骤。能够参考状态机和 UML。
SDL 的构造
- 零碎
整体设计被称为零碎,
零碎之外的所有被称为环境。
零碎没有特定的图形示意,但如果须要,能够应用块示意。 - 代理
代理是系统结构中的一个元素。代理有两种: 块和过程。零碎是最外层的块。
block
块是一种结构化元素,并不意味着指标上的任何物理实现。一个块能够进一步分解成多个块,以此来解决大型零碎。块符号是一个实心矩形,两头是它的名称
Process
一个过程基本上就是将要执行的代码。它是一个基于无限状态机的工作,有一个隐式音讯队列来接管音讯。同一过程的多个实例能够独立运行。系统启动时呈现的实例数和最大实例数在过程名称后的括号中申明。过程符号的残缺语法是: < 过程名 >[(< 启动时的实例数 > ,< 最大实例数 >)] 如果省略,则启动时实例数的默认值为 1,最大实例数为无穷大。
Architecture
整体架构能够看作是一棵树,树叶就是过程。
Behavior 首先,一个过程有一个隐式音讯队列来接管通道中列出的音讯。
过程形容基于扩大的无限状态机。过程状态决定了过程在承受特定刺激时的行为。过渡是两种状态之间的代码。
该过程能够挂在它的音讯队列或信号量上,或者运行例如执行代码。来自环境或从另一个代理到代理的信息刺激称为信号。过程代理接管的信号首先被放入队列 (输出端口)。
当状态机处于期待状态时,如果输出端口中的第一个信号针对该状态被使能,则状态机开始转换到另一个状态。
Start
开始符号代表流程执行的终点
State
过程状态的名称写在状态符号中
Stop
过程能够以进行符号完结。
Message input
音讯输出符号代表在 SDL-RT 状态下预期的音讯类型。它总是追随一个 SDL-RT 状态符号,如果接管到该符号,则执行输出之后的符号。音讯输出符号中的语法如下:
Message output
音讯输入用于替换信息。它以异步形式将数据放入接管方的音讯队列中。
<message name>[(<parameter value> {,<parameter value>}*)] TO_XXX… ```
![在线 SDL 图设计](https://www.freedgo.com/public/themes/freedgo/uml/output.png "在线 SDL 图设计")
## Message save
一个过程可能有中间状态,在正在进行的工作实现之前,不能解决新的申请。这些新的申请不应该失落,而应该保留,直到过程达到稳固状态。储蓄概念曾经被提出来了,它基本上保留着信息,直到它被解决。
The symbol syntax is: <message name> `
Continuous signal
一个间断的信号是一个表达式,它在一个过程达到一个新的状态后立刻被求值。它在任何音讯输出或保留音讯之前进行评估。
Action
动作符号蕴含一组用 C 代码编写的指令。语法是 C 语言的语法。
Decision
一个决策符号能够看作一个 C 开关 / 案例。
Semaphore take
当过程试图获取信号量时,应用信号量获取符号。
Semaphore give
要给出一个信号量,“信号量给出 SDL-RT 图形符号”中的语法是:< 信号量名称 >
Timer start
启动计时器“启动计时器 SDL-RT 图形符号”中的语法为:< 计时器名称 >(< 刻度计数中的工夫值 >)
Timer stop
要勾销计时器,“勾销计时器 SDL-RT 图形符号”中的语法为:< 计时器名称 >
Task creation
要创立流程,创立流程符号中的语法是:
<process name>[:<process class>] [PRIO <priority>]
Procedure call
过程调用符号用于调用 SDL-RT 过程。
过程调用中的语法 SDL 图形符号是规范的 C 语法:
[<return variable> =] <procedure name>({<parameters>}*);
Connectors
连接器用于: 将一个过渡宰割成几个局部,以便图表放弃清晰和可打印,将不同的分支汇集到同一点。
Transition option
符号的分支具备真或假的值。真正的分支是在定义表达式时定义的,因而等价的 C 代码是:#ifdef <expression>
Comment
正文符号容许编写任何类型的非正式文本,并将其连贯到所需的符号。如果须要,正文符号能够不连贯。
Extension
扩大符号用于实现符号中的表达式。扩大符号中的表达式被视为连贯符号中表达式的一部分。因而,语法是连贯符号之一。
Procedure start
该符号专用于程序图。它批示过程入口点。
Procedure return
该符号专用于程序图。它示意程序完结。
Text symbol
这个符号用来申明 C 类型变量。
Additional heading symbol
此符号用于申明 SDL-RT 特定题目
Example on Behavior
在一种状态下 (例如闲暇),该过程从队列中取出第一个信号,该信号是输出符号(此处为代码,蕴含来自面板的卡标识和集体识别码的信息) 中批示的类型之一。闲暇状态之后是一个输出符号,形容信号代码的耗费。在接管到代码信号后的转换中,它将应用变量 cur_panel 来记住信号来自哪个面板,而后将代码发送到地方单元进行验证。下一个状态是验证。在状态验证中,控制器将只承受失常或不失常。如果它失常,它将通过调用程序“打开门”来打开门。
SDL vs State Machine Diagram
巧克力自动售货机是一种主动机器,在插入适当的代码后,能够提供不同类型的巧克力。
State Machine
无限状态机由无限数量的状态组成,其中一个是初始状态,多个转换连贯这些状态。
在自动售货机 (状态图示例) 中,圆圈下方代表状态,箭头代表过渡。每个箭头都用一个触发转换的输出 (斜线前) 和一个可能的输入列表 (斜线后) 来润饰。
The Corresponding SDL Diagram
创立网络拓扑图的形式有很多,若抉择在线绘制网络拓扑图,举荐应用在线制图网站:freedgo Design。freedgo Design,其拜访地址为: https://www.freedgo.com。freedgo design 在线制图网站是一款多类型的图形图表设计软件,软件内容自带丰盛的几何图形模板,能够用于绘制业余的网络拓扑图,泳道图、影响图、SDL 图、审批图、会计网络拓扑图等,提供丰盛的网络图例子,上手更轻松
当初,一起开看如何应用 Freedgo Design 制做 SDL 图。
### 步骤一:
拜访 https://www.freedgo.com , 先注册一个用户,注册胜利后,登录到 首页
### 步骤二:
拜访 https://www.freedgo.com/draw-… , 进入 制图页面
,或者从 首页
页面 顶部菜单点击 开始制作
。
进入制图页面后 点击 文件
-> 从类型中新建
-> 流程图
-> SDL 图
或者点击图例,在图例中找到 流程图
-> SDL 图
,抉择一个相似的图例进行改变
软件提供多种连贯款式,在该 SDL 图中,能够抉择一般的直角连接线。在连接线上,还能够输出文字做进一步的阐明。
### 步骤三:
网络拓扑图制作工具领有一套功能丰富的款式,用户能够对关闭图形进行单色填充、突变填充、文本大小地位色彩调整。通过图案填充的网络拓扑图,颜值晋升了不少。
更多根本流程的例子 请参考 [图例] (https://www.freedgo.com/new/s…