论文部分内容阅读
随着面向对象的技术在应用软件系统领域的发展和成熟,人们也逐渐用面向对象的方法来分析和设计嵌入式实时系统。在面向对象的分析和设计过程中,人们经常借助模型来分析和设计系统。实时系统中的活动往往是并发进行的,而目前大多数面向对象模型只提供了描述系统顺序执行的能力。为了加强面向对象模型的表达能力,必须在面向对象模型中提供并发描述机制,使其能够描述系统中的并发行为。在最终的可运行的实时系统中,并行运行的任务往往是通过进程来实现,进程构成了系统并行运行的基本对象。UML作为面向对象的标准建模语言,是面向对象技术领域中的重要成果,在采用UML进行实时系统开发的过程中,人们往往采用主动对象来表示系统中并行运行的实体,而主动对象由于表达能力的限制,不能够对系统的并发性作出一个完整的、详尽的描述,这就要求我们能够提供一种新的机制来描述实时系统中的并行对象。本文针对实时系统中进程的特点,采用UML的扩展机制,提出了一种新的用于表示实时系统并发性的模型元素以及采用这些元素建立系统模型的方法。 首先,根据UML的扩展机制在UML的语义中定义了几种新的模型元素:用于表达系统中并行运行的对象的封装体和用于描述封装体对象间通信的协议。其中,封装体代表系统中并行运行的基本单位,因此是一种特殊的主动对象。它有着区别于主动对象的语义和表示方法,而协议被定义为一种协作,端口是参与协作的主要角色,通过状态机定义了端口间消息收发的序列,并隐式地描述了封装体对象之间的同步要求。其次,介绍了通过UML的标准建模机制,利用这些模型元素建立实时系统中并行对象模型的方法。最后,根据UML的扩展语义提出了构造基于编程语言的描述实时系统并行对象的基础类库的方案,和采用基础类库建立实际系统中子类的方法。对封装体和端口在基础类库中均给出了相应的C++的类的定义。从而使得我们能够利用这些元素在模型层建立关于一个具体的实时系统的并发性的形式化的UML模型,并可以利用形式化的方法来分析和验证系统的正确性,同时也对系统运行代码的自动生产奠定了基础。