CN1996237A - 基于模型的面向嵌入式实时操作系统的建模方法 - Google Patents
基于模型的面向嵌入式实时操作系统的建模方法 Download PDFInfo
- Publication number
- CN1996237A CN1996237A CN 200610155325 CN200610155325A CN1996237A CN 1996237 A CN1996237 A CN 1996237A CN 200610155325 CN200610155325 CN 200610155325 CN 200610155325 A CN200610155325 A CN 200610155325A CN 1996237 A CN1996237 A CN 1996237A
- Authority
- CN
- China
- Prior art keywords
- task
- operating system
- module
- timer
- modeling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本发明涉及计算机领域的嵌入式实时系统,旨在提供一种基于模型的面向嵌入式实时操作系统的建模方法。该方法包括步骤:建立静态图、建立动态图、自动生成时间图和自动生成时序图。本发明具有的有益的效果是:模型可以在各种芯片和各种实时操作系统中运用;能够充分的反映一个系统模型的各个方面,很大的提高了模型的准确性和可行性;模型的自动生成很好的节省了建模时间和增强建模的准确度;可以大大减少整个开发过程在编写代码,撰写文档和模拟测试过程中所花费的时间。
Description
技术领域
本发明涉及计算机领域的嵌入式实时系统,特别涉及一种基于模型的面向嵌入式实时操作系统的建模方法。
背景技术
嵌入式实时操作系统,也叫实时内核,是在各类嵌入式芯片的应用程序上实现多任务的机制。它的核心功能是实现多任务调度,以及任务间的通讯等。
嵌入式实时操作系统运用于各个领域,其执行的效率和可靠性都高于普通的前后台系统的程序,面向嵌入式实时操作系统的开发设计是嵌入式实时操作系统应用的关键。当前的嵌入式操作系统应用开发主要以手写代码为主,开发者必须对该操作系统内核十分了解。这种开发模式不仅对工程师的要求很高,要求工程师熟悉内核代码。而且延长了开发的时间,在开发过程中产生很多人为的错误。以手写代码为主的开发模式的弊端不断地涌现,一些成熟的商用操作系统应用开发已经转向了可视化编程和单独适合自己操作系统的建模开发环境。这种开发模式在不同的实时操作系统之间缺乏兼容性,面向实时操作系统进行设计开发对工程师提出了挑战,增加了开发过程中的错误,拖长了开发时间。
建模的过程是使用高层次的规约来描述软件是如何形成的,最后我们看到的是源代码这种字面的形式。建模实际上是“创建代码”过程中不可分离的一部分。系统工程师偏向集中精力建模,基于模型的开发在软件开发中越来越重要,当前形成了统一的建模语言和标准,比如UML(Unified Modeling Language统一建模语言)。但是在实时嵌入式领域,基于模型的设计没有得到充分发展,模型设计都是高层的,模型设计完了之后,就是一堆图纸,除了开头用于项目人员的交流,总体来说对整个开发过程贡献不大。目前在面向实时操作系统的开发中虽然有了建模,但主要工作还是在手写代码这部分,对开发带来了很大的影响。为了解决上述问题,本发明提出一个面向实时操作系统的基于模型的建模方法,极大的方便了工程师在嵌入式实时系统领域进行建模设计。
发明内容
本发明的发明目的在于解决上述面向实时操作系统的建模设计难题,为了克服现有技术的不足,本发明提供了一种为实时操作系统开发的基于模型的建模环境,以UML为基础,加上针对实时操作系统的扩展,用多个角度的模型图为主线,集系统建模,代码生成,模拟仿真,文档生成于一体,从而解决面向嵌入式实时操作系统开发的难题。
本发明解决其技术问题采用的技术方案如下:
本发明提供了一种基于模型的面向嵌入式实时操作系统的建模方法,基于UML规范面向实时操作系统建模,包括以下步骤:
(1)建立静态图
提取出嵌入式实时操作系统的共同特征和接口,依据UML规范用图形结构的表示对操作系统的核心特征进行建模;
(2)建立动态图
依据静态图对象结构,描述任务、事件和定时器三者之间的动态关系,展示调度、任务与任务之间、任务和事件之间的激活关系;
(3)自动生成时间图
系统从动态图和静态图自动生成时间图,以定时器为根源描述每一个定时器控制的任务模块和该模块激活的所有模块;
(4)自动生成时序图
系统根据动态图、静态图和时间图生成时序图,以此规范多个任务模块在系统运行中的先后顺序。
作为本发明的一种改进,步骤(1)中用图形结构的表示对操作系统的核心特征进行建模时,核心特征和图形表示之间的映射关系为:
图形对应实时操作系统的核心特征、任务的图形模块对应任务实体、任务图形模块间的连线对应任务之间的激活关系、事件的图形模块对应事件实体、定时器的图形模块对应定时器实体、计数器的图形模块对应计数器实体、任务图形和定时器图形的连线对应定时器和任务的从属关系、资源的图形模块对应资源实体、任务图形和资源图形的连线对应任务所需的资源关系、任务图形和事件图形的连线对应任务和事件之间的设置关系。
本发明与背景技术相比,具有的有益的效果是:
1、模型的通用性。本发明建立的模型以UML为基础,是面向整个实时操作系统的,不是特定的为某一个嵌入式系统服务。模型可以在各种芯片和各种实时操作系统中运用。这种基于模型的面向实时操作系统的设计方法弥补了在嵌入式领域建模不兼容性的缺陷。
2、模型的完整性。本发明从四个不同角度对面向实时操作系统的开发进行建模,能够充分的反映一个系统模型的各个方面。模型的完整性使得工程师之间的交流更加便利,同时很大的提高了模型的准确性和可行性。
3、模型的自动生成。本发明从各个角度建立的模型是相互存在联系的,某个角度的模型可以根据其他模型自动生成一个可行的模型,同时本发明又允许工程师对自动生成的模型进行重构。模型的自动生成很好的节省了建模时间和增强建模的准确度。
4、节省开发时间。工程师完成面向实时操作系统的建模后可以根据模型自动生成代码,自动生成各类文档,进行模拟仿真。可以大大减少整个开发过程在编写代码,撰写文档和模拟测试过程中所花费的时间。对于大的系统和复杂的模型,效果更加明显,可以节省一半以上时间。
附图说明
图1本发明的静态图示意图;
图2本发明的静态图属性配置表;
图3本发明的动态图示意图;
图4本发明的时间图示意图;
图5本发明的时序图示意图;
图6本发明的例子中建模的静态图;
图7本发明的例子中建模的动态图;
图8本发明的例子中建模的时间图;
图9本发明的例子中建模的时序图。
具体实施方式
为实时操作系统开发的基于模型的建模环境,以UML为基础,加上针对实时操作系统的扩展,用多个角度的模型图为主线,集系统建模,代码生成,模拟仿真,文档生成于一体,从而解决面向嵌入式实时操作系统开发的难题。
建立在实时操作系统上的应用设计,仅使用单一的模型,从一个角度很难把整个系统展现出来并描述清楚。基于实时操作系统的多种特征,本发明从四个不同角度对系统进行建模,包括:静态图,动态图,时间图,序列图。
面向嵌入式实时操作系统的建模过程主要包括以下步骤:
(1)建立静态图。
本发明先提取出嵌入式实时操作系统的共同特征和接口,并依据UML规范,用一定的图形结构对这些操作系统核心特征进行建模。实时操作系统的最基本特征包含六个方面:任务(Task),任务占用的资源(Resource),定时器(Alarm),计数器(Counter),事件(Event),回调函数(UserFunction)。
把任务的核心特征抽象成对象,任务对象包含自己的属性,以及对这些属性的设置;因此任务可以建模成一个对象的结构。任务占用的资源和定时器等同样也被抽象成对象。任务之间,任务和资源之间以及任务和定时器之间等各种关系配置,在图形上表示为对象结构之间的连线。
静态图中,本发明设计的实时操作系统的核心特征和图形表示之间的映射关系如下表:
图形 | 实时操作系统的核心特征 |
任务的图形模块 | 任务实体 |
任务图形模块间的连线 | 任务之间的激活关系 |
事件的图形模块 | 事件实体 |
定时器的图形模块 | 定时器实体 |
计数器的图形模块 | 计数器实体 |
任务图形和定时器图形的连线 | 定时器和任务的从属关系 |
资源的图形模块 | 资源实体 |
任务图形和资源图形的连线 | 任务所需的资源关系 |
任务图形和事件图形的连线 | 任务和事件之间的设置关系 |
静态图的建模过程从静态的角度描述了实时系统各部分特征之间的从属关系,静态的对各部分特征进行了属性配置,嵌入式实时操作系统的静态图示意图见图1和图2。
图1描述了实时系统各部分特征之间的联系。
图2描述了对任务模块的属性设置。
(2)建立动态图。
上述静态模型图只是对实时操作系统应用的核心元素进行了静态配置。并不能展示调度以及任务与任务之间,任务和事件之间的激活关系。从动态的角度,在本发明中提供了动态图这一模块。动态图采用静态图对象结构思想,但是只是展示一个对象结构,不提供静态配置。动态图主要描述任务,事件,定时器三者之间的动态关系,全面展示任务激活任务,任务设置事件和等待事件,任务设置计时器等动态关系。
嵌入式实时操作系统的动态图示意图见图3。
(3)自动生成时间图。
动态图和静态图从不同的角度对系统进行建模,时间图综合静态图和动态图反映的信息,以定时器为根源,描述了每一个定时器控制的任务模块和该模块激活的所有模块。时间图可以从动态图,静态图自动生成,但是他从另一个角度描述了系统的建模。嵌入式实时操作系统的时间图示意图见图4。
4)、自动生成时序图。
动态图描述了系统模型的动态关系,但是没有把系统运行的先后顺序表现出来。多个任务模块之间的激活顺序,任务模块激活定时器的时间等等时序问题应该是系统建模设计后系统仿真分析需要的重要的信息。系统可以根据动态图,静态图,时间图生成默认的时序图,当然工程师可以自己重新设计时序图,满足系统建模要求。时序图与仿真模拟,自动代码生成都有密切关系。嵌入式实时操作系统的时序图示意图见图5。
工程师在面向实时操作系统建模时,从上述四个不同角度来建立模型,能够充分描述模型的各个方面,同时可以很好的根据模型进行文档生成,仿真模拟,自动代码生成。
下面结合附图和实例对本发明作进一步介绍。
实例是对简化后的汽车发动机的控制过程进行建模,主要包括发动机喷油,点火,转速计算等一系列的功能的设计。
第一步,用户在可视化环境下进行静态图的建模,并对相应的模块进行属性配置。(图6)
建模的过程就是画一幅图的过程,工程师根据自己的应用设计画出一幅模型图,建立图形的方式就是利用鼠标进行“拖-放”的操作。图6是建立好的一个模型的例子。
例子中描述的模型中有四个任务:发动机控制中心任务,主要用来控制发动机喷油量,点火时间,转速,传感器。发动机控制中心是这个模型的核心任务模块,它的优先级相对比较高为21,有一个定时器定时自动的激活控制中心进行控制。定时器的周期时间为10ms。静态图中还定义了点火喷油任务模块,转速计算任务模块,传感器采样任务模块,它们的属性设置如图中所示。同时静态图中还定义了两个事件模块。
第二步,用户在可视化环境下进行动态图的建模,动态图的建模必须和静态图的建模信息保持一致,根据第一步的静态图建模相应的动态图。(图7)
图中反映了的信息说明发动机控制中心分别激活转速计算,喷油点火,传感器采样三大模块。当转速计算完成后,发送一个事件通知控制中心。
第三步,自动生成时间图,更清楚地认识模型。(图8)
这个时间模型可以自动生成,根据图6和图7,从定时器的角度展示了模型间的关系。
第四部,建模时序图,可以利用自动生成的时序图,工程师可以自动建模。(图9)
时序图中把控制中心分成六部分,转速计算分成两部分,传感器也被分成两部分。首先控制中心激活转速计算,让它完成发动机转速值的确定,转速计算机算出发动机转速后发送一个事件通知控制中心,控制中心得到发动机转速后激活传感器采样,进行采样数据同样再告诉控制中心,当转速计算和传感器采样完成后,控制中心就可以根据所得到的数据激活发动机进行喷油点火。定时器周期性的启动控制中心完成控制任务。
从四个角度对发动机控制进行建模后,整个建模结束。可以利用本发明开发的相应功能进行各类文档的生成,自动代码,模拟仿真。
本发明在上述工作的基础上,提出了在实时操作系统领域统一建模的思想。在嵌入式领域采用基于模型的建模设计方法,对传统开发设计的提出了挑战并引起深刻变革。
Claims (2)
1、一种基于模型的面向嵌入式实时操作系统的建模方法,基于UML规范面向实时操作系统建模,其特征在于,包括以下步骤:
(1)建立静态图
提取出嵌入式实时操作系统的共同特征和接口,依据UML规范用图形结构的表示对操作系统的核心特征进行建模;
(2)建立动态图
依据静态图对象结构,描述任务、事件和定时器三者之间的动态关系,展示调度、任务与任务之间、任务和事件之间的激活关系;
(3)自动生成时间图
系统从动态图和静态图自动生成时间图,以定时器为根源描述每一个定时器控制的任务模块和该模块激活的所有模块;
(4)自动生成时序图
系统根据动态图、静态图和时间图生成时序图,以此规范多个任务模块在系统运行中的先后顺序。
2、根据权利要求1所述的基于模型的面向嵌入式实时操作系统的建模方法,其特征在于,步骤(1)中用图形结构的表示对操作系统的核心特征进行建模时,核心特征和图形表示之间的映射关系为:
图形对应实时操作系统的核心特征、任务的图形模块对应任务实体、任务图形模块间的连线对应任务之间的激活关系、事件的图形模块对应事件实体、定时器的图形模块对应定时器实体、计数器的图形模块对应计数器实体、任务图形和定时器图形的连线对应定时器和任务的从属关系、资源的图形模块对应资源实体、任务图形和资源图形的连线对应任务所需的资源关系、任务图形和事件图形的连线对应任务和事件之间的设置关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610155325 CN1996237A (zh) | 2006-12-20 | 2006-12-20 | 基于模型的面向嵌入式实时操作系统的建模方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610155325 CN1996237A (zh) | 2006-12-20 | 2006-12-20 | 基于模型的面向嵌入式实时操作系统的建模方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1996237A true CN1996237A (zh) | 2007-07-11 |
Family
ID=38251338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610155325 Pending CN1996237A (zh) | 2006-12-20 | 2006-12-20 | 基于模型的面向嵌入式实时操作系统的建模方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1996237A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011150723A1 (zh) * | 2010-06-03 | 2011-12-08 | 华为技术有限公司 | 利用uml时序图开发的方法和活动图生成工具 |
CN101615120B (zh) * | 2009-08-13 | 2012-11-14 | 电子科技大学 | Aadl模型的一种调度分析方法 |
CN103885816A (zh) * | 2014-03-28 | 2014-06-25 | 南京大学 | 一种实时嵌入式系统的仿真方法 |
CN105447102A (zh) * | 2015-11-12 | 2016-03-30 | 中国科学院软件研究所 | 基于数据驱动的开源操作系统威胁状态可视化系统与方法 |
CN105573763A (zh) * | 2015-12-23 | 2016-05-11 | 电子科技大学 | 一种支持rtos的嵌入式系统建模方法 |
CN110457642A (zh) * | 2019-08-16 | 2019-11-15 | 佳源科技有限公司 | 一种配电实时操作系统 |
CN114137873A (zh) * | 2021-11-23 | 2022-03-04 | 中船动力研究院有限公司 | 发动机的程序开发方法及装置、发动机的控制系统 |
-
2006
- 2006-12-20 CN CN 200610155325 patent/CN1996237A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101615120B (zh) * | 2009-08-13 | 2012-11-14 | 电子科技大学 | Aadl模型的一种调度分析方法 |
WO2011150723A1 (zh) * | 2010-06-03 | 2011-12-08 | 华为技术有限公司 | 利用uml时序图开发的方法和活动图生成工具 |
CN103885816A (zh) * | 2014-03-28 | 2014-06-25 | 南京大学 | 一种实时嵌入式系统的仿真方法 |
CN103885816B (zh) * | 2014-03-28 | 2017-01-25 | 南京大学 | 一种实时嵌入式系统的仿真方法 |
CN105447102A (zh) * | 2015-11-12 | 2016-03-30 | 中国科学院软件研究所 | 基于数据驱动的开源操作系统威胁状态可视化系统与方法 |
CN105447102B (zh) * | 2015-11-12 | 2019-06-14 | 中国科学院软件研究所 | 基于数据驱动的开源操作系统威胁状态可视化系统与方法 |
CN105573763A (zh) * | 2015-12-23 | 2016-05-11 | 电子科技大学 | 一种支持rtos的嵌入式系统建模方法 |
CN105573763B (zh) * | 2015-12-23 | 2018-07-27 | 电子科技大学 | 一种支持rtos的嵌入式系统建模方法 |
CN110457642A (zh) * | 2019-08-16 | 2019-11-15 | 佳源科技有限公司 | 一种配电实时操作系统 |
CN114137873A (zh) * | 2021-11-23 | 2022-03-04 | 中船动力研究院有限公司 | 发动机的程序开发方法及装置、发动机的控制系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1996237A (zh) | 基于模型的面向嵌入式实时操作系统的建模方法 | |
CN104750603A (zh) | 一种多核dsp软件仿真器及其物理层软件测试方法 | |
CN104268310A (zh) | 使用专用图形界面调用uvm验证环境的方法 | |
JP5379862B2 (ja) | シミュレーション方法、システム及びプログラム | |
CN101604286B (zh) | 一种关键字驱动表格生成方法 | |
CN105975664B (zh) | 一种芯片功耗评估平台的评估方法 | |
CN102722601B (zh) | 数控系统的模型转换形式化语义集成框架的实现方法 | |
CN109656868B (zh) | 一种cpu与gpu之间的内存数据转移方法 | |
CN105760638B (zh) | 一种加快soc芯片仿真的方法 | |
CN101719177A (zh) | 系统建模和仿真的方法及装置 | |
CN1560743A (zh) | 多媒体处理器协同仿真验证平台 | |
CN102231132B (zh) | 一种基于SystemC的AADL软构件模型仿真测试实例生成方法 | |
Varona-Gomez et al. | AADL simulation and performance analysis in SystemC | |
CN103309676A (zh) | 用于海洋数值模拟ROMS的Web服务封装方法以及系统 | |
CN112800614A (zh) | 基于概率时间自动机应用于智能工厂流程的设计方法 | |
CN103164230B (zh) | 一种基于新特征模型的需求建模及模型转换方法 | |
Lora et al. | Hardware synthesis from software-oriented UML descriptions | |
CN103017815A (zh) | 一种可视化的通用测试系统及测试方法 | |
CN112000405A (zh) | 一种便捷获取系统日志的方法、设备和存储介质 | |
CN110597522A (zh) | 一种基于微服务的云计算大数据平台系统 | |
CN111208977A (zh) | 一种基于大数据的软件开发方案的生成方法及系统 | |
CN113342297B (zh) | 一种基于平台加应用的集成管理显控系统及其方法 | |
CN101017513A (zh) | 集成电路元件的模拟实例产生方法与装置 | |
JP2001184221A (ja) | リアルタイムosおよびタスク実行制御方法 | |
Li et al. | Formal testing applied in embedded software |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |