分布式铁路联锁模型与标准语言质量分析
分布式铁路联锁模型
分布式铁路信号系统建模和细化计划有着明确的步骤和要求。从初始抽象模型开始,它规定了分布式资源分配协议的一般概念,即进程捕获和释放可用资源。这种数学抽象有助于在早期建模阶段简化协议开发,无需考虑复杂的铁路要求。
初始模型
初始模型是进程捕获资源的抽象模型,具有以下特点:
1.
抽象模型上下文
:包含进程和资源(有限集合)。
2.
事件定义
:包含捕获和释放资源的事件。
3.
资源捕获规则
:进程只能捕获未被捕获的资源。
4.
资源释放规则
:进程只能释放其已捕获的资源。
5.
多资源捕获
:进程可以一次捕获多个资源。
6.
资源独占性
:没有两个或多个进程可以捕获相同的资源。
在动态部分,定义了一个全局变量
mrk
(标记),用于将资源映射到进程。同时引入了捕获和释放资源的事件,它们实际上是铁路路线锁定和释放操作的抽象表示。以下是这两个事件的代码:
Event
capture =
any r, p, pr
where
grd1 : r ̸⊆dom(mrk)
grd2 : p ∈P
grd3 : pr ∈r →{p}
grd4 : ∅⊂pr
then
act1 : mrk := mrk ∪pr
end
Event
release =
any r, p, pr
where
grd1 : r ⊆dom(mrk)
grd2 : p ∈ran(mrk)
grd3 : pr ∈r →{p}
grd4 : ∅⊂pr
then
act1 : mrk := mrk \ pr
end
第一次细化
第一次细化是对模型的扩展,引入了请求和授予资源的事件,并解决了争用问题:
1.
新事件引入
:引入请求和授予资源的事件。
2.
争用问题处理
:引入检测和解决争用问题的事件。
3.
资源捕获条件
:资源只有在被进程请求并授予后才能被捕获。
4.
多进程请求
:多个进程可以同时请求相同的资源。
5.
资源请求授予规则
:单个进程的资源请求不能部分授予。
6.
资源请求范围
:进程可以请求任何资源集合。
7.
资源授予条件
:如果资源未被其他进程请求、授予或捕获,或者冲突已通过检测/解决事件解决,则可以授予该进程。
为了实现这些功能,引入了两个新事件和两个缓冲区:
Event
send request =
any r, p, pr
where
grd1 : p ∈P
grd2 : r ⊆R
grd3 : pr ∈r →{p}
grd4 : ∅⊂pr
then
act1 : req := req ∪pr
end
Event
grant request =
any p
where
grd1 : p ∈ran(req)
grd2 : req−1[{p}] ∩dom(mrk ▷−{p}) = ∅
grd3 : req−1[{p}] ∩dom(req ▷−{p}) = ∅
grd4 : req−1[{p}] ∩dom(ack ▷−{p}) = ∅
then
act1 : ack := ack ∪(req ▷{p})
act2 : req := req ▷−{p}
end
其他细化
其他细化包括引入基于图的资源结构和铁路相关上下文,但本文未详细讨论。主要内容如下:
1.
资源分区
:将资源分配到具有关联控制器的单独区域。
2.
图结构引入
:在模型中引入基于图的资源结构。
3.
铁路上下文和路线锁定原则
:引入铁路相关上下文和路线锁定原则。
系统的其他属性,如系统进度,可以通过假设进程最终释放资源并引入资源授予队列来解决。在初始模型中,只施加了一个与铁路相关的安全规则,即如果没有两列或多列火车共享同一路线,则确保无碰撞。这可以通过不变式“没有两个或多个进程可以捕获相同的资源”来简单表达。
分布式铁路联锁的争用问题
在开发分布式系统时,争用问题是一个常见的问题。在该模型中,当多个进程请求相同的资源时,由于铁路领域的安全原则不允许部分资源分配,系统会陷入死锁。为了解决这个问题,引入了两个新事件来检测和解决争用问题。
争用检测事件在存在一组请求共同资源且这些资源尚未被捕获的进程时启用。该事件的动作是将感兴趣的请求集合复制到另一个缓冲区
cnt
(争用)。以下是争用检测事件的代码:
Event
detect contention =
any
p
where
grd1 : p = {x|∃y·y ̸= x ∧req−1[{x}] ∩req−1[{y}] ̸= ∅}
grd2 : p = {x|req−1[{x}] ∩dom(mrk ▷−{x}) = ∅}
grd4 : p ̸= ∅
then
act1 : cnt := cnt ∪(req ▷p)
end
之后,一个未显示的授予事件会从该缓冲区中随机选择一个进程,并为该进程授予资源,同时从请求缓冲区中移除其请求。检测/解决过程可以对剩余的进程重复进行。在这个阶段,不需要考虑哪个进程具有优先级,当引入基于图的资源结构时,这一点变得更加重要。
mermaid流程图如下:
graph TD
A[初始模型] --> B[第一次细化]
B --> C[其他细化]
B --> D[争用问题处理]
D --> E[检测争用]
E --> F[授予资源]
铁路标准的语言质量分析
欧洲的铁路系统应根据CENELEC委员会发布的过程标准进行开发。这些标准是开发某些安全关键铁路产品时应遵循的一组规范和方法。尽管在标准的前言部分可能没有明确声明,但铁路标准对预期符合的产品特性负有相当大的责任。
然而,标准并非一成不变的参考。为了适应技术的发展,它们会定期进行长期的规范修订过程。标准化机构也认识到,在连续修订中存在改进的机会,涉及标准的一致性、安全管理概念和实际使用等方面。
此外,还有其他实体可能提出改进标准的理由,如政府机构、安全/保障机构、研究和学术机构等。这些机构在会议和科学期刊上公开提出了建议。
本文旨在研究标准的有效性,重点关注可能影响标准声明(通常用自然语言表达,称为条款)歧义的一组质量属性。研究主题借鉴了需求工程领域的成熟工作,其中开发了自然语言处理(NLP)技术来检测需求规格文档中的自然语言缺陷。
本文的目的有两个:
1.
展示语言质量的影响
:通过示例说明基于条款的文档(如标准)中缺乏语言质量会对预期符合标准的项目的质量特性(如项目开发时间、开发系统的安全性、生命周期成本)产生影响。
2.
揭示标准的缺陷
:使用支持工具的NLP方法,表明一些在铁路应用中采用的流行标准也存在这些缺陷。
本文并不旨在批评所分析的标准,这些标准是无数实际运行良好的产品安全认证的基础。这项研究的目的是可能改进当前和未来标准修订的某些方面。此外,标准还有其他类型的问题不在本文的研究范围内。
相关文献可以大致分为两条研究线:
1.
标准评估工作
:历史上分为两个阶段,相隔约二十年。20世纪90年代末,Norman Fenton及其几位合著者的工作值得关注,他们强调了需求的清晰度和客观性的重要性,并提出了改进标准的方法。2014年,由于对不同领域安全相关标准的兴趣增加,一个研讨会召集了专家来探讨标准的有效性。
2.
语言分析工作
:更多地关注影响一般文本和系统及软件需求文档中句子正确解释的语言方面。
在下一部分,将详细介绍自然语言质量模型的要点,以及对流行铁路标准的分析结果。
分布式铁路联锁模型与标准语言质量分析
自然语言质量模型基础
在20世纪90年代后期,为了分析系统和软件需求文本,创建了一个自然语言质量模型。这个模型是后续对铁路标准进行语言分析的重要基础。虽然这里不详细展开该模型的所有细节,但它的核心思想是从多个维度来评估自然语言文本的质量,以确保其表达的准确性、清晰性和无歧义性。
分析铁路标准的原因
对铁路标准进行语言分析有诸多重要原因,具体如下:
1.
保证产品质量
:标准作为产品开发的指导,如果其条款存在语言歧义,开发者可能会对标准的要求产生不同的理解,从而导致开发出的产品不符合预期的安全和性能要求。例如,在一个铁路信号系统的开发中,如果标准中关于信号显示规则的条款表述模糊,开发者可能会错误地实现信号显示逻辑,进而影响列车的运行安全。
2.
提高开发效率
:清晰的标准条款可以减少开发者在理解和解释标准上花费的时间和精力,避免因误解标准而进行的重复工作和修改,从而提高项目的开发效率。比如,在一个大型铁路项目中,如果标准中关于系统接口规范的条款清晰明确,开发者可以更快地完成接口的设计和实现,缩短项目的开发周期。
3.
降低成本
:准确理解标准可以避免因产品不符合标准而进行的返工和整改,从而降低项目的成本。例如,在一个铁路通信系统的开发中,如果标准中关于通信协议的条款存在歧义,导致开发出的系统在测试阶段无法通过验收,需要进行大量的修改和调试,这将增加项目的成本。
4.
促进国际合作
:在全球化的背景下,铁路项目往往涉及多个国家和地区的合作。统一、清晰的标准语言可以避免因语言差异和理解不同而产生的沟通障碍,促进国际间的铁路项目合作。例如,在一个跨国铁路项目中,如果标准的条款表述准确、无歧义,不同国家的开发者可以更好地协作,确保项目的顺利进行。
铁路标准分析结果
使用符合上述质量模型的工具对一些流行的铁路标准进行了分析,发现了一些潜在的语言问题。以下是部分分析结果的表格展示:
| 标准名称 | 发现的问题类型 | 具体示例 |
| ---- | ---- | ---- |
| EN50128:2011 | 模糊性 | 条款中提到“适当的安全措施”,但未明确“适当”的具体定义。 |
| EN50126 | 一般性表述 | 规定“应进行必要的测试”,但未说明“必要”的范围和标准。 |
这些问题可能导致标准的使用者在理解和执行标准时产生困惑,进而影响产品的开发和验证过程。例如,对于“适当的安全措施”这一表述,不同的开发者可能会有不同的理解,有的开发者可能认为采取一些基本的防护措施就足够了,而有的开发者可能认为需要更高级的安全技术。这种差异可能会导致开发出的产品在安全性能上存在差异,甚至可能无法满足实际的安全需求。
mermaid流程图如下:
graph TD
A[铁路标准] --> B[NLP工具分析]
B --> C[发现语言问题]
C --> D[影响产品开发]
D --> E[降低项目质量]
D --> F[增加开发成本]
结论
通过对分布式铁路联锁模型和铁路标准语言质量的研究,可以得出以下结论:
1.
分布式铁路联锁模型
:建立了一个有效的分布式铁路信号系统的建模和细化框架,通过逐步细化模型,解决了资源分配、争用问题等关键问题,为铁路系统的设计和开发提供了理论支持。
2.
铁路标准语言质量
:铁路标准的语言质量至关重要,语言歧义可能会对产品开发和项目质量产生负面影响。使用NLP技术可以有效地检测标准中的语言缺陷,为标准的修订和完善提供依据。
未来,可以进一步完善分布式铁路联锁模型,引入更复杂的资源结构和铁路相关上下文,提高模型的实用性和准确性。同时,加强对铁路标准语言质量的研究和管理,制定更严格的语言规范,确保标准的条款清晰、准确、无歧义,为铁路系统的安全和可靠运行提供有力保障。
列表总结如下:
- 分布式铁路联锁模型为铁路系统设计提供理论支持。
- 铁路标准语言质量影响产品开发和项目质量。
- 可完善模型并加强标准语言管理。
超级会员免费看
34

被折叠的 条评论
为什么被折叠?



