系统设计自动化:挑战与局限外文翻译资料

 2022-04-05 09:04

系统设计自动化:挑战与局限

本文讨论了VLSI设计范例如何通过应用分离关注原则、基于组件设计、语义一致性和构造的正确性可以转换为与外部环境持续相互作用的硬件/软件系统。

摘要:

电子设计自动化(EDA)使集成电路行业维持指数级增长并且保持产品开发时间和成本一致。我们认为EDA设计的成功依赖于四个相互关联的原则:1)将设计流程按用户需求、功能设计和实现分解为步骤,每个步骤处理特定方面; 2)基于组件的设计,将合理的复杂系统构造成为构件; 3)语义一致性,在连续设计步骤中使用适当的语义来描述; 这就意味着每个设计步骤所使用的形式都来源于定义明确的语义; 4)正确性;建设意味着必不可少的在设计系统的过程中逐渐地增加功能和组件。本文论述了EDA范式适应一般混合硬件/软件(HW/SW)的系统设计的方法。

它概述了混合硬件/软件系统的严格系统设计带来的问题。然后,通过确定主要研究途径来为解决这些问题提出了统一的抽象框架。

关键词:计算机辅助工程; 计算机辅助软件工程; 设计自动化; 设计方法; 系统软件; 系统工程

Ⅰ介绍

电子设计自动化(EDA)使集成电路行业维持指数级增长并且保持产品开发时间和成本一致。我们认为EDA设计的成功依赖于四个相互关联的原则。

1)分离问题意味着将设计流程分解为步骤,每个步骤都处理特定的方面,即高层次综合、逻辑综合、原理图捕获和布局。将功能设计与实现分离对于解决设计的复杂性至关重要。

2)基于组件的设计能够使合理构建的复杂系统成为组件的组成部分。制造商通常为其生产流程提供各种类型的零部件,并提供符合标准仿真工具的仿真模型。复杂系统模型可以作为标准化组件的组成部分获得,并在使用之前进行验证。

3)语义一致性意味着将连续设计步骤中的“描述”通过适当的语义映射关联起来。这能够确保设计流程的可追溯性并且可以了解步骤中不同的选择如何影响后续步骤中的设计属性。

4)结构的正确性意味着可以在设计过程中逐步地保证系统的基本属性而且使用架构会有更好的效果。设计人员重用参考体系结构,通过构建基本的功能和超功能来确定参考体系结构。

我们将讨论通过应用这些原则,EDA范式如何转换为通用混合硬件/软件(HW / SW)系统设计。

系统可以通过模型来描述,这些模型通过使用平台的资源(如时间,内存和能源)来指定软件功能的实现方式。一个关键问题是应用软件模型中构建可靠的系统模型配备了代表资源及其动态的变量。这种需求已被妥善的处理,并且促进了网络物理系统研究的发展。这些系统解决了包括建模和设计在内的各种问题。

系统设计是从单纯的一系列要求到满足这些要求的过程。 它可以分解为两个主要步骤:1)编写满足功能(平台无关)要求的应用软件; 2)在给定的执行平台上实现软件。

我们可以将系统设计作为基于模型的正式系统过程进行研究,该过程由方法论支持。后者在从要求到实施的一系列步骤的过程中使用分而治之的策略。在每个步骤中,必须通过解决特定类别的要求来解决特定的问题。该方法应清楚地标识设计过程中可被工具支持的部分,以便自动执行那些繁琐且容易出错的任务。它还应该清楚地确定需要人工干预和创造力的部分,以便通过需求分析和实验结果的对抗来解决设计选择问题。识别适当的设计参数并引导设计师对设计目标的实现也很重要。

系统设计方法应该提出克服以下障碍和限制的策略。

1)需求正式化:尽管在过去几十年中正式确定需求方面取得了进展(例如,通过使用时态逻辑),但我们仍缺乏拥有严格需求规范的方法和工具。

2)合成/验证难以处理:超大规模集成(VLSI)设计在很大程度上受益于全自动合成/验证技术。 不幸的是,这样的技术对于那些具有潜在无限数量状态的软件来说很难应用。 抽象规范和程序验证不能采用精确的算法解决。 正如第六节所解释的那样,对于系统设计,正确性应该超越综合/验证范例。

3)硬件/软件交互:我们需要理论和方法来精确预测某些运行在具有已知特性的硬件平台上的给定软件的行为。这个困难源于硬件和软件之间的根本区别。软件模型忽略物理时间和资源,而硬件行为受时序和资源限制。程序执行动态会继承硬件动态属性,由于固有的不确定性和由其导致的不可预测性,我们无法精确表征或估计硬件动态属性。

我们提出了严格的系统设计思想,来建立有效保证质量成本系统的问责流程。这个设想通过一个统一的框架得到证实,并被用于讨论系统设计的重要趋势和解决相关的研究挑战。 它受到了Sangiovanni的“基于平台的设计”的开创性观点的影响。有关该领域现有工作的详细说明超出了本文的范围。上述挑战和技术中的一部分已经被讨论和处理,并在一定程度上实施。最突出的方法和框架是支持系统设计PtolemyII ,MetroII 和OpenMeta 的异构计算模型环境。提出的设想已经在Verimag(法国格勒诺布尔)的行为 - 交互优先(BIP)组件框架中得到了充分实施,并且得到了许多显示其相关性和可行性的实验结果的证实。

第二节讨论了系统正确性的概念,并提供了严格性的基本原理。在随后的章节中,我们将研究基于EDA的设计的四个原则如何应用于系统。我们将展示重大差异并讨论它们对设计自动化的影响。

我们提出了一个单一的基于模型的框架。第七部分提出了关于系统设计性质及其重要性的最终评论。

Ⅱ.严谨的系统设计

A.系统正确性的概念

系统正确性的概念在很多方面都不同于纯粹的功能软件正确性,因为它包含了功能和功能上的要求。它结合了两种类型的要求:

1)可靠性,确保不会发生任何不良情况;

2)性能优化,成本效益以及它们之间的平衡。

我们认为可信度意味着系统可以被信任,并且它会像预期的那样行事,尽管存来一些不足:

  1. 软件设计和实施错误;
  2. 执行基础设施的故障;
  3. 与潜在用户的互动,包括错误的行动和威胁;
  4. 与物理环境的相互作用,包括干扰和不可预知的事件。

请注意,“可信计算”这个术语已经被几个软件供应商推广,比如Microsoft和Sun Microsystems主要关注安全性。 尽管如此,人们普遍认为可信度是一个更广泛的概念,应该被视为一个包括安全性和安全性的整体系统性质。 一个令人困惑的问题是,我们对系统的信心有时是基于人造物本身和交付使用的人。 因此,人们提出了许多关注计算信任模型的方法,如社会学和心理学等不同领域。

可靠系统的发展方面有丰富的文献,包括研究论文和报告以及大量的研究项目。 目前还没有普遍接受的概念定义。 现有的方法是关注可以形式化并且有效检查的属性,例如,通过使用形式化方法;或者处理非常广泛的大多数不相关的主题; 例如参见。

一些作者使用的是术语可靠性而不是可信度。 这个术语是由“容错”社区创造的,它表征了系统可用性,可靠性和可维护性的度量。 可靠性不包括安全方面。 它与可信度的另一个重要区别是后者可以用纯粹定性的方式来定义。

提出的定义将可信度定义为必须在整个计算环境中解决的全局属性。 在这四种危害中,只有软件设计错误出现在软件中。 其他的则出现在整个系统中,与其本身和人类环境相互作用。

优化要求涉及优化时间、存储器和能量等资源约束的功能:1)性能,表征系统对用户需求的关注程度,如吞吐量,抖动和延迟等; 2)成本效益,表征资源在经济标准(如存储效率,处理器负载/可用性和能源效率)方面的使用情况; 3)性能和成本效益之间的折中。

请注意,我们对优化要求的定义忽略了表征给定执行平台物理特性参数的最小化,例如电缆的重量和长度。在研究的方法中,我们认为设计人员可以选择不同的执行平台。

可信度要求决定了一部分组件的合法性。 他们可能既有正常功能又有额外功能。 优化需求表征了执行序列的集合, 这些通常是对序列的整体约束。例如,在一段时间内使能量最小化或吞吐量最大化。

对于平台来说,与应用软件平台无关的优化要求大多是额外的功能。可信度和优化要求难以调和。通常,提高可信度需要的资源与优化要求对立。 同样,资源优化可能会损害可信度。 例如,如果资源利用率被推到极限,可能会发生死锁但通过大规模冗余来增强可信度需要额外的资源。设计师应该寻求可信度的同时尝试优化资源。一个关键的设计问题就是确保可信而不忽视优化。

B.严谨的理由

数十年来,正式方法和验证被视为实现正确性的主要途径。 尽管在这方面人们已经取得了惊人的进展,但众所周知,验证技术仍遭受固有的限制。 一个原因是因为我们无法根据复杂系统需求来理解和正式表达用户的需求。 另一个原因是验证技术的固有理论局限性,例如模型检查,抽象解释和静态分析。 这些应用在全局系统模型时,其状态空间大小随构成组件的数量呈指数增长。 将组合验证应用于基于组件系统的尝试,如假设/保证技术,未能取得任何重大突破。

可靠性的验证隐藏了一个非常重要的挑战,那就是系统可靠性的建模。 无论验证技术的进展如何,一个核心问题是如何建立可靠性的模型,特别是对于混合硬件/软件系统。 非常简单的系统,例如无线传感器网络的节点,我们都不知道如何对可靠性建模,更可况是验证功能特性。

总而言之,形式验证可以应用于开发成本相对较高的系统。 典型的例子是广泛使用的软件组件,例如操作系统和编译器。 对于交互式硬件/软件系统来说,要求形式化并提出可靠性的模型要困难得多。

验证对资源优化要求的应用仅限于验证抽象系统模型上的调度和资源管理策略。 我们主张将重点从正式方法转向严格的系统设计。 关键理由是通过应用基于EDA的原则来克服目前的局限性。 特别是以施工为中心强调正确性。 这个想法和欧几里德几何中的构造性证明一样简单。 当设计人员使用已被证明是正确的算法,体系结构和协议时,如果他们有适当的方法学,他们不需要任何额外的正确性证明为什么这样做。

严谨的系统设计流程是从应用程序软件和其执行平台已及其外部环境模型中推导出可靠且优化的可实现的正式的问责和迭代过程。

严谨的系统设计是基于模型的:通过应用构建源到源的模型转换来获得连续的系统描述。 此外,问责制意味着在设计过程中给定行为的义务。 它包括两个方面:1)设计师提供的证据表明,他的选择是由满足功能所隐含属性的需求驱动的; 2)对于已经建立的属性,设计者保证他们仍然在后续阶段。

实践中,通过使用保证案例的方法可以缓和责任制。 这些允许构建设计者的推理来获得系统将按预期工作的信心。 在实践中已应用保证案例来提出对系统性质或行为声明的支持。 重点不在于形式化,而在于系统化需求和设计选择之间的联系。 第六部分讨论的按建筑正确性技术为问责提供了基础。

目前存在一些致力于开发安全关键型实时系统的严格系统设计方法。 有些基于同步编程范例。 其他主要由基于ADA标准的流量代表。

Ⅲ.关注点分离

从方法论的观点来看,分开处理功能与额外需求是至关重要的。 这也确定了设计流程中的两个主要差距。 首先,开发的应用软件在功能要求方面应该是正确的。 其次,通过考虑执行平台的功能逐步改进应用软件,可以推出满足功能和额外功能要求的正确实施方案。 这个想法通常被许多系统设计方法所采用。 由对象管理组织(OMG)开发的模型驱动架构(MDA)方法引入了一组模型来连续描述需求,在给定的执行平台上引入应用程序软件和能够表示应用程序软件动态行为的平台特定模型。 MDA涉及多种标准,包括UML。 现在,MDA是一个概念框架。 在模型综合计算(MIC),MetroII ,Ptolemy和BIP 等框架中遵循并有效实施了类似的关注原则分离。

下面我们讨论两个问题。 一个是通过提供对系统编程的支持以减轻需求规格; 另一个通过应用软件开发可靠的系统模型。

A.特定领域的语言

在系统软件开发中,关键问题是管理由于与环境和各个子系统之间的交互而导致的复杂性。 使用通用编程语言(如C或Java)可能会适得其反,并且容易出错。 这些语言主要适用于顺序转换程序计算功能。

对于系统建模,我们需要包含直接描述不同类型同步的强大基元。 使用标准编程语言很难解决通过使用基于自动机的形式化方法直接解决的问题。 例如,由于错综复杂的线程语义和等待/通知机制的语义变化,编程Java中的通信自动机可能涉及若干技术难题。 另一个例子,考虑通过集合点同步的n个组件的系统。 如果描述形式主义只提供一个同步原语,即广播(弱同步),那么建模的同步是非常困难的。 这在第IV-B部分进行了广泛的讨论

为了提高软件生产力和安全性,系统设计人员提供了专用于特定问题领域的领域特定语言(DSL)、特定问题表示技术和特定解决方案技术。

SCADE和Matlab / Simulink等同步编程语言广泛用于安全关键控制系统的开发。 数据流编程模型有效地用于开发多媒体应用程序。 它们允许明确描述任务并行性并且允许可调度性分析。 其他DSL是UML的各种衍生产品,如MARTE和SysML。 尽管如此,这些框架包含了大量的概念和原语,并且不适合形式化。

B.建立可靠的系统模型

在基于模型的设计方法中,应该从可靠地描述执行平台上应用软件的动态行为的系统模型派生实现。 一个关键的想法是逐步将源到源的转换应用到软件中:1)细化原子语句以将它们表达为执行平台的原语序列;2)表达资源对优化动作引起的同步约束; 3)与表示执行所需资源的优化动作参数(例如,执行时间)相关联。

除了应用软件的变量之外,系统模型还包含状态变量资源。 这些变量受到两种对抗性要求的影响:

bull;用户定义的需求,处理反应时间,吞吐量和成本,如期限,周期性,内存容量以及功率或能量限制;

bull;处理平台相关的需求,处理执行时间和能耗 等操作所需的资源量。

当一个动作被执行时,资源变量会被上传。 因此,系统模型的状态是应

全文共6392字,剩余内容已隐藏,支付完成后下载完整资料


英语原文共 5 页,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[14478],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。