当前位置: X-MOL 学术Form. Methods Syst. Des. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Conditions of contracts for separating responsibilities in heterogeneous systems
Formal Methods in System Design ( IF 0.8 ) Pub Date : 2017-09-13 , DOI: 10.1007/s10703-017-0294-7
Jonas Westman , Mattias Nyberg

A general, compositional, and component-based contract theory is proposed for modeling and specifying heterogeneous systems, characterized by consisting of parts from different domains, e.g. software, electrical and mechanical. Given a contract consisting of assumptions and a guarantee, clearly separated conditions on a component and its environment are presented where the conditions ensure that the guarantee is fulfilled—a responsibility assigned to the component, given that the environment fulfills the assumptions. The conditions are applicable whenever it cannot be ensured that the sets of ports of components are partitioned into inputs and outputs, and hence fully support scenarios where components, characterized by both causal and acausal models, are to be integrated by solely relying on the information of a contract. An example of such a scenario of industrial relevance is explicitly considered, namely a scenario in a supply chain where the development of a component is outsourced. To facilitate the application of the theory in practice, necessary properties of contracts are also derived to serve as sanity checks of the conditions. Furthermore, based on a graph that represents a structuring of a hierarchy of contracts, sufficient conditions to achieve compositionality are presented.

中文翻译:

异构系统中职责分离的契约条件

提出了一种通用的、组合的和基于组件的契约理论来建模和指定异构系统,其特征是由来自不同领域的部分组成,例如软件、电气和机械。给定一份由假设和担保组成的合同,在保证履行的条件下,对组件及其环境提出了明确分开的条件——在环境满足假设的情况下,分配给组件的责任。该条件适用于无法确保将组件的端口集划分为输入和输出的情况,因此完全支持以因果模型和非因果模型为特征的组件仅依赖于组件的信息进行集成的场景。合同。明确考虑了这种与工业相关的场景的示例,即供应链中组件开发外包的场景。为了促进理论在实践中的应用,还导出了合同的必要属性,以作为条件的健全性检查。此外,基于表示合同层次结构的图,提供了实现组合性的充分条件。
更新日期:2017-09-13
down
wechat
bug