MatlabSimulinkStateflow控制算法建模规范中文.docx
《MatlabSimulinkStateflow控制算法建模规范中文.docx》由会员分享,可在线阅读,更多相关《MatlabSimulinkStateflow控制算法建模规范中文.docx(28页珍藏版)》请在冰豆网上搜索。
MatlabSimulinkStateflow控制算法建模规范中文
Matlab-Simulink-Stateflow控制算法建模规范-中文
Matlab/Simulink/Stateflow控制算法建模规范
3.0版
Mathworks汽车咨询委员会
(MAAB)
1修订历史
日期
修订
2001.02.04
初始版本1.0版发布
2007.04.27
更新版本2.0版发布
2011.07.30
更新版本3.0版发布
2012.08.31
更新版本4.0版发布
1.1.1
1.1.2
1.1.3规范ID
●规范的ID由两个小写字母(表示规则的出处)和四位数字组成,中间用一段下划线隔开。
●一旦一份新规范有了ID,该ID将不再改变。
●ID用来指代相应的规范。
●以“na”、“jp”、“jc”、“eu”开头的ID预留给未来的MAAB规范使用。
●保留以“db”、“jm”、“hd”、“ar”开头的ID。
●新规则的ID不得以上述字母开头。
1.1.4规范标题
●规范的标题应对该规范的应用领域进行简短且唯一的描述(例如,名字的长度)。
●规范的标题适用于前提条件部分及定制检测工具。
●规范的标题应与到该规范的超链接同时写出。
注:
标题不应为对规范内容的多余的简要描述。
对规范内容的描述未来可能发生改变,但规范的标题始终不得更改。
1.1.5优先级
每条规范都须根据下列优先顺序进行评级:
●强制要求
●强烈建议
●建议
优先级描述该规范的重要程度并决定违反该规范的后果严重程度:
强制要求
强烈建议
建议
定义
●所有公司一致认定为绝对必不可少的规范
●所有公司都100%遵守的规范
●被一致认定为良好做法,但遗留模型阻碍了公司对该规范100%的遵守
●模型须以可能的最大程度遵守该规范,但并未要求对其100%的遵守
●为改进模型图的外观建议遵守的规范,但该规范对于模型的运行并非起决定作用
●如果遵守会更好,但并非必要的规范
后果
如果违反了该规范
●必要的项目出现缺失
●模型无法正常工作
●质量和外观劣化
●可能对可维修性、可携带型及可重用性产生不利影响
●外观可能与其他项目不一致
豁免政策
如果有意地忽略该规范
●原因须备有文件证明
1.1.6适用范围
适用范围可以是以下三者之一:
MAAB(MathWorks汽车咨询委员会)
J-MAAB(日本MAAB)
NA-MAAB(北美MAAB)
“MAAB”是一个与MathsWorks紧密合作的汽车制造商及供应商的团队。
MAAB包括两个子团队,即日本MAAB及北美MAAB。
“J-MAAB”是MAAB的子团队,包括与MathsWorks紧密合作的日本汽车制造商及供应商。
J-MAAB规则的适用范围为日本当地。
“NA-MAAB”是MAAB的子团队,包括与MathsWorks紧密合作的美国及欧洲的汽车制造商及供应商。
该规则是美国及欧洲当地的规则。
覆盖范围为美国和欧洲。
1.1.7MATLAB版本
本规范适用于MATLAB及Simulink所有版本的产品。
如果一条规则仅适用于MATLAB的某一个或某几个版本,则适用版本的信息应在MATLAB版本部分进行说明,说明格式为下列格式中的一种:
●全部:
MATLAB的所有版本
●RX,RY,RZ:
MATLAB的某一特定版本
●RX及其之前的版本:
RX发布之前的MATLAB版本
●RX及其之后的版本:
RX发布之后直至现行版本发布期间的MATLAB版本
●RX至RY的版本:
RX至RY之间的MATLAB版本
1.1.8前提
●该部分是到其他规范的链接,链接的规范均为本规范的前提(逻辑关联)。
●每个链接须注明相应规范的ID(为了一致性)和标题(为了可读性)。
“前提”部分不应包括任何其他文本。
1.1.9描述
●该部分包括对规范的详细描述。
●如有需要,可添加图像和表格。
注:
如果正式表达(数学符号、正规表达式、语法图及精确数值/范围)可用,应使用正式表达对规范进行清楚明白的描述并指定一项自动检测。
此外,为了日常参考,还须提供一份人性化的、可理解的、非正式的描述。
1.1.10理由
规范的建议可出于以下一种或多种原因:
●可读性:
易于理解的算法
●可读的模型
●统一的模型外观、编码及文件编制
●清洁的界面
●专业的文件编制
●工作流:
高效的发展进程及工作流
●易于维护
●迅速的改型设计
●可重复使用的部件
●无问题的模型交换
●模型可携带型
●模拟:
高效的模拟与分析
●模拟速率
●模拟内存
●模型检测
●验证&确认:
有能力对模型及生成的代码就下列因素进行验证和确认:
●需求的可追溯性
●测试
●无问题的系统集成
●清洁的界面
●代码生成:
生成对内嵌系统有效的代码
●快速的软件变更
●生成的代码的稳健性
1.1.11最终更改
“最终更改部分”包括文件版本编号。
1.2文件使用
以下段落提供的信息是关于使用本文件作为参考以及参照本文件编写具体项目的规范文件的。
附件A中可以找到关于对本规范进行自动校核的信息。
2.4.1规范交互作用语义
本文件的起始段“命名规范与模型架构”提供了适用于各种模型的基本规范。
其后的“Simulink与Stateflow”部分提供上述环境中的具体规则。
某些规范是依赖于其他规范的,模板中自始至终都对其作了明确说明。
2.4.2隐匿的子系统及可读性规则
如果用户没有查看模型内部隐匿子系统的内容,则关于可读性的规范不再适
2软件环境
2.1总则
2.1.1na_0026:
一致的软件环境
ID:
标题
na_0026:
一致的软件环境
优先级
建议
适用范围
北美MAAB
MATLAB版本
见“描述”
前提
描述
在软件开发过程中,建议在整个项目中始终使用一致的软件开发环境。
此处所说的软件包括但不仅限于:
●MATLAB
●Simulink
●CCompiler(供模拟)
●CCompiler(供目标硬件)
理由
☑可读性
□工作流
□模拟
□验证&确认
☑代码生成
参见
jh_0042:
必需的软件
最终更改
3.00版
2.1.2na_0027:
仅有标准库模块的使用
ID:
标题
na_0027:
仅有标准库模块的使用
优先级
建议
适用范围
北美MAAB
MATLAB版本
全部
前提
描述
公司在开发模型时应指定Simulink的一个子集以供使用。
模块列表可包括由公司或第三方开发的自定义模块库。
模型应仅由这些模块构成。
开发过程中可使用非兼容性模块。
如果使用了非兼容性模块,须用一种颜色/图标和/或注释进行标记。
这些非兼容性模块在用于生成生产代码之前必须移除。
理由
☑可读性
□工作流
☑模拟
☑验证&确认
☑代码生成
参见
hyl_0201:
只使用标准库模块
最终更改
3.00版
3命名规范
3.1总则
4.1.1ar_0001:
文件名
ID:
标题
ar_0001:
文件名
优先级
强制要求
适用范围
MAAB
MATLAB版本
全部
前提
描述
文件名应符合以下约束条件:
形式
文件名=文件名称.扩展
名称:
无前导位数,无空格符号
扩展:
无空格符号
唯一性
□上级项目目录内的所有文件名
□不得与C/C++或MATLAB关键词冲突
允许的字符
名称:
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_
扩展:
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
下划线
名称:
●可使用下划线分离各个部分
●不得连续使用一个以上的下划线
●不得以下划线开头
●不得以下划线结尾
扩展:
不得使用下划线
理由
☑可读性
☑工作流
☑模拟
□验证&确认
☑代码生成
最终更改
3.00版
4.1.2ar_0002:
目录名
ID:
标题
ar_0002:
目录名
优先级
强制要求
适用范围
MAAB
MATLAB版本
全部
前提
描述
目录名应符合以下约束条件:
形式
目录名=名称
名称:
无前导位数,无空格符号
唯一性
上级项目目录内的所有文件名
允许的字符
名称:
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_
下划线
名称:
●可使用下划线分离各个部分
●不得连续使用一个以上的下划线
●不得以下划线开头
●不得以下划线结尾
理由
☑可读性
☑工作流
☑模拟
□验证&确认
☑代码生成
最终更改
1.00版
4.1.3na_0035:
命名规范的采用
ID:
标题
na_0035:
命名规范的采用
优先级
建议
适用范围
北美MAAB
MATLAB版本
全部
前提
描述
建议采用命名规范。
命名规范为模块、信号、参数和数据类型的命名提供了规范。
命名规范经常涉及下列问题:
●符合程序设计语言及下游工具
〇长度
〇符号的使用
●可读性
〇使用下划线
〇使用大写字母
●编码信息
〇使用“有意义”的名称
〇标准的缩写和简称
〇数据类型
〇工程单位
〇数据谱系关系
〇存储器类型
理由
☑可读性
☑工作流
☑模拟
□验证&确认
☑代码生成
最终更改
3.00版
3.2模型内容规范
4.2.1jc_0201:
子系统名称可用字符
ID:
标题
jc_0201:
子系统名称可用字符
优先级
强烈建议
适用范围
MAAB
MATLAB版本
全部
前提
描述
所有子系统模块的名称均应符合以下约束条件:
形式
名称:
●不得以数字开头
●不得出现空白间隔
●不得出现回车符
允许的字符
名称:
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_
下划线
名称:
●可使用下划线分离各个部分
●不得连续使用一个以上的下划线
●不得以下划线开头
●不得以下划线结尾
理由
☑可读性
□工作流
□模拟
□验证&确认
□代码生成
最终更改
2.20版
4.2.2jc_0211:
输入模块与输出模块名称可用字符
ID:
标题
jc_0211:
输入模块与输出模块名称可用字符
优先级
强烈建议
适用范围
MAAB
MATLAB版本
全部
前提
描述
所有输入模块与输出模块的名称均应符合以下约束条件:
形式
名称:
●不得以数字开头
●不得出现空白间隔
●不得出现回车符
允许的字符
名称:
abcdefghijklmnopqrstuvwxyzABCDEFG