国产MBSE建模工具之SysModeler
1 SysModeler简介
研发公司 :迪捷软件
产品性质 :基于SysML的系统建模工具,支持UML、SysML、AADL等语言,并可以进行仿真和文档生成(系统设计和分析工具)
对标产品 :IBM公司的Rhapsody, NoMagic公司的MagicDraw等
2 SysModeler背景和简介
传统的基于文档的系统工程(DBSE,Document Based System Engineering)已越来越无法适应当今关键领域的复杂系统的研制要求,基于模型的系统工程(MBSE,Model Based System Engineering)应运而生。
MBSE从需求阶段开始即通过模型(而非文档)的不断演化、迭代递增驱动系统的研制过程,包括需求分析、功能分析、系统设计、确认及验证行为均由模型表达并由模型驱动。MBSE在国外的防务、航空航天等领域已有广泛应用。
▲图1:DBSE和MBSE的对比图
SysModeler是支持基于模型的系统工程(MBSE)的系统建模和分析工具,除了支持国际系统工程协会的标准建模语言SysML,还支持UML和AADL等语言。
SysML广泛地用于系统建模,主要应用于安全关键领域,如航天航空、轨交、核电等领域。SysModeler实现的SysML全面符合SysML的国际标准,同时使系统建模无需关注软件实现的细节,更关注高层的功能划分、结构分解、行为规范和需求分析。
SysModeler为系统工程师提供功能块图(Block Diagram)捕获总体系统结构,进行系统分析和设计。
在功能块图中,可以进一步增加系统结构的细节,达到自顶向下设计的目的,且同时支持传统的软件建模常用的数据流(Flows)的概念。
3 SysModeler的核心功能和组成
▲图2:SysModeler产品界面功能图
代码生成和仿真运行
对于SysML中定义的动态图,如状态图和顺序图等,SysModeler可以生成相关的C语言或者Java语言代码。模型可以产生高质量的代码,这种代码既可以作为系统模型验证的代码,也可以作为生产系统上的代码。
这些代码可以动态运行,并以可视化的方式显示运行结果来方便调试模型,例如基于状态图的断点设置、在顺序图上捕捉不同对象之间的消息映射等等。通过模型级和代码级联合调试、验证,能够直观地尽早发现系统的设计错误或缺陷,从而较早地确定或降低项目风险。
实时诊断和分析
物理信息融合系统(CPS,Cyber Physical System)强调对物的实时、动态控制与信息服务。我们可以捕获模型的实时性需求,对模型的行为增加实时性的限制条件,从而对系统设计的实时性进行诊断和分析。SysModeler的实时框架可以使设计的模型与操作系统无关,通过实时框架,应用程序可以从一个实时操作系统移植到其他的操作系统。同时,它的可配置和可扩展功能,可适应用户自己特别的操作系统和中间件。
文档自动生成
SysModeler可以自动生成符合安全关键领域研制过程标准的中文文档,而且模型和代码的一致性更保证了文档和代码的一致性,为安全关键领域的嵌入式系统早期开发、后期经验的累积提供了很好的平台。SysModeler可以通过定制模板,来生成适合具体工作要求的文档。
需求管理
在项目的整个生命周期中,捕获、跟踪与管理用户需求及需求变化的流程是项目成功的基础。SysModeler可以集成主流的需求管理平台,如IBM的DOORS,可以编辑、跟踪和管理需求管理平台中建立起来的所有需求,以保证产品结果符合客户定义的需求,与Word、Excel和PDF有很好的集成。特别是,SysModeler可以建立系统设计和需求的相互对应,满足设计可追踪性的要求。
基于模型的测试
SysModeler支持基于模型的测试。SysModeler可以根据模型自动生成针对模型的测试用例集合,并具有较高的测试覆盖率,用于MC/DC分析,符合Do-178B标准。生成的测试用例可以输出给第三方的测试执行工具如LDRA的testbed等执行测试。
4 SysModeler的特点和优势
- SysML标准的高度符合性;
- 使用了形式化验证相关技术来保证模型和代码的一致性;
- 开放中立的接口和标准,广泛地集成第三方工具。