跨硬件软件描述语言
==================
Trans-hardware-software Descript Language
=========================================
## 0.环境
---------
一个环境中的对象应该圈起来。如果是多个环境叠加(这是有可能的),那就意味着有交叉的域。
如果一个环境中的对象什么都没有,那就是一个空环境。
例子:
|--------|
| 布丁 |
| 狗A |
|--------| ……(环境1)
↑这个环境里有一个布丁和一条狗。
也可以画的比较弯曲:
/--------\
| 布丁 |
| 狗A |
\--------/ ……(其实还是环境1)
也可以画的大一点宽一点:
|--------------------------------|
| |
| 布丁 |
| |
| 狗A |
| |
|--------------------------------| ……(其实还是环境1)
↑这个环境也是有一个布丁和一条狗。
|--------|
| |
| |
|--------| ……(环境2)
↑这个环境什么也没有。
## 1.实物
---------
一个物体就是一个具体的物理对象。比如人,物,某个机械结构部件。
我们看环境1:
|--------|
| 布丁 |
| 狗A |
|--------| ……(环境1)
这里其实就有两个东西:布丁,狗。
物体用方括号括起来强调他当时物质性。
例子:
|--------|
| [MCU] |
| 狗A |
|--------| ……(环境3)
↑这个环境有一条狗和一块MCU。
更多的例子:
|-------------|
| [MCU] |
| [stm32] |
|-------------| ……(环境4)
这个环境↑没有狗了,有一块MCU和一块stm32。
注意[MCU]和[stm32]是不同的。其实来说我们买不到[MCU],我们只能买到 [stm32]。
那么[MCU]到底是什么?留给你们。
不太强调的物质用 () ,例如
|----------------------|
| (光传感器) [灯泡] |
|----------------------| ……(环境x)
这个环境有一个(光传感器),还有一个[灯泡]。
## 2.实物的软件设施和穿戴设备
-----------------------------
如果一个实物,也就是硬件上面搭着一个什么软件,就在他后面后缀一个 / 和相应的软件设施。
|-------------|
| 电脑 |
|-------------| ……(环境5)
↑这里是一个环境,然后这个环境有台电脑。
|----------------|
| 电脑/linux |
|----------------| ……(环境6)
↑这里是一个环境,然后这个环境有台电脑,跑着linux。
/可以连用。
|-----------------------|
| 电脑/linux/apache |
|-----------------------| ……(环境7)
↑这里是一个环境,然后这个环境有台电脑,跑着linux和apache。
|------------------------------|
| 电脑A/linux/apache |
| 电脑B/windows/视频播放器 |
| 电脑C/mac/iTunes [狗A]|
|------------------------------| ……(环境8)
↑这里是一个环境,然后这个环境有三台电脑,一台跑着linux,还跑了个Apache,一台跑了windows,上面还有个视频播放器,还有一台是一个mac,上面有个iTunes。此外这个环境还有一条狗。
用 + 表示这个实物还穿戴的设备。
|-------------------------------------|
| 电脑A/linux/apache |
| 电脑B/windows/视频播放器 |
| 电脑C/mac/iTunes [狗A]+收音机|
|-------------------------------------| ……(环境9)
↑这里是一个环境,然后这个环境有三台电脑,一台跑着linux,还跑了个Apache,一台跑了windows,上面还有个视频播放器,还有一台是一个mac,上面有个iTunes。此外这个环境还有一条狗。这个狗还带着一台收音机。
## 3. 解析式
------------
使用 = 表示左侧的东西可以解析为右边。
应该保证这种解析是相等的,完备的。
例如:
%%%
冯氏机 = 输入设备 + 输出设备 + 存储器 + 运算器 + 控制器
…… 式子1
%%%
就一种理解的方法来说,我们举个不一定大家都认为的例子:
%%%
计算机 = 计算机的软件 + 计算机的硬件
…… 式子2
%%%
又例如:
%%%
振华中学2003级5班 = 振华中学2003级5班老师们 + 振华中学2003级5班学生
…… 式子3
%%%
又或者:
%%%
振华中学2003级5班 = 振华中学2003级5班委会 + 振华中学2003级5班非班委学生
…… 式子4
%%%
%%%
振华中学2003级5班 = 振华中学2003级5班的公共财物 + 振华中学2003级5班学生老师
…… 式子5
%%%
注意到,对比式子3和式子4,式子3认为振华中学2003级5班老师们也是振华中学2003级5班的一部分,
而式子4则不认为振华中学2003级5班老师们也是振华中学2003级5班的一部分。
对比式子3和式子5,式子5认为振华中学2003级5班的公共财物(扫把,黑板,桌子凳子之类的总和)也是振华中学2003级5班的一部分,而式子3则不认为振华中学2003级5班的公共财物也是振华中学2003级5班的一部分。同时他们都认为振华中学2003级5班老师们是振华中学2003级5班的一部分。
那这个振华中学2003级5班的公共财物又是什么呢?假如振华中学2003级5班的教室是这样子的而且刚刚就是这样子的:
|----------------------------|
|窗A 黑板 门|
|卫生工具 讲台 饮水机|
|桌子1 桌子2 桌子3 桌子4 |
|凳子1 凳子2 凳子3 凳子4 |
|桌子5 桌子6 桌子7 桌子8 |
|凳子5 凳子6 凳子7 凳子8 |
|桌子9 桌子10 桌子11 桌子12|
|凳子9 凳子10 凳子11 凳子12|
------------------------------ ……(环境10)
如果门窗也属于公共财物,那么基本上:
振华中学2003级5班的公共财物 = 窗A + 黑板 + 门
+ 卫生工具 + 讲台 + 饮水机 + Σ(1,12) 桌子i
+ Σ(1,12) 凳子i
如果振华中学2003级5班的教室不是这样子的……那就看振华中学2003级5班的教室是什么样子的吧 :-)
## 4.抽象系统总体
解析式的一个常见用法是表述整个系统由什么构成:
%%%
系统总体 = 系统的部分1 + 系统的部分2 + 系统的部分3 ……
…… 式子6
%%%
例如:
%%%
系统总体 = 环境9 + 环境11
%%%
|-------------------------------------|
| 电脑A/linux/apache |
| 电脑B/windows/视频播放器 |
| 电脑C/mac/iTunes [狗A]+收音机|
|-------------------------------------| ……(环境9)
|-------------------------------------|
| 广播台 余淮 |
|-------------------------------------| ……(环境11)
## 5.系统流程/线路/信息介质
如果是双向的通路,也即A可以传给B,B也可以传给A,画 -
如果是单向的,画 ->
可以直接标注通路的介质,例如(USB线),(电磁波)
可以直接写不同的case
直接用传感器感知的环境动态使用 ~~
例如:
|---------------------------------------------------------------|
| |
| |-------------------------------------| |
| | 电脑A/linux/apache | |
| | 电脑B/windows/视频播放器 | |
| | 电脑C/mac/iTunes [狗A]+收音机| |
| |-------------------------------------| ……(环境9) |
| ^ |
| ----------------------------+ 电磁波 |
| | |
| |-------------------------------------| |
| | 广播台 余淮 | |
| |-------------------------------------| ……(环境11)|
| | ……(环境12)
|---------------------------------------------------------------|
就是说,广播台通过电磁波传递信息给收音机。
|---------------------------------------------------------------|
| |
| |-------------------------------------| |
| | 电脑A/linux/apache | |
| | 电脑B/windows/视频播放器 | |
| | 电脑C/mac/iTunes [狗A]+收音机| |
| |-------------------------------------| ……(环境9) |
| ^ |
| ----------------------------+ 电磁波 |
| | |
| |-------------------------------------| |
| | 广播台 <-(智力)-- 余淮 | |
| |-------------------------------------| ……(环境11)|
| | ……(环境12)
|---------------------------------------------------------------|
这就是说,余淮通过智力调用广播台。注意到余淮本身就有直接感知环境的能力。
我们这里假设,余淮一看到灯光就会去调用广播台:
|---------------------------------------------------------------|
| |
| |-------------------------------------| |
| | 电脑A/linux/apache | |
| | 电脑B/windows/视频播放器 | |
| | 电脑C/mac/iTunes [狗A]+收音机| |
| |-------------------------------------| ……(环境9) |
| ↑ |
| ----------------------------+ 电磁波 |
| | |
| |-------------------------------------| |
| | 广播台 <-(智力)-- 余淮~~看到了灯光| |
| |-------------------------------------| ……(环境11)|
| | ……(环境12)
|---------------------------------------------------------------|
同时,狗如果听到了G,就会去开电脑C,听到了其他的就会去开电脑A:
|---------------------------------------------------------------|
| |
| |------------------------------------------| |
| | 电脑A/linux/apache <--------+ 其他 | |
| | 电脑B/windows/视频播放器 | | |
| | 电脑C/mac/iTunes <-听到G-[狗A]+收音机| |
| |------------------------------------------| ……(环境9) |
| ↑ |
| ----------------------------+ 电磁波 |
| | |
| |-------------------------------------| |
| | 广播台 <-(智力)-- 余淮~~看到了灯光| |
| |-------------------------------------| ……(环境11)|
| | ……(环境12)
|---------------------------------------------------------------|
这样子我们就画好了一整个的,如果余淮看到了灯光,他跑去开启广播台,然后狗A听到了之后去开电脑A或者电脑C的过程。
另一个可能是我们不用电磁波,用耳机或者USB之类的:
|---------------------------------------------------------------|
| |
| |------------------------------------------| |
| | 电脑A/linux/apache <--------+ 其他 | |
| | 电脑B/windows/视频播放器 | | |
| | 电脑C/mac/iTunes <-听到G-[狗A]+耳机 | |
| |------------------------------------------| ……(环境9) |
| | |
| ----------------------------+ 耳机线 |
| | |
| |-------------------------------------| |
| | 录音机 <-(智力)-- 余淮~~看到了灯光| |
| |-------------------------------------| ……(环境11)|
| | ……(环境13)
|---------------------------------------------------------------|
这里我们搞了一条耳机线和一台录音机,然后狗A配了一台耳机,来实现环境12差不多的效果。
6. 更多的例子
-------------
|-------------------------------------------------------------|
| |
| USB线直连PCB |
| %室温上升% ~~ (温度传感器) ----> [stm32]/机械臂控制程序 |
| | wifi |
| 手 v |
| 工作人员 --> (报警按钮)
跨硬件软件描述语言
猜你喜欢
转载自www.cnblogs.com/worker1/p/10083359.html
今日推荐
周排行